You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by mi...@apache.org on 2016/01/15 18:04:06 UTC

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

Repository: hbase-site
Updated Branches:
  refs/heads/asf-site e78cb9d59 -> 50917b1d7


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html
deleted file mode 100644
index 92dcb34..0000000
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html
+++ /dev/null
@@ -1,650 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
-<title>Source code</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<div class="sourceContainer">
-<pre><span class="sourceLineNo">001</span>/**<a name="line.1"></a>
-<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
-<span class="sourceLineNo">003</span> * or more contributor license agreements.  See the NOTICE file<a name="line.3"></a>
-<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
-<span class="sourceLineNo">005</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.5"></a>
-<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
-<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
-<span class="sourceLineNo">008</span> * with the License.  You may obtain a copy of the License at<a name="line.8"></a>
-<span class="sourceLineNo">009</span> *<a name="line.9"></a>
-<span class="sourceLineNo">010</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
-<span class="sourceLineNo">011</span> *<a name="line.11"></a>
-<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
-<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
-<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
-<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
-<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
-<span class="sourceLineNo">017</span> */<a name="line.17"></a>
-<span class="sourceLineNo">018</span><a name="line.18"></a>
-<span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.master.procedure;<a name="line.19"></a>
-<span class="sourceLineNo">020</span><a name="line.20"></a>
-<span class="sourceLineNo">021</span>import java.io.IOException;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.util.ArrayDeque;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.util.Deque;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.util.concurrent.locks.Condition;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.util.concurrent.locks.ReentrantLock;<a name="line.25"></a>
-<span class="sourceLineNo">026</span><a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.commons.logging.Log;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.commons.logging.LogFactory;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.conf.Configuration;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.ServerName;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.TableName;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.procedure2.Procedure;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.procedure2.ProcedureFairRunQueues;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.procedure2.ProcedureRunnableSet;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.master.TableLockManager;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.master.TableLockManager.TableLock;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.master.procedure.TableProcedureInterface.TableOperationType;<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span>/**<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * ProcedureRunnableSet for the Master Procedures.<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * This RunnableSet tries to provide to the ProcedureExecutor procedures<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * that can be executed without having to wait on a lock.<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * Most of the master operations can be executed concurrently, if they<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * are operating on different tables (e.g. two create table can be performed<a name="line.48"></a>
-<span class="sourceLineNo">049</span> * at the same, time assuming table A and table B) or against two different servers; say<a name="line.49"></a>
-<span class="sourceLineNo">050</span> * two servers that crashed at about the same time.<a name="line.50"></a>
-<span class="sourceLineNo">051</span> *<a name="line.51"></a>
-<span class="sourceLineNo">052</span> * &lt;p&gt;Each procedure should implement an interface providing information for this queue.<a name="line.52"></a>
-<span class="sourceLineNo">053</span> * for example table related procedures should implement TableProcedureInterface.<a name="line.53"></a>
-<span class="sourceLineNo">054</span> * each procedure will be pushed in its own queue, and based on the operation type<a name="line.54"></a>
-<span class="sourceLineNo">055</span> * we may take smarter decision. e.g. we can abort all the operations preceding<a name="line.55"></a>
-<span class="sourceLineNo">056</span> * a delete table, or similar.<a name="line.56"></a>
-<span class="sourceLineNo">057</span> */<a name="line.57"></a>
-<span class="sourceLineNo">058</span>@InterfaceAudience.Private<a name="line.58"></a>
-<span class="sourceLineNo">059</span>@InterfaceStability.Evolving<a name="line.59"></a>
-<span class="sourceLineNo">060</span>public class MasterProcedureQueue implements ProcedureRunnableSet {<a name="line.60"></a>
-<span class="sourceLineNo">061</span>  private static final Log LOG = LogFactory.getLog(MasterProcedureQueue.class);<a name="line.61"></a>
-<span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>  // Two queues to ensure that server procedures run ahead of table precedures always.<a name="line.63"></a>
-<span class="sourceLineNo">064</span>  private final ProcedureFairRunQueues&lt;TableName, RunQueue&gt; tableFairQ;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  /**<a name="line.65"></a>
-<span class="sourceLineNo">066</span>   * Rely on basic fair q. ServerCrashProcedure will yield if meta is not assigned. This way, the<a name="line.66"></a>
-<span class="sourceLineNo">067</span>   * server that was carrying meta should rise to the top of the queue (this is how it used to<a name="line.67"></a>
-<span class="sourceLineNo">068</span>   * work when we had handlers and ServerShutdownHandler ran). TODO: special handling of servers<a name="line.68"></a>
-<span class="sourceLineNo">069</span>   * that were carrying system tables on crash; do I need to have these servers have priority?<a name="line.69"></a>
-<span class="sourceLineNo">070</span>   *<a name="line.70"></a>
-<span class="sourceLineNo">071</span>   * &lt;p&gt;Apart from the special-casing of meta and system tables, fairq is what we want<a name="line.71"></a>
-<span class="sourceLineNo">072</span>   */<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  private final ProcedureFairRunQueues&lt;ServerName, RunQueue&gt; serverFairQ;<a name="line.73"></a>
-<span class="sourceLineNo">074</span><a name="line.74"></a>
-<span class="sourceLineNo">075</span>  private final ReentrantLock lock = new ReentrantLock();<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  private final Condition waitCond = lock.newCondition();<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  private final TableLockManager lockManager;<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>  private final int metaTablePriority;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  private final int userTablePriority;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  private final int sysTablePriority;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>  private static final int DEFAULT_SERVER_PRIORITY = 1;<a name="line.82"></a>
-<span class="sourceLineNo">083</span><a name="line.83"></a>
-<span class="sourceLineNo">084</span>  /**<a name="line.84"></a>
-<span class="sourceLineNo">085</span>   * Keeps count across server and table queues.<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   */<a name="line.86"></a>
-<span class="sourceLineNo">087</span>  private int queueSize;<a name="line.87"></a>
-<span class="sourceLineNo">088</span><a name="line.88"></a>
-<span class="sourceLineNo">089</span>  public MasterProcedureQueue(final Configuration conf, final TableLockManager lockManager) {<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    this.tableFairQ = new ProcedureFairRunQueues&lt;TableName, RunQueue&gt;(1);<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    this.serverFairQ = new ProcedureFairRunQueues&lt;ServerName, RunQueue&gt;(1);<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    this.lockManager = lockManager;<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>    // TODO: should this be part of the HTD?<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    metaTablePriority = conf.getInt("hbase.master.procedure.queue.meta.table.priority", 3);<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    sysTablePriority = conf.getInt("hbase.master.procedure.queue.system.table.priority", 2);<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    userTablePriority = conf.getInt("hbase.master.procedure.queue.user.table.priority", 1);<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  }<a name="line.98"></a>
-<span class="sourceLineNo">099</span><a name="line.99"></a>
-<span class="sourceLineNo">100</span>  @Override<a name="line.100"></a>
-<span class="sourceLineNo">101</span>  public void addFront(final Procedure proc) {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    lock.lock();<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    try {<a name="line.103"></a>
-<span class="sourceLineNo">104</span>      getRunQueueOrCreate(proc).addFront(proc);<a name="line.104"></a>
-<span class="sourceLineNo">105</span>      queueSize++;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      waitCond.signal();<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    } finally {<a name="line.107"></a>
-<span class="sourceLineNo">108</span>      lock.unlock();<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    }<a name="line.109"></a>
-<span class="sourceLineNo">110</span>  }<a name="line.110"></a>
-<span class="sourceLineNo">111</span><a name="line.111"></a>
-<span class="sourceLineNo">112</span>  @Override<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  public void addBack(final Procedure proc) {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    lock.lock();<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    try {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      getRunQueueOrCreate(proc).addBack(proc);<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      queueSize++;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      waitCond.signal();<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    } finally {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      lock.unlock();<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>  }<a name="line.122"></a>
-<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span>  @Override<a name="line.124"></a>
-<span class="sourceLineNo">125</span>  public void yield(final Procedure proc) {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    addBack(proc);<a name="line.126"></a>
-<span class="sourceLineNo">127</span>  }<a name="line.127"></a>
-<span class="sourceLineNo">128</span><a name="line.128"></a>
-<span class="sourceLineNo">129</span>  @Override<a name="line.129"></a>
-<span class="sourceLineNo">130</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings("WA_AWAIT_NOT_IN_LOOP")<a name="line.130"></a>
-<span class="sourceLineNo">131</span>  public Long poll() {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    Long pollResult = null;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    lock.lock();<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    try {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      if (queueSize == 0) {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>        waitCond.await();<a name="line.136"></a>
-<span class="sourceLineNo">137</span>        if (queueSize == 0) {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>          return null;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>        }<a name="line.139"></a>
-<span class="sourceLineNo">140</span>      }<a name="line.140"></a>
-<span class="sourceLineNo">141</span>      // For now, let server handling have precedence over table handling; presumption is that it<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      // is more important handling crashed servers than it is running the<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      // enabling/disabling tables, etc.<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      pollResult = doPoll(serverFairQ.poll());<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      if (pollResult == null) {<a name="line.145"></a>
-<span class="sourceLineNo">146</span>        pollResult = doPoll(tableFairQ.poll());<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      }<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    } catch (InterruptedException e) {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      Thread.currentThread().interrupt();<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    } finally {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      lock.unlock();<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    }<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    return pollResult;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  }<a name="line.154"></a>
-<span class="sourceLineNo">155</span><a name="line.155"></a>
-<span class="sourceLineNo">156</span>  private Long doPoll(final RunQueue rq) {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    if (rq == null || !rq.isAvailable()) return null;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    this.queueSize--;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    return rq.poll();<a name="line.159"></a>
-<span class="sourceLineNo">160</span>  }<a name="line.160"></a>
-<span class="sourceLineNo">161</span><a name="line.161"></a>
-<span class="sourceLineNo">162</span>  @Override<a name="line.162"></a>
-<span class="sourceLineNo">163</span>  public void signalAll() {<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    lock.lock();<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    try {<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      waitCond.signalAll();<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    } finally {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>      lock.unlock();<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    }<a name="line.169"></a>
-<span class="sourceLineNo">170</span>  }<a name="line.170"></a>
-<span class="sourceLineNo">171</span><a name="line.171"></a>
-<span class="sourceLineNo">172</span>  @Override<a name="line.172"></a>
-<span class="sourceLineNo">173</span>  public void clear() {<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    lock.lock();<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    try {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      serverFairQ.clear();<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      tableFairQ.clear();<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      queueSize = 0;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    } finally {<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      lock.unlock();<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><a name="line.183"></a>
-<span class="sourceLineNo">184</span>  @Override<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  public int size() {<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    lock.lock();<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    try {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      return queueSize;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    } finally {<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      lock.unlock();<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>  @Override<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  public String toString() {<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    lock.lock();<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    try {<a name="line.197"></a>
-<span class="sourceLineNo">198</span>      return "MasterProcedureQueue size=" + queueSize + ": tableFairQ: " + tableFairQ +<a name="line.198"></a>
-<span class="sourceLineNo">199</span>        ", serverFairQ: " + serverFairQ;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    } finally {<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      lock.unlock();<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    }<a name="line.202"></a>
-<span class="sourceLineNo">203</span>  }<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>  @Override<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  public void completionCleanup(Procedure proc) {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    if (proc instanceof TableProcedureInterface) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span>      TableProcedureInterface iProcTable = (TableProcedureInterface)proc;<a name="line.208"></a>
-<span class="sourceLineNo">209</span>      boolean tableDeleted;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      if (proc.hasException()) {<a name="line.210"></a>
-<span class="sourceLineNo">211</span>        IOException procEx =  proc.getException().unwrapRemoteException();<a name="line.211"></a>
-<span class="sourceLineNo">212</span>        if (iProcTable.getTableOperationType() == TableOperationType.CREATE) {<a name="line.212"></a>
-<span class="sourceLineNo">213</span>          // create failed because the table already exist<a name="line.213"></a>
-<span class="sourceLineNo">214</span>          tableDeleted = !(procEx instanceof TableExistsException);<a name="line.214"></a>
-<span class="sourceLineNo">215</span>        } else {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>          // the operation failed because the table does not exist<a name="line.216"></a>
-<span class="sourceLineNo">217</span>          tableDeleted = (procEx instanceof TableNotFoundException);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>        }<a name="line.218"></a>
-<span class="sourceLineNo">219</span>      } else {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>        // the table was deleted<a name="line.220"></a>
-<span class="sourceLineNo">221</span>        tableDeleted = (iProcTable.getTableOperationType() == TableOperationType.DELETE);<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      }<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      if (tableDeleted) {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>        markTableAsDeleted(iProcTable.getTableName());<a name="line.224"></a>
-<span class="sourceLineNo">225</span>      }<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    }<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    // No cleanup for ServerProcedureInterface types, yet.<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>  private RunQueue getRunQueueOrCreate(final Procedure proc) {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    if (proc instanceof TableProcedureInterface) {<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      final TableName table = ((TableProcedureInterface)proc).getTableName();<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      return getRunQueueOrCreate(table);<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    if (proc instanceof ServerProcedureInterface) {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      return getRunQueueOrCreate((ServerProcedureInterface)proc);<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    }<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    // TODO: at the moment we only have Table and Server procedures<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    // if you are implementing a non-table/non-server procedure, you have two options: create<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    // a group for all the non-table/non-server procedures or try to find a key for your<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    // non-table/non-server procedures and implement something similar to the TableRunQueue.<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    throw new UnsupportedOperationException("RQs for non-table procedures are not implemented yet");<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  }<a name="line.243"></a>
-<span class="sourceLineNo">244</span><a name="line.244"></a>
-<span class="sourceLineNo">245</span>  private TableRunQueue getRunQueueOrCreate(final TableName table) {<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    final TableRunQueue queue = getRunQueue(table);<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    if (queue != null) return queue;<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    return (TableRunQueue)tableFairQ.add(table, createTableRunQueue(table));<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>  private ServerRunQueue getRunQueueOrCreate(final ServerProcedureInterface spi) {<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    final ServerRunQueue queue = getRunQueue(spi.getServerName());<a name="line.252"></a>
-<span class="sourceLineNo">253</span>    if (queue != null) return queue;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    return (ServerRunQueue)serverFairQ.add(spi.getServerName(), createServerRunQueue(spi));<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>  private TableRunQueue createTableRunQueue(final TableName table) {<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    int priority = userTablePriority;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    if (table.equals(TableName.META_TABLE_NAME)) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      priority = metaTablePriority;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>    } else if (table.isSystemTable()) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      priority = sysTablePriority;<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    }<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    return new TableRunQueue(priority);<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>  private ServerRunQueue createServerRunQueue(final ServerProcedureInterface spi) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    return new ServerRunQueue(DEFAULT_SERVER_PRIORITY);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>  }<a name="line.269"></a>
-<span class="sourceLineNo">270</span><a name="line.270"></a>
-<span class="sourceLineNo">271</span>  private TableRunQueue getRunQueue(final TableName table) {<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    return (TableRunQueue)tableFairQ.get(table);<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  }<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  private ServerRunQueue getRunQueue(final ServerName sn) {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    return (ServerRunQueue)serverFairQ.get(sn);<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  }<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>  /**<a name="line.279"></a>
-<span class="sourceLineNo">280</span>   * Try to acquire the write lock on the specified table.<a name="line.280"></a>
-<span class="sourceLineNo">281</span>   * other operations in the table-queue will be executed after the lock is released.<a name="line.281"></a>
-<span class="sourceLineNo">282</span>   * @param table Table to lock<a name="line.282"></a>
-<span class="sourceLineNo">283</span>   * @param purpose Human readable reason for locking the table<a name="line.283"></a>
-<span class="sourceLineNo">284</span>   * @return true if we were able to acquire the lock on the table, otherwise false.<a name="line.284"></a>
-<span class="sourceLineNo">285</span>   */<a name="line.285"></a>
-<span class="sourceLineNo">286</span>  public boolean tryAcquireTableExclusiveLock(final TableName table, final String purpose) {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    return getRunQueueOrCreate(table).tryExclusiveLock(lockManager, table, purpose);<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>   * Release the write lock taken with tryAcquireTableWrite()<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   * @param table the name of the table that has the write lock<a name="line.292"></a>
-<span class="sourceLineNo">293</span>   */<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  public void releaseTableExclusiveLock(final TableName table) {<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    getRunQueue(table).releaseExclusiveLock(lockManager, table);<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>   * Try to acquire the read lock on the specified table.<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * other read operations in the table-queue may be executed concurrently,<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   * otherwise they have to wait until all the read-locks are released.<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   * @param table Table to lock<a name="line.302"></a>
-<span class="sourceLineNo">303</span>   * @param purpose Human readable reason for locking the table<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   * @return true if we were able to acquire the lock on the table, otherwise false.<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   */<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  public boolean tryAcquireTableSharedLock(final TableName table, final String purpose) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    return getRunQueueOrCreate(table).trySharedLock(lockManager, table, purpose);<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  }<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>  /**<a name="line.310"></a>
-<span class="sourceLineNo">311</span>   * Release the read lock taken with tryAcquireTableRead()<a name="line.311"></a>
-<span class="sourceLineNo">312</span>   * @param table the name of the table that has the read lock<a name="line.312"></a>
-<span class="sourceLineNo">313</span>   */<a name="line.313"></a>
-<span class="sourceLineNo">314</span>  public void releaseTableSharedLock(final TableName table) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    getRunQueue(table).releaseSharedLock(lockManager, table);<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  }<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>  /**<a name="line.318"></a>
-<span class="sourceLineNo">319</span>   * Try to acquire the write lock on the specified server.<a name="line.319"></a>
-<span class="sourceLineNo">320</span>   * @see #releaseServerExclusiveLock(ServerProcedureInterface)<a name="line.320"></a>
-<span class="sourceLineNo">321</span>   * @param spi Server to lock<a name="line.321"></a>
-<span class="sourceLineNo">322</span>   * @return true if we were able to acquire the lock on the server, otherwise false.<a name="line.322"></a>
-<span class="sourceLineNo">323</span>   */<a name="line.323"></a>
-<span class="sourceLineNo">324</span>  public boolean tryAcquireServerExclusiveLock(final ServerProcedureInterface spi) {<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    return getRunQueueOrCreate(spi).tryExclusiveLock();<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>   * Release the write lock<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * @see #tryAcquireServerExclusiveLock(ServerProcedureInterface)<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   * @param spi the server that has the write lock<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   */<a name="line.332"></a>
-<span class="sourceLineNo">333</span>  public void releaseServerExclusiveLock(final ServerProcedureInterface spi) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    getRunQueue(spi.getServerName()).releaseExclusiveLock();<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>   * Try to acquire the read lock on the specified server.<a name="line.338"></a>
-<span class="sourceLineNo">339</span>   * @see #releaseServerSharedLock(ServerProcedureInterface)<a name="line.339"></a>
-<span class="sourceLineNo">340</span>   * @param spi Server to lock<a name="line.340"></a>
-<span class="sourceLineNo">341</span>   * @return true if we were able to acquire the lock on the server, otherwise false.<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   */<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  public boolean tryAcquireServerSharedLock(final ServerProcedureInterface spi) {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    return getRunQueueOrCreate(spi).trySharedLock();<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>   * Release the read lock taken<a name="line.348"></a>
-<span class="sourceLineNo">349</span>   * @see #tryAcquireServerSharedLock(ServerProcedureInterface)<a name="line.349"></a>
-<span class="sourceLineNo">350</span>   * @param spi the server that has the read lock<a name="line.350"></a>
-<span class="sourceLineNo">351</span>   */<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  public void releaseServerSharedLock(final ServerProcedureInterface spi) {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    getRunQueue(spi.getServerName()).releaseSharedLock();<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>   * Tries to remove the queue and the table-lock of the specified table.<a name="line.357"></a>
-<span class="sourceLineNo">358</span>   * If there are new operations pending (e.g. a new create),<a name="line.358"></a>
-<span class="sourceLineNo">359</span>   * the remove will not be performed.<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * @param table the name of the table that should be marked as deleted<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   * @return true if deletion succeeded, false otherwise meaning that there are<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   *    other new operations pending for that table (e.g. a new create).<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   */<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  protected boolean markTableAsDeleted(final TableName table) {<a name="line.364"></a>
-<span class="sourceLineNo">365</span>    TableRunQueue queue = getRunQueue(table);<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    if (queue != null) {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      lock.lock();<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      try {<a name="line.368"></a>
-<span class="sourceLineNo">369</span>        if (queue.isEmpty() &amp;&amp; queue.acquireDeleteLock()) {<a name="line.369"></a>
-<span class="sourceLineNo">370</span>          tableFairQ.remove(table);<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span>          // Remove the table lock<a name="line.372"></a>
-<span class="sourceLineNo">373</span>          try {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>            lockManager.tableDeleted(table);<a name="line.374"></a>
-<span class="sourceLineNo">375</span>          } catch (IOException e) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>            LOG.warn("Received exception from TableLockManager.tableDeleted:", e); //not critical<a name="line.376"></a>
-<span class="sourceLineNo">377</span>          }<a name="line.377"></a>
-<span class="sourceLineNo">378</span>        } else {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>          // TODO: If there are no create, we can drop all the other ops<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          return false;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>        }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      } finally {<a name="line.382"></a>
-<span class="sourceLineNo">383</span>        lock.unlock();<a name="line.383"></a>
-<span class="sourceLineNo">384</span>      }<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    }<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    return true;<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>  private interface RunQueue extends ProcedureFairRunQueues.FairObject {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    void addFront(Procedure proc);<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    void addBack(Procedure proc);<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    Long poll();<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    boolean acquireDeleteLock();<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>   * Base abstract class for RunQueue implementations.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   * Be careful honoring synchronizations in subclasses. In here we protect access but if you are<a name="line.398"></a>
-<span class="sourceLineNo">399</span>   * acting on a state found in here, be sure dependent code keeps synchronization.<a name="line.399"></a>
-<span class="sourceLineNo">400</span>   * Implements basic in-memory read/write locking mechanism to prevent procedure steps being run<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   * in parallel.<a name="line.401"></a>
-<span class="sourceLineNo">402</span>   */<a name="line.402"></a>
-<span class="sourceLineNo">403</span>  private static abstract class AbstractRunQueue implements RunQueue {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    // All modification of runnables happens with #lock held.<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    private final Deque&lt;Long&gt; runnables = new ArrayDeque&lt;Long&gt;();<a name="line.405"></a>
-<span class="sourceLineNo">406</span>    private final int priority;<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    private boolean exclusiveLock = false;<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    private int sharedLock = 0;<a name="line.408"></a>
-<span class="sourceLineNo">409</span><a name="line.409"></a>
-<span class="sourceLineNo">410</span>    public AbstractRunQueue(int priority) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      this.priority = priority;<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>    boolean isEmpty() {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      return this.runnables.isEmpty();<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    }<a name="line.416"></a>
-<span class="sourceLineNo">417</span><a name="line.417"></a>
-<span class="sourceLineNo">418</span>    @Override<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    public boolean isAvailable() {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      synchronized (this) {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>        return !exclusiveLock &amp;&amp; !runnables.isEmpty();<a name="line.421"></a>
-<span class="sourceLineNo">422</span>      }<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    }<a name="line.423"></a>
-<span class="sourceLineNo">424</span><a name="line.424"></a>
-<span class="sourceLineNo">425</span>    @Override<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    public int getPriority() {<a name="line.426"></a>
-<span class="sourceLineNo">427</span>      return this.priority;<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>    @Override<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    public void addFront(Procedure proc) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>      this.runnables.addFirst(proc.getProcId());<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>    @Override<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    public void addBack(Procedure proc) {<a name="line.436"></a>
-<span class="sourceLineNo">437</span>      this.runnables.addLast(proc.getProcId());<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>    @Override<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    public Long poll() {<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      return this.runnables.poll();<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>    @Override<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    public synchronized boolean acquireDeleteLock() {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>      return tryExclusiveLock();<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 synchronized boolean isLocked() {<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      return isExclusiveLock() || sharedLock &gt; 0;<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 synchronized boolean isExclusiveLock() {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      return this.exclusiveLock;<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 synchronized boolean trySharedLock() {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>      if (isExclusiveLock()) return false;<a name="line.459"></a>
-<span class="sourceLineNo">460</span>      sharedLock++;<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      return true;<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    }<a name="line.462"></a>
-<span class="sourceLineNo">463</span><a name="line.463"></a>
-<span class="sourceLineNo">464</span>    public synchronized void releaseSharedLock() {<a name="line.464"></a>
-<span class="sourceLineNo">465</span>      sharedLock--;<a name="line.465"></a>
-<span class="sourceLineNo">466</span>    }<a name="line.466"></a>
-<span class="sourceLineNo">467</span><a name="line.467"></a>
-<span class="sourceLineNo">468</span>    /**<a name="line.468"></a>
-<span class="sourceLineNo">469</span>     * @return True if only one instance of a shared lock outstanding.<a name="line.469"></a>
-<span class="sourceLineNo">470</span>     */<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    synchronized boolean isSingleSharedLock() {<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      return sharedLock == 1;<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    }<a name="line.473"></a>
-<span class="sourceLineNo">474</span><a name="line.474"></a>
-<span class="sourceLineNo">475</span>    public synchronized boolean tryExclusiveLock() {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      if (isLocked()) return false;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      exclusiveLock = true;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      return true;<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 synchronized void releaseExclusiveLock() {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>      exclusiveLock = false;<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    }<a name="line.483"></a>
-<span class="sourceLineNo">484</span><a name="line.484"></a>
-<span class="sourceLineNo">485</span>    @Override<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    public String toString() {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      return this.runnables.toString();<a name="line.487"></a>
-<span class="sourceLineNo">488</span>    }<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  }<a name="line.489"></a>
-<span class="sourceLineNo">490</span><a name="line.490"></a>
-<span class="sourceLineNo">491</span>  /**<a name="line.491"></a>
-<span class="sourceLineNo">492</span>   * Run Queue for Server procedures.<a name="line.492"></a>
-<span class="sourceLineNo">493</span>   */<a name="line.493"></a>
-<span class="sourceLineNo">494</span>  private static class ServerRunQueue extends AbstractRunQueue {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    public ServerRunQueue(int priority) {<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      super(priority);<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><a name="line.499"></a>
-<span class="sourceLineNo">500</span>  /**<a name="line.500"></a>
-<span class="sourceLineNo">501</span>   * Run Queue for a Table. It contains a read-write lock that is used by the<a name="line.501"></a>
-<span class="sourceLineNo">502</span>   * MasterProcedureQueue to decide if we should fetch an item from this queue<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * or skip to another one which will be able to run without waiting for locks.<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   */<a name="line.504"></a>
-<span class="sourceLineNo">505</span>  private static class TableRunQueue extends AbstractRunQueue {<a name="line.505"></a>
-<span class="sourceLineNo">506</span>    private TableLock tableLock = null;<a name="line.506"></a>
-<span class="sourceLineNo">507</span><a name="line.507"></a>
-<span class="sourceLineNo">508</span>    public TableRunQueue(int priority) {<a name="line.508"></a>
-<span class="sourceLineNo">509</span>      super(priority);<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    }<a name="line.510"></a>
-<span class="sourceLineNo">511</span><a name="line.511"></a>
-<span class="sourceLineNo">512</span>    // TODO: Improve run-queue push with TableProcedureInterface.getType()<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    //       we can take smart decisions based on the type of the operation (e.g. create/delete)<a name="line.513"></a>
-<span class="sourceLineNo">514</span>    @Override<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    public void addBack(final Procedure proc) {<a name="line.515"></a>
-<span class="sourceLineNo">516</span>      super.addBack(proc);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    }<a name="line.517"></a>
-<span class="sourceLineNo">518</span><a name="line.518"></a>
-<span class="sourceLineNo">519</span>    public synchronized boolean trySharedLock(final TableLockManager lockManager,<a name="line.519"></a>
-<span class="sourceLineNo">520</span>        final TableName tableName, final String purpose) {<a name="line.520"></a>
-<span class="sourceLineNo">521</span>      if (isExclusiveLock()) return false;<a name="line.521"></a>
-<span class="sourceLineNo">522</span><a name="line.522"></a>
-<span class="sourceLineNo">523</span>      // Take zk-read-lock<a name="line.523"></a>
-<span class="sourceLineNo">524</span>      tableLock = lockManager.readLock(tableName, purpose);<a name="line.524"></a>
-<span class="sourceLineNo">525</span>      try {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>        tableLock.acquire();<a name="line.526"></a>
-<span class="sourceLineNo">527</span>      } catch (IOException e) {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>        LOG.error("failed acquire read lock on " + tableName, e);<a name="line.528"></a>
-<span class="sourceLineNo">529</span>        tableLock = null;<a name="line.529"></a>
-<span class="sourceLineNo">530</span>        return false;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>      }<a name="line.531"></a>
-<span class="sourceLineNo">532</span>      trySharedLock();<a name="line.532"></a>
-<span class="sourceLineNo">533</span>      return true;<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 synchronized void releaseSharedLock(final TableLockManager lockManager,<a name="line.536"></a>
-<span class="sourceLineNo">537</span>        final TableName tableName) {<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      releaseTableLock(lockManager, isSingleSharedLock());<a name="line.538"></a>
-<span class="sourceLineNo">539</span>      releaseSharedLock();<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>    public synchronized boolean tryExclusiveLock(final TableLockManager lockManager,<a name="line.542"></a>
-<span class="sourceLineNo">543</span>        final TableName tableName, final String purpose) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      if (isLocked()) return false;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      // Take zk-write-lock<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      tableLock = lockManager.writeLock(tableName, purpose);<a name="line.546"></a>
-<span class="sourceLineNo">547</span>      try {<a name="line.547"></a>
-<span class="sourceLineNo">548</span>        tableLock.acquire();<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      } catch (IOException e) {<a name="line.549"></a>
-<span class="sourceLineNo">550</span>        LOG.error("failed acquire write lock on " + tableName, e);<a name="line.550"></a>
-<span class="sourceLineNo">551</span>        tableLock = null;<a name="line.551"></a>
-<span class="sourceLineNo">552</span>        return false;<a name="line.552"></a>
-<span class="sourceLineNo">553</span>      }<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      tryExclusiveLock();<a name="line.554"></a>
-<span class="sourceLineNo">555</span>      return true;<a name="line.555"></a>
-<span class="sourceLineNo">556</span>    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span><a name="line.557"></a>
-<span class="sourceLineNo">558</span>    public synchronized void releaseExclusiveLock(final TableLockManager lockManager,<a name="line.558"></a>
-<span class="sourceLineNo">559</span>        final TableName tableName) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      releaseTableLock(lockManager, true);<a name="line.560"></a>
-<span class="sourceLineNo">561</span>      releaseExclusiveLock();<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>    private void releaseTableLock(final TableLockManager lockManager, boolean reset) {<a name="line.564"></a>
-<span class="sourceLineNo">565</span>      for (int i = 0; i &lt; 3; ++i) {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>        try {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>          tableLock.release();<a name="line.567"></a>
-<span class="sourceLineNo">568</span>          if (reset) {<a name="line.568"></a>
-<span class="sourceLineNo">569</span>            tableLock = null;<a name="line.569"></a>
-<span class="sourceLineNo">570</span>          }<a name="line.570"></a>
-<span class="sourceLineNo">571</span>          break;<a name="line.571"></a>
-<span class="sourceLineNo">572</span>        } catch (IOException e) {<a name="line.572"></a>
-<span class="sourceLineNo">573</span>          LOG.warn("Could not release the table write-lock", e);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>        }<a name="line.574"></a>
-<span class="sourceLineNo">575</span>      }<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    }<a name="line.576"></a>
-<span class="sourceLineNo">577</span>  }<a name="line.577"></a>
-<span class="sourceLineNo">578</span>}<a name="line.578"></a>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</pre>
-</div>
-</body>
-</html>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html
deleted file mode 100644
index 4c6d6c7..0000000
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html
+++ /dev/null
@@ -1,400 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>MasterProcedureQueue.TableRunQueue (Apache HBase 2.0.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="MasterProcedureQueue.TableRunQueue (Apache HBase 2.0.0-SNAPSHOT API)";
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar_top">
-<!--   -->
-</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/MasterProcedureQueue.TableRunQueue.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureUtil.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" target="_top">Frames</a></li>
-<li><a href="MasterProcedureQueue.TableRunQueue.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method_summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method_detail">Method</a></li>
-</ul>
-</div>
-<a name="skip-navbar_top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.hadoop.hbase.master.procedure</div>
-<h2 title="Class MasterProcedureQueue.TableRunQueue" class="title">Class MasterProcedureQueue.TableRunQueue</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue.AbstractRunQueue</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue.TableRunQueue</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues.FairObject</a></dd>
-</dl>
-<dl>
-<dt>Enclosing class:</dt>
-<dd><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a></dd>
-</dl>
-<hr>
-<br>
-<pre>private static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.505">MasterProcedureQueue.TableRunQueue</a>
-extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.AbstractRunQueue</a></pre>
-<div class="block">Run Queue for a Table. It contains a read-write lock that is used by the
- MasterProcedureQueue to decide if we should fetch an item from this queue
- or skip to another one which will be able to run without waiting for locks.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field_summary">
-<!--   -->
-</a>
-<h3>Field Summary</h3>
-<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
-<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Field and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.TableLock.html" title="interface in org.apache.hadoop.hbase.master">TableLockManager.TableLock</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html#tableLock">tableLock</a></strong></code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor_summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html#MasterProcedureQueue.TableRunQueue(int)">MasterProcedureQueue.TableRunQueue</a></strong>(int&nbsp;priority)</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method_summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html#addBack(org.apache.hadoop.hbase.procedure2.Procedure)">addBack</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html#releaseExclusiveLock(org.apache.hadoop.hbase.master.TableLockManager,%20org.apache.hadoop.hbase.TableName)">releaseExclusiveLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager,
-                                        <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html#releaseSharedLock(org.apache.hadoop.hbase.master.TableLockManager,%20org.apache.hadoop.hbase.TableName)">releaseSharedLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager,
-                                  <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html#releaseTableLock(org.apache.hadoop.hbase.master.TableLockManager,%20boolean)">releaseTableLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager,
-                                boolean&nbsp;reset)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html#tryExclusiveLock(org.apache.hadoop.hbase.master.TableLockManager,%20org.apache.hadoop.hbase.TableName,%20java.lang.String)">tryExclusiveLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager,
-                                <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-                                <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;purpose)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html#trySharedLock(org.apache.hadoop.hbase.master.TableLockManager,%20org.apache.hadoop.hbase.TableName,%20java.lang.String)">trySharedLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager,
-                          <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-                          <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;purpose)</code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue.AbstractRunQueue">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.AbstractRunQueue</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#acquireDeleteLock()">acquireDeleteLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#addFront(org.apache.hadoop.hbase.procedure2.Procedure)">addFront</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#getPriority()">getPriority</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#isAvailable()">isAvailable</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#isEmpty()">isEmpty</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#isExclusiveLock()">isExclusiveLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedure
 Queue.AbstractRunQueue.html#isLocked()">isLocked</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#isSingleSharedLock()">isSingleSharedLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#poll()">poll</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#releaseExclusiveLock()">releaseExclusiveLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#releaseSharedLock()">releaseSharedLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#toString()">toString</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#tryExclusiveLock()">tryExclusiveLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/
 master/procedure/MasterProcedureQueue.AbstractRunQueue.html#trySharedLock()">trySharedLock</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang
 /Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ FIELD DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field_detail">
-<!--   -->
-</a>
-<h3>Field Detail</h3>
-<a name="tableLock">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>tableLock</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.TableLock.html" title="interface in org.apache.hadoop.hbase.master">TableLockManager.TableLock</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html#line.506">tableLock</a></pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor_detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="MasterProcedureQueue.TableRunQueue(int)">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>MasterProcedureQueue.TableRunQueue</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html#line.508">MasterProcedureQueue.TableRunQueue</a>(int&nbsp;priority)</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method_detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="addBack(org.apache.hadoop.hbase.procedure2.Procedure)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>addBack</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html#line.515">addBack</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
-<dl>
-<dt><strong>Specified by:</strong></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html#addBack(org.apache.hadoop.hbase.procedure2.Procedure)">addBack</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a></code></dd>
-<dt><strong>Overrides:</strong></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#addBack(org.apache.hadoop.hbase.procedure2.Procedure)">addBack</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.AbstractRunQueue</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="trySharedLock(org.apache.hadoop.hbase.master.TableLockManager, org.apache.hadoop.hbase.TableName, java.lang.String)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>trySharedLock</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html#line.519">trySharedLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager,
-                    <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-                    <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;purpose)</pre>
-</li>
-</ul>
-<a name="releaseSharedLock(org.apache.hadoop.hbase.master.TableLockManager, org.apache.hadoop.hbase.TableName)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>releaseSharedLock</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html#line.536">releaseSharedLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager,
-                     <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
-</li>
-</ul>
-<a name="tryExclusiveLock(org.apache.hadoop.hbase.master.TableLockManager, org.apache.hadoop.hbase.TableName, java.lang.String)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>tryExclusiveLock</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html#line.542">tryExclusiveLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager,
-                       <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-                       <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;purpose)</pre>
-</li>
-</ul>
-<a name="releaseExclusiveLock(org.apache.hadoop.hbase.master.TableLockManager, org.apache.hadoop.hbase.TableName)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>releaseExclusiveLock</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html#line.558">releaseExclusiveLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager,
-                        <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
-</li>
-</ul>
-<a name="releaseTableLock(org.apache.hadoop.hbase.master.TableLockManager, boolean)">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>releaseTableLock</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html#line.564">releaseTableLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager,
-                    boolean&nbsp;reset)</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar_bottom">
-<!--   -->
-</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/MasterProcedureQueue.TableRunQueue.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureUtil.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" target="_top">Frames</a></li>
-<li><a href="MasterProcedureQueue.TableRunQueue.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method_summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method_detail">Method</a></li>
-</ul>
-</div>
-<a name="skip-navbar_bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/HMasterCommandLine.LocalHMaster.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/HMasterCommandLine.LocalHMaster.html b/devapidocs/org/apache/hadoop/hbase/master/HMasterCommandLine.LocalHMaster.html
index 115ab0e..1822edc 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/HMasterCommandLine.LocalHMaster.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/HMasterCommandLine.LocalHMaster.html
@@ -177,7 +177,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" tit
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#assignmentManager">assignmentManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#balancer">balancer</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#catalogJanitorChore">catalogJanitorChore</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#coprocessorServiceHandlers">coprocessorServiceHandlers</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#cpHost">cpHost</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#initialized">initialized</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#loadBalancerTracker">loadBalancerTracker</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#MASTER">MASTER</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#metricsMaster">metricsMaster</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HM
 aster.html#mpmHost">mpmHost</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#regionServerTracker">regionServerTracker</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#rsFatals">rsFatals</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#serverManager">serverManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#serviceStarted">serviceStarted</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#snapshotManager">snapshotManager</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#assignmentManager">assignmentManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#balancer">balancer</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#catalogJanitorChore">catalogJanitorChore</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#coprocessorServiceHandlers">coprocessorServiceHandlers</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#cpHost">cpHost</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#loadBalancerTracker">loadBalancerTracker</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#MASTER">MASTER</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#metricsMaster">metricsMaster</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#mpmHost">mpmHost</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.ht
 ml#regionServerTracker">regionServerTracker</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#rsFatals">rsFatals</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#serverManager">serverManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#serviceStarted">serviceStarted</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#snapshotManager">snapshotManager</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="fields_inherited_from_class_org.apache.hadoop.hbase.regionserver.HRegionServer">
@@ -234,7 +234,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" tit
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#abort(java.lang.String,%20java.lang.Throwable)">abort</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#abortProcedure(long,%20boolean)">abortProcedure</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#addColumn(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor,%20long,%20long)">addColumn</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#assignMeta(org.apache.hadoop.hbase.monitoring.MonitoredTask,%20java.util.Set,%20int)">assignMeta</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#assignRegion(org.apache.hadoop.hbase.HRegionInfo)">assignRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#balance()">balance</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#balance(boolean)">balance</a>, <a href="../../../../../org/apache/hadoop/hbase/master/
 HMaster.html#balanceSwitch(boolean)">balanceSwitch</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#canCreateBaseZNode()">canCreateBaseZNode</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#canUpdateTableDescriptor()">canUpdateTableDescriptor</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#checkInitialized()">checkInitialized</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#checkServiceStarted()">checkServiceStarted</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#checkTableModifiable(org.apache.hadoop.hbase.TableName)">checkTableModifiable</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#configureInfoServer()">configureInfoServer</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#constructMaster(java.lang.Class,%20org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.hbase.CoordinatedStateManager)">constructMaster
 </a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#createNamespace(org.apache.hadoop.hbase.NamespaceDescriptor,%20long,%20long)">createNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#createRpcServices()">createRpcServices</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#createServerManager(org.apache.hadoop.hbase.Server,%20org.apache.hadoop.hbase.master.MasterServices)">createServerManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#createTable(org.apache.hadoop.hbase.HTableDescriptor,%20byte[][],%20long,%20long)">createTable</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#deleteColumn(org.apache.hadoop.hbase.TableName,%20byte[],%20long,%20long)">deleteColumn</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#deleteNamespace(java.lang.String,%20long,%20long)">deleteNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/
 master/HMaster.html#deleteTable(org.apache.hadoop.hbase.TableName,%20long,%20long)">deleteTable</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#disableTable(org.apache.hadoop.hbase.TableName,%20long,%20long)">disableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#dispatchMergingRegions(org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.HRegionInfo,%20boolean)">dispatchMergingRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#doMetrics()">doMetrics</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#enableTable(org.apache.hadoop.hbase.TableName,%20long,%20long)">enableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getAssignmentManager()">getAssignmentManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getAverageLoad()">getAverageLoad</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#g
 etClientIdAuditPrefix()">getClientIdAuditPrefix</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getClusterSchema()">getClusterSchema</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getClusterStatus()">getClusterStatus</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getDumpServlet()">getDumpServlet</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getFsTableDescriptors()">getFsTableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getHFileCleaner()">getHFileCleaner</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getLastMajorCompactionTimestamp(org.apache.hadoop.hbase.TableName)">getLastMajorCompactionTimestamp</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getLastMajorCompactionTimestampForRegion(byte[])">getLastMajorCompactionTimestampForRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/maste
 r/HMaster.html#getLoadBalancerClassName()">getLoadBalancerClassName</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getLoadedCoprocessors()">getLoadedCoprocessors</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterActiveTime()">getMasterActiveTime</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterCoprocessorHost()">getMasterCoprocessorHost</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterCoprocessors()">getMasterCoprocessors</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterFileSystem()">getMasterFileSystem</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterMetrics()">getMasterMetrics</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterProcedureExecutor()">getMasterProcedureExecutor</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterQuotaMana
 ger()">getMasterQuotaManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterRpcServices()">getMasterRpcServices</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterStartTime()">getMasterStartTime</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMergePlanCount()">getMergePlanCount</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMobCompactionState(org.apache.hadoop.hbase.TableName)">getMobCompactionState</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getNamespace(java.lang.String)">getNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getNamespaces()">getNamespaces</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getNumWALFiles()">getNumWALFiles</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getProcessName()">getProcessName</a>, <a href="../../../../../org/apac
 he/hadoop/hbase/master/HMaster.html#getRegionNormalizer()">getRegionNormalizer</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRegionNormalizerTracker()">getRegionNormalizerTracker</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRegionServerFatalLogBuffer()">getRegionServerFatalLogBuffer</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRegionServerInfoPort(org.apache.hadoop.hbase.ServerName)">getRegionServerInfoPort</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRegionServerVersion(org.apache.hadoop.hbase.ServerName)">getRegionServerVersion</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRemoteInetAddress(int,%20long)">getRemoteInetAddress</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getServerManager()">getServerManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getServerName()">getServer
 Name</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getSnapshotManagerForTesting()">getSnapshotManagerForTesting</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getSplitPlanCount()">getSplitPlanCount</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getTableDescriptors()">getTableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getTableRegionForRow(org.apache.hadoop.hbase.TableName,%20byte[])">getTableRegionForRow</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getTableStateManager()">getTableStateManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getZooKeeper()">getZooKeeper</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#initClusterSchemaService()">initClusterSchemaService</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#initializeZKBasedSystemTrackers()">initializeZKBas
 edSystemTrackers</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#initQuotaManager()">initQuotaManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isActiveMaster()">isActiveMaster</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isBalancerOn()">isBalancerOn</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isCatalogJanitorEnabled()">isCatalogJanitorEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isInitializationStartsMetaRegionAssignment()">isInitializationStartsMetaRegionAssignment</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isInitialized()">isInitialized</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isNormalizerOn()">isNormalizerOn</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isServerCrashProcessingEnabled()">isServerCrashProcessingEnabled</a>, <a href="../../../../..
 /org/apache/hadoop/hbase/master/HMaster.html#listProcedures()">listProcedures</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#listTableDescriptors(java.lang.String,%20java.lang.String,%20java.util.List,%20boolean)">listTableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#listTableDescriptorsByNamespace(java.lang.String)">listTableDescriptorsByNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#listTableNames(java.lang.String,%20java.lang.String,%20boolean)">listTableNames</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#listTableNamesByNamespace(java.lang.String)">listTableNamesByNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#login(org.apache.hadoop.hbase.security.UserProvider,%20java.lang.String)">login</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#main(java.lang.String[])">main</a>, <a href="../../../../
 ../org/apache/hadoop/hbase/master/HMaster.html#modifyColumn(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor,%20long,%20long)">modifyColumn</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#modifyNamespace(org.apache.hadoop.hbase.NamespaceDescriptor,%20long,%20long)">modifyNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#modifyTable(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HTableDescriptor,%20long,%20long)">modifyTable</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#move(byte[],%20byte[])">move</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#normalizeRegions()">normalizeRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#registerService(com.google.protobuf.Service)">registerService</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#reportMobCompactionEnd(org.apache.hadoop.hbase.
 TableName)">reportMobCompactionEnd</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#reportMobCompactionStart(org.apache.hadoop.hbase.TableName)">reportMobCompactionStart</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#requestMobCompaction(org.apache.hadoop.hbase.TableName,%20java.util.List,%20boolean)">requestMobCompaction</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#sendShutdownInterrupt()">sendShutdownInterrupt</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#setCatalogJanitorEnabled(boolean)">setCatalogJanitorEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#setServerCrashProcessingEnabled(boolean)">setServerCrashProcessingEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#shutdown()">shutdown</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#stopMaster()">stopMaster</a>, <a href="../../../../../or
 g/apache/hadoop/hbase/master/HMaster.html#stopServiceThreads()">stopServiceThreads</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#truncateTable(org.apache.hadoop.hbase.TableName,%20boolean,%20long,%20long)">truncateTable</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#waitForMasterActive()">waitForMasterActive</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#abort(java.lang.String,%20java.lang.Throwable)">abort</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#abortProcedure(long,%20boolean)">abortProcedure</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#addColumn(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor,%20long,%20long)">addColumn</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#assignMeta(org.apache.hadoop.hbase.monitoring.MonitoredTask,%20java.util.Set,%20int)">assignMeta</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#assignRegion(org.apache.hadoop.hbase.HRegionInfo)">assignRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#balance()">balance</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#balance(boolean)">balance</a>, <a href="../../../../../org/apache/hadoop/hbase/master/
 HMaster.html#balanceSwitch(boolean)">balanceSwitch</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#canCreateBaseZNode()">canCreateBaseZNode</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#canUpdateTableDescriptor()">canUpdateTableDescriptor</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#checkInitialized()">checkInitialized</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#checkServiceStarted()">checkServiceStarted</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#checkTableModifiable(org.apache.hadoop.hbase.TableName)">checkTableModifiable</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#configureInfoServer()">configureInfoServer</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#constructMaster(java.lang.Class,%20org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.hbase.CoordinatedStateManager)">constructMaster
 </a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#createNamespace(org.apache.hadoop.hbase.NamespaceDescriptor,%20long,%20long)">createNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#createRpcServices()">createRpcServices</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#createServerManager(org.apache.hadoop.hbase.Server,%20org.apache.hadoop.hbase.master.MasterServices)">createServerManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#createTable(org.apache.hadoop.hbase.HTableDescriptor,%20byte[][],%20long,%20long)">createTable</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#deleteColumn(org.apache.hadoop.hbase.TableName,%20byte[],%20long,%20long)">deleteColumn</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#deleteNamespace(java.lang.String,%20long,%20long)">deleteNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/
 master/HMaster.html#deleteTable(org.apache.hadoop.hbase.TableName,%20long,%20long)">deleteTable</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#disableTable(org.apache.hadoop.hbase.TableName,%20long,%20long)">disableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#dispatchMergingRegions(org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.HRegionInfo,%20boolean)">dispatchMergingRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#doMetrics()">doMetrics</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#enableTable(org.apache.hadoop.hbase.TableName,%20long,%20long)">enableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getAssignmentManager()">getAssignmentManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getAverageLoad()">getAverageLoad</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#g
 etClientIdAuditPrefix()">getClientIdAuditPrefix</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getClusterSchema()">getClusterSchema</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getClusterStatus()">getClusterStatus</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getDumpServlet()">getDumpServlet</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getFsTableDescriptors()">getFsTableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getHFileCleaner()">getHFileCleaner</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getInitializedEvent()">getInitializedEvent</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getLastMajorCompactionTimestamp(org.apache.hadoop.hbase.TableName)">getLastMajorCompactionTimestamp</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getLastMajorCompactionTimestampFo
 rRegion(byte[])">getLastMajorCompactionTimestampForRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getLoadBalancerClassName()">getLoadBalancerClassName</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getLoadedCoprocessors()">getLoadedCoprocessors</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterActiveTime()">getMasterActiveTime</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterCoprocessorHost()">getMasterCoprocessorHost</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterCoprocessors()">getMasterCoprocessors</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterFileSystem()">getMasterFileSystem</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterMetrics()">getMasterMetrics</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterProcedureExecutor()">ge
 tMasterProcedureExecutor</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterQuotaManager()">getMasterQuotaManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterRpcServices()">getMasterRpcServices</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterStartTime()">getMasterStartTime</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMergePlanCount()">getMergePlanCount</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMobCompactionState(org.apache.hadoop.hbase.TableName)">getMobCompactionState</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getNamespace(java.lang.String)">getNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getNamespaces()">getNamespaces</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getNumWALFiles()">getNumWALFiles</a>, <a href="../../../../.
 ./org/apache/hadoop/hbase/master/HMaster.html#getProcessName()">getProcessName</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRegionNormalizer()">getRegionNormalizer</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRegionNormalizerTracker()">getRegionNormalizerTracker</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRegionServerFatalLogBuffer()">getRegionServerFatalLogBuffer</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRegionServerInfoPort(org.apache.hadoop.hbase.ServerName)">getRegionServerInfoPort</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRegionServerVersion(org.apache.hadoop.hbase.ServerName)">getRegionServerVersion</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRemoteInetAddress(int,%20long)">getRemoteInetAddress</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getServerCrashProces
 singEnabledEvent()">getServerCrashProcessingEnabledEvent</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getServerManager()">getServerManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getServerName()">getServerName</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getSnapshotManagerForTesting()">getSnapshotManagerForTesting</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getSplitPlanCount()">getSplitPlanCount</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getTableDescriptors()">getTableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getTableRegionForRow(org.apache.hadoop.hbase.TableName,%20byte[])">getTableRegionForRow</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getTableStateManager()">getTableStateManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getZooKeeper
 ()">getZooKeeper</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#initClusterSchemaService()">initClusterSchemaService</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#initializeZKBasedSystemTrackers()">initializeZKBasedSystemTrackers</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#initQuotaManager()">initQuotaManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isActiveMaster()">isActiveMaster</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isBalancerOn()">isBalancerOn</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isCatalogJanitorEnabled()">isCatalogJanitorEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isInitializationStartsMetaRegionAssignment()">isInitializationStartsMetaRegionAssignment</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isInitialized()">isInitialized</a>, <
 a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isNormalizerOn()">isNormalizerOn</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isServerCrashProcessingEnabled()">isServerCrashProcessingEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#listProcedures()">listProcedures</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#listTableDescriptors(java.lang.String,%20java.lang.String,%20java.util.List,%20boolean)">listTableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#listTableDescriptorsByNamespace(java.lang.String)">listTableDescriptorsByNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#listTableNames(java.lang.String,%20java.lang.String,%20boolean)">listTableNames</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#listTableNamesByNamespace(java.lang.String)">listTableNamesByNamespace</a>, <a href="../
 ../../../../org/apache/hadoop/hbase/master/HMaster.html#login(org.apache.hadoop.hbase.security.UserProvider,%20java.lang.String)">login</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#main(java.lang.String[])">main</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#modifyColumn(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor,%20long,%20long)">modifyColumn</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#modifyNamespace(org.apache.hadoop.hbase.NamespaceDescriptor,%20long,%20long)">modifyNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#modifyTable(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HTableDescriptor,%20long,%20long)">modifyTable</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#move(byte[],%20byte[])">move</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#normalizeRegions()">normal
 izeRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#registerService(com.google.protobuf.Service)">registerService</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#reportMobCompactionEnd(org.apache.hadoop.hbase.TableName)">reportMobCompactionEnd</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#reportMobCompactionStart(org.apache.hadoop.hbase.TableName)">reportMobCompactionStart</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#requestMobCompaction(org.apache.hadoop.hbase.TableName,%20java.util.List,%20boolean)">requestMobCompaction</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#sendShutdownInterrupt()">sendShutdownInterrupt</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#setCatalogJanitorEnabled(boolean)">setCatalogJanitorEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#setInitialized(boolean)">setIni
 tialized</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#setServerCrashProcessingEnabled(boolean)">setServerCrashProcessingEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#shutdown()">shutdown</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#stopMaster()">stopMaster</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#stopServiceThreads()">stopServiceThreads</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#truncateTable(org.apache.hadoop.hbase.TableName,%20boolean,%20long,%20long)">truncateTable</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#waitForMasterActive()">waitForMasterActive</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.regionserver.HRegionServer">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/TableNamespaceManager.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/TableNamespaceManager.html b/devapidocs/org/apache/hadoop/hbase/master/TableNamespaceManager.html
index be94f15..9130610 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/TableNamespaceManager.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/TableNamespaceManager.html
@@ -96,12 +96,12 @@
 <hr>
 <br>
 <pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.70">TableNamespaceManager</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.68">TableNamespaceManager</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">This is a helper class used internally to manage the namespace metadata that is stored in
  TableName.NAMESPACE_TABLE_NAME. It also mirrors updates to the ZK store by forwarding updates to
  <a href="../../../../../org/apache/hadoop/hbase/ZKNamespaceManager.html" title="class in org.apache.hadoop.hbase"><code>ZKNamespaceManager</code></a>.
- 
+
  WARNING: Do not use. Go via the higher-level <a href="../../../../../org/apache/hadoop/hbase/master/ClusterSchema.html" title="interface in org.apache.hadoop.hbase.master"><code>ClusterSchema</code></a> API instead. This manager
  is likely to go aways anyways.</div>
 </li>
@@ -131,66 +131,34 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/TableNamespaceManager.html#DEFAULT_NS_INIT_TIMEOUT">DEFAULT_NS_INIT_TIMEOUT</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>private static long</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/TableNamespaceManager.html#DEFAULT_TABLE_READ_LOCK_TIMEOUT_MS">DEFAULT_TABLE_READ_LOCK_TIMEOUT_MS</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private static long</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/TableNamespaceManager.html#DEFAULT_TABLE_WRITE_LOCK_TIMEOUT_MS">DEFAULT_TABLE_WRITE_LOCK_TIMEOUT_MS</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private long</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/TableNamespaceManager.html#exclusiveLockTimeoutMs">exclusiveLockTimeoutMs</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/TableNamespaceManager.html#initialized">initialized</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/TableNamespaceManager.html#KEY_MAX_REGIONS">KEY_MAX_REGIONS</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/TableNamespaceManager.html#KEY_MAX_TABLES">KEY_MAX_TABLES</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static org.apache.commons.logging.Log</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/TableNamespaceManager.html#LOG">LOG</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/TableNamespaceManager.html#masterServices">masterServices</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) static <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/TableNamespaceManager.html#NS_INIT_TIMEOUT">NS_INIT_TIMEOUT</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/TableNamespaceManager.html#nsTable">nsTable</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReentrantReadWriteLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantReadWriteLock</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/TableNamespaceManager.html#rwLock">rwLock</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private long</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/TableNamespaceManager.html#sharedLockTimeoutMs">sharedLockTimeoutMs</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private static <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/TableNamespaceManager.html#TABLE_READ_LOCK_TIMEOUT_MS">TABLE_READ_LOCK_TIMEOUT_MS</a></strong></code>
-<div class="block">Configuration key for time out for trying to acquire table locks</div>
-</td>
-</tr>
 <tr class="rowColor">
-<td class="colFirst"><code>private static <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/TableNamespaceManager.html#TABLE_WRITE_LOCK_TIMEOUT_MS">TABLE_WRITE_LOCK_TIMEOUT_MS</a></strong></code>
-<div class="block">Configuration key for time out for trying to acquire table locks</div>
-</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/ZKNamespaceManager.html" title="class in org.apache.hadoop.hbase">ZKNamespaceManager</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/TableNamespaceManager.html#zkNamespaceManager">zkNamespaceManager</a></strong></code>&nbsp;</td>
 </tr>
@@ -227,14 +195,6 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/TableNamespaceManager.html#acquireExclusiveLock()">acquireExclusiveLock</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private boolean</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/TableNamespaceManager.html#acquireSharedLock()">acquireSharedLock</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code>private static void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/TableNamespaceManager.html#block(org.apache.hadoop.hbase.master.MasterServices,%20long)">block</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a>&nbsp;services,
           long&nbsp;procId)</code>
@@ -309,14 +269,6 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/TableNamespaceManager.html#releaseExclusiveLock()">releaseExclusiveLock</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/TableNamespaceManager.html#releaseSharedLock()">releaseSharedLock</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/TableNamespaceManager.html#removeFromNSTable(java.lang.String)">removeFromNSTable</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespaceName)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
@@ -363,7 +315,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.71">LOG</a></pre>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.69">LOG</a></pre>
 </li>
 </ul>
 <a name="conf">
@@ -372,7 +324,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>conf</h4>
-<pre>private&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.73">conf</a></pre>
+<pre>private&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.71">conf</a></pre>
 </li>
 </ul>
 <a name="masterServices">
@@ -381,7 +333,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>masterServices</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.74">masterServices</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.72">masterServices</a></pre>
 </li>
 </ul>
 <a name="nsTable">
@@ -390,7 +342,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>nsTable</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.75">nsTable</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.73">nsTable</a></pre>
 </li>
 </ul>
 <a name="zkNamespaceManager">
@@ -399,7 +351,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>zkNamespaceManager</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ZKNamespaceManager.html" title="class in org.apache.hadoop.hbase">ZKNamespaceManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.76">zkNamespaceManager</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ZKNamespaceManager.html" title="class in org.apache.hadoop.hbase">ZKNamespaceManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.74">zkNamespaceManager</a></pre>
 </li>
 </ul>
 <a name="initialized">
@@ -408,16 +360,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>initialized</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.77">initialized</a></pre>
-</li>
-</ul>
-<a name="rwLock">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>rwLock</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReentrantReadWriteLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantReadWriteLock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.79">rwLock</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.75">initialized</a></pre>
 </li>
 </ul>
 <a name="KEY_MAX_REGIONS">
@@ -426,7 +369,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>KEY_MAX_REGIONS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.81">KEY_MAX_REGIONS</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.77">KEY_MAX_REGIONS</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.TableNamespaceManager.KEY_MAX_REGIONS">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -436,7 +379,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>KEY_MAX_TABLES</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.82">KEY_MAX_TABLES</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.78">KEY_MAX_TABLES</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.TableNamespaceManager.KEY_MAX_TABLES">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -446,80 +389,20 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>NS_INIT_TIMEOUT</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.83">NS_INIT_TIMEOUT</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.79">NS_INIT_TIMEOUT</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.TableNamespaceManager.NS_INIT_TIMEOUT">Constant Field Values</a></dd></dl>
 </li>
 </ul>
 <a name="DEFAULT_NS_INIT_TIMEOUT">
 <!--   -->
 </a>
-<ul class="blockList">
+<ul class="blockListLast">
 <li class="blockList">
 <h4>DEFAULT_NS_INIT_TIMEOUT</h4>
-<pre>static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.84">DEFAULT_NS_INIT_TIMEOUT</a></pre>
+<pre>static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.80">DEFAULT_NS_INIT_TIMEOUT</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.TableNamespaceManager.DEFAULT_NS_INIT_TIMEOUT">Constant Field Values</a></dd></dl>
 </li>
 </ul>
-<a name="TABLE_WRITE_LOCK_TIMEOUT_MS">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>TABLE_WRITE_LOCK_TIMEOUT_MS</h4>
-<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.87">TABLE_WRITE_LOCK_TIMEOUT_MS</a></pre>
-<div class="block">Configuration key for time out for trying to acquire table locks</div>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.TableNamespaceManager.TABLE_WRITE_LOCK_TIMEOUT_MS">Constant Field Values</a></dd></dl>
-</li>
-</ul>
-<a name="TABLE_READ_LOCK_TIMEOUT_MS">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>TABLE_READ_LOCK_TIMEOUT_MS</h4>
-<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.90">TABLE_READ_LOCK_TIMEOUT_MS</a></pre>
-<div class="block">Configuration key for time out for trying to acquire table locks</div>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.TableNamespaceManager.TABLE_READ_LOCK_TIMEOUT_MS">Constant Field Values</a></dd></dl>
-</li>
-</ul>
-<a name="DEFAULT_TABLE_WRITE_LOCK_TIMEOUT_MS">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>DEFAULT_TABLE_WRITE_LOCK_TIMEOUT_MS</h4>
-<pre>private static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.92">DEFAULT_TABLE_WRITE_LOCK_TIMEOUT_MS</a></pre>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.TableNamespaceManager.DEFAULT_TABLE_WRITE_LOCK_TIMEOUT_MS">Constant Field Values</a></dd></dl>
-</li>
-</ul>
-<a name="DEFAULT_TABLE_READ_LOCK_TIMEOUT_MS">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>DEFAULT_TABLE_READ_LOCK_TIMEOUT_MS</h4>
-<pre>private static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.93">DEFAULT_TABLE_READ_LOCK_TIMEOUT_MS</a></pre>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.TableNamespaceManager.DEFAULT_TABLE_READ_LOCK_TIMEOUT_MS">Constant Field Values</a></dd></dl>
-</li>
-</ul>
-<a name="exclusiveLockTimeoutMs">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>exclusiveLockTimeoutMs</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.95">exclusiveLockTimeoutMs</a></pre>
-</li>
-</ul>
-<a name="sharedLockTimeoutMs">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>sharedLockTimeoutMs</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.96">sharedLockTimeoutMs</a></pre>
-</li>
-</ul>
 </li>
 </ul>
 <!-- ========= CONSTRUCTOR DETAIL ======== -->
@@ -534,7 +417,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TableNamespaceManager</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.98">TableNamespaceManager</a>(<a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a>&nbsp;masterServices)</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.82">TableNamespaceManager</a>(<a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a>&nbsp;masterServices)</pre>
 </li>
 </ul>
 </li>
@@ -551,7 +434,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>start</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.110">start</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.87">start</a>()
            throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -563,58 +446,19 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getNamespaceTable</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.134">getNamespaceTable</a>()
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.111">getNamespaceTable</a>()
                          throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
 </li>
 </ul>
-<a name="acquireSharedLock()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>acquireSharedLock</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.141">acquireSharedLock</a>()
-                           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<dl><dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
-</li>
-</ul>
-<a name="releaseSharedLock()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>releaseSharedLock</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.149">releaseSharedLock</a>()</pre>
-</li>
-</ul>
-<a name="acquireExclusiveLock()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>acquireExclusiveLock</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.153">acquireExclusiveLock</a>()</pre>
-</li>
-</ul>
-<a name="releaseExclusiveLock()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>releaseExclusiveLock</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.161">releaseExclusiveLock</a>()</pre>
-</li>
-</ul>
 <a name="doesNamespaceExist(java.lang.String)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>doesNamespaceExist</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.168">doesNamespaceExist</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespaceName)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.121">doesNamespaceExist</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespaceName)
                            throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -626,7 +470,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>get</h4>
-<pre>public&nbsp;<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/TableNamespaceManager.html#line.175">get</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.128">get</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -638,7 +482,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>get</h4>
-<pre>private&nbsp;<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/TableNamespaceManager.html#line.182">get</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;table,
+<pre>private&nbsp;<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/TableNamespaceManager.html#line.135">get</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;table,
                       <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
                          throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -651,7 +495,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>insertIntoNSTable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.194">insertIntoNSTable</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/TableNamespaceManager.html#line.147">insertIntoNSTable</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;ns)
                        throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -663,7 +507,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>updateZKNamespaceManager</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.205">updateZKNamespaceManager</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/TableNamespaceManager.html#line.158">updateZKNamespaceManager</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;ns)
                               throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -675,7 +519,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>removeFromNSTable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.215">removeFromNSTable</a>(<a href="http://docs.oracle.com/javase/7/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/TableNamespaceManager.html#line.168">removeFromNSTable</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespaceName)
                        throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -687,7 +531,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>removeFromZKNamespaceManager</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.223">removeFromZKNamespaceManager</a>(<a href="http://docs.oracle.com/javase/7/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/TableNamespaceManager.html#line.176">removeFromZKNamespaceManager</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespaceName)
                                   throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -699,7 +543,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>list</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.227">list</a>()
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.180">list</a>()
                                        throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -711,7 +555,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>createNamespaceTable</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.255">createNamespaceTable</a>(<a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a>&nbsp;masterServices)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.199">createNamespaceTable</a>(<a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a>&nbsp;masterServices)
                            throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -723,7 +567,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isTableNamespaceManagerInitialized</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.268">isTableNamespaceManagerInitialized</a>()
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.212">isTableNamespaceManagerInitialized</a>()
                                             throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -735,7 +579,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>blockingCreateNamespace</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.281">blockingCreateNamespace</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;namespaceDescriptor)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.225">blockingCreateNamespace</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;namespaceDescriptor)
                               throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Create Namespace in a blocking manner. Keeps trying until
  <code>ClusterSchema.HBASE_MASTER_CLUSTER_SCHEMA_OPERATION_TIMEOUT_KEY</code> expires.
@@ -750,7 +594,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>block</h4>
-<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.294">block</a>(<a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a>&nbsp;services,
+<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.238">block</a>(<a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a>&nbsp;services,
          long&nbsp;procId)
                    throws <a href="../../../../../org/apache/hadoop/hbase/exceptions/TimeoutIOException.html" title="class in org.apache.hadoop.hbase.exceptions">TimeoutIOException</a></pre>
 <div class="block">An ugly utility to be removed when refactor TableNamespaceManager.</div>
@@ -764,7 +608,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isTableAvailableAndInitialized</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.317">isTableAvailableAndInitialized</a>()
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.261">isTableAvailableAndInitialized</a>()
                                        throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">This method checks if the namespace table is assigned and then
  tries to create its Table reference. If it was already created before, it also makes
@@ -780,7 +624,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableState</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client">TableState.State</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.371">getTableState</a>()
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client">TableState.State</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.315">getTableState</a>()
                                 throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -792,7 +636,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isTableEnabled</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.375">isTableEnabled</a>()
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.319">isTableEnabled</a>()
                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -804,7 +648,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isTableAssigned</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.379">isTableAssigned</a>()</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.323">isTableAssigned</a>()</pre>
 </li>
 </ul>
 <a name="validateTableAndRegionCount(org.apache.hadoop.hbase.NamespaceDescriptor)">
@@ -813,7 +657,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>validateTableAndRegionCount</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.384">validateTableAndRegionCount</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;desc)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.328">validateTableAndRegionCount</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;desc)
                                  throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -825,7 +669,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxTables</h4>
-<pre>public static&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.395">getMaxTables</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;ns)
+<pre>public static&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.339">getMaxTables</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;ns)
                          throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -837,7 +681,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getMaxRegions</h4>
-<pre>public static&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.411">getMaxRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;ns)
+<pre>public static&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html#line.355">getMaxRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;ns)
                           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/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/50917b1d/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html b/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html
index 3a094f9..9548d85 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html
@@ -176,8 +176,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.master.balancer.<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/FavoredNodesPlan.Position.html" title="enum in org.apache.hadoop.hbase.master.balancer"><span class="strong">FavoredNodesPlan.Position</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.balancer.<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.Action.Type.html" title="enum in org.apache.hadoop.hbase.master.balancer"><span class="strong">BaseLoadBalancer.Cluster.Action.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.balancer.<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/FavoredNodesPlan.Position.html" title="enum in org.apache.hadoop.hbase.master.balancer"><span class="strong">FavoredNodesPlan.Position</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/class-use/TableLockManager.TableLock.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/class-use/TableLockManager.TableLock.html b/devapidocs/org/apache/hadoop/hbase/master/class-use/TableLockManager.TableLock.html
index 81d4381..fa2d0d4 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/class-use/TableLockManager.TableLock.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/class-use/TableLockManager.TableLock.html
@@ -207,7 +207,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.TableLock.html" title="interface in org.apache.hadoop.hbase.master">TableLockManager.TableLock</a></code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.TableRunQueue.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html#tableLock">tableLock</a></strong></code>&nbsp;</td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.TableQueue.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#tableLock">tableLock</a></strong></code>&nbsp;</td>
 </tr>
 </tbody>
 </table>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/devapidocs/index-all.html b/devapidocs/index-all.html
index 2aae049..177eeae 100644
--- a/devapidocs/index-all.html
+++ b/devapidocs/index-all.html
@@ -543,16 +543,12 @@
 <dd>
 <div class="block">Acquire the delegation token for the specified filesytem.</div>
 </dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#acquireDeleteLock()">acquireDeleteLock()</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.AbstractRunQueue</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html#acquireDeleteLock()">acquireDeleteLock()</a></span> - Method in interface org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a></dt>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#acquireDeleteLock()">acquireDeleteLock()</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/zookeeper/lock/ZKInterProcessLockBase.html#acquiredLock">acquiredLock</a></span> - Variable in class org.apache.hadoop.hbase.zookeeper.lock.<a href="./org/apache/hadoop/hbase/zookeeper/lock/ZKInterProcessLockBase.html" title="class in org.apache.hadoop.hbase.zookeeper.lock">ZKInterProcessLockBase</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/procedure/ZKProcedureUtil.html#acquiredZnode">acquiredZnode</a></span> - Variable in class org.apache.hadoop.hbase.procedure.<a href="./org/apache/hadoop/hbase/procedure/ZKProcedureUtil.html" title="class in org.apache.hadoop.hbase.procedure">ZKProcedureUtil</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/TableNamespaceManager.html#acquireExclusiveLock()">acquireExclusiveLock()</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="./org/apache/hadoop/hbase/master/TableNamespaceManager.html" title="class in org.apache.hadoop.hbase.master">TableNamespaceManager</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#acquireLock(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">acquireLock(MasterProcedureEnv)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">AddColumnFamilyProcedure</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#acquireLock(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">acquireLock(MasterProcedureEnv)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">CreateNamespaceProcedure</a></dt>
@@ -596,8 +592,6 @@
 <div class="block">To avoid racing with AM, external entities may need to lock a region,
  for example, when SSH checks what regions to skip re-assigning.</div>
 </dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/TableNamespaceManager.html#acquireSharedLock()">acquireSharedLock()</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="./org/apache/hadoop/hbase/master/TableNamespaceManager.html" title="class in org.apache.hadoop.hbase.master">TableNamespaceManager</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.html#acquireSlot()">acquireSlot()</a></span> - Method in class org.apache.hadoop.hbase.procedure2.store.wal.<a href="./org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.html" title="class in org.apache.hadoop.hbase.procedure2.store.wal">WALProcedureStore</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/procedure/Procedure.html#acquiringMembers">acquiringMembers</a></span> - Variable in class org.apache.hadoop.hbase.procedure.<a href="./org/apache/hadoop/hbase/procedure/Procedure.html" title="class in org.apache.hadoop.hbase.procedure">Procedure</a></dt>
@@ -777,6 +771,14 @@
 <dd>
 <div class="block">Adds the server to the dead server list if it's not there already.</div>
 </dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#add(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">add(MasterProcedureScheduler.Queue&lt;T&gt;)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html#add(org.apache.hadoop.hbase.procedure2.Procedure,%20boolean)">add(Procedure, boolean)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.NamespaceQueue</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#add(org.apache.hadoop.hbase.procedure2.Procedure,%20boolean)">add(Procedure, boolean)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueImpl</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html#add(org.apache.hadoop.hbase.procedure2.Procedure,%20boolean)">add(Procedure, boolean)</a></span> - Method in interface org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueInterface</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/MetaTableAccessor.CollectAllVisitor.html#add(org.apache.hadoop.hbase.client.Result)">add(Result)</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/MetaTableAccessor.CollectAllVisitor.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.CollectAllVisitor</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/MetaTableAccessor.CollectingVisitor.html#add(org.apache.hadoop.hbase.client.Result)">add(Result)</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/MetaTableAccessor.CollectingVisitor.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.CollectingVisitor</a></dt>
@@ -786,8 +788,6 @@
 <div class="block">Append the given message to this buffer, automatically evicting
  older messages until the desired memory limit is achieved.</div>
 </dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#add(TKey,%20TQueue)">add(TKey, TQueue)</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="./org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.WalProcedureMap.html#add(org.apache.hadoop.hbase.protobuf.generated.ProcedureProtos.Procedure)">add(ProcedureProtos.Procedure)</a></span> - Method in class org.apache.hadoop.hbase.procedure2.store.wal.<a href="./org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.WalProcedureMap.html" title="class in org.apache.hadoop.hbase.procedure2.store.wal">ProcedureWALFormatReader.WalProcedureMap</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/procedure2/util/TimeoutBlockingQueue.html#add(E)">add(E)</a></span> - Method in class org.apache.hadoop.hbase.procedure2.util.<a href="./org/apache/hadoop/hbase/procedure2/util/TimeoutBlockingQueue.html" title="class in org.apache.hadoop.hbase.procedure2.util">TimeoutBlockingQueue</a></dt>
@@ -999,13 +999,9 @@
 <dd>
 <div class="block">Adds all the attributes into the Operation object</div>
 </dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#addBack(org.apache.hadoop.hbase.procedure2.Procedure)">addBack(Procedure)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.AbstractRunQueue</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#addBack(org.apache.hadoop.hbase.procedure2.Procedure)">addBack(Procedure)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a></dt>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#addBack(org.apache.hadoop.hbase.procedure2.Procedure)">addBack(Procedure)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html#addBack(org.apache.hadoop.hbase.procedure2.Procedure)">addBack(Procedure)</a></span> - Method in interface org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html#addBack(org.apache.hadoop.hbase.procedure2.Procedure)">addBack(Procedure)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.TableRunQueue</a></dt>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#addBack(org.apache.hadoop.hbase.procedure2.Procedure)">addBack(Procedure)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueImpl</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#addBack(org.apache.hadoop.hbase.procedure2.Procedure)">addBack(Procedure)</a></span> - Method in interface org.apache.hadoop.hbase.procedure2.<a href="./org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureRunnableSet</a></dt>
 <dd>
@@ -1348,11 +1344,9 @@
 <dd>
 <div class="block">Add the path spec to the filter path mapping.</div>
 </dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#addFront(org.apache.hadoop.hbase.procedure2.Procedure)">addFront(Procedure)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.AbstractRunQueue</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#addFront(org.apache.hadoop.hbase.procedure2.Procedure)">addFront(Procedure)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a></dt>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#addFront(org.apache.hadoop.hbase.procedure2.Procedure)">addFront(Procedure)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html#addFront(org.apache.hadoop.hbase.procedure2.Procedure)">addFront(Procedure)</a></span> - Method in interface org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a></dt>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#addFront(org.apache.hadoop.hbase.procedure2.Procedure)">addFront(Procedure)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueImpl</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#addFront(org.apache.hadoop.hbase.procedure2.Procedure)">addFront(Procedure)</a></span> - Method in interface org.apache.hadoop.hbase.procedure2.<a href="./org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureRunnableSet</a></dt>
 <dd>
@@ -1990,6 +1984,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/RegionStates.html#addToReplicaMapping(org.apache.hadoop.hbase.HRegionInfo)">addToReplicaMapping(HRegionInfo)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="./org/apache/hadoop/hbase/master/RegionStates.html" title="class in org.apache.hadoop.hbase.master">RegionStates</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#addToRunQueue(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.FairQueue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">addToRunQueue(MasterProcedureScheduler.FairQueue&lt;T&gt;, MasterProcedureScheduler.Queue&lt;T&gt;)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/RegionStates.html#addToServerHoldings(org.apache.hadoop.hbase.ServerName,%20org.apache.hadoop.hbase.HRegionInfo)">addToServerHoldings(ServerName, HRegionInfo)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="./org/apache/hadoop/hbase/master/RegionStates.html" title="class in org.apache.hadoop.hbase.master">RegionStates</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/byterange/ByteRangeSet.html#addToSortedRanges()">addToSortedRanges()</a></span> - Method in class org.apache.hadoop.hbase.util.byterange.<a href="./org/apache/hadoop/hbase/util/byterange/ByteRangeSet.html" title="class in org.apache.hadoop.hbase.util.byterange">ByteRangeSet</a></dt>
@@ -2377,6 +2373,8 @@
 <dd>
 <div class="block">Add key/value to file.</div>
 </dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html#append(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">append(MasterProcedureScheduler.Queue&lt;T&gt;, MasterProcedureScheduler.Queue&lt;T&gt;)</a></span> - Static method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.IterableList</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/compactions/Compactor.CellSink.html#append(org.apache.hadoop.hbase.Cell)">append(Cell)</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.compactions.<a href="./org/apache/hadoop/hbase/regionserver/compactions/Compactor.CellSink.html" title="interface in org.apache.hadoop.hbase.regionserver.compactions">Compactor.CellSink</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#append(org.apache.hadoop.hbase.client.Append)">append(Append)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></dt>
@@ -2498,6 +2496,8 @@
 <dd>
 <div class="block">Append to a StringBuilder a key/value.</div>
 </dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html#appendList(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">appendList(MasterProcedureScheduler.Queue&lt;T&gt;, MasterProcedureScheduler.Queue&lt;T&gt;)</a></span> - Static method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.IterableList</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/io/hfile/HFile.Writer.html#appendMetaBlock(java.lang.String,%20org.apache.hadoop.io.Writable)">appendMetaBlock(String, Writable)</a></span> - Method in interface org.apache.hadoop.hbase.io.hfile.<a href="./org/apache/hadoop/hbase/io/hfile/HFile.Writer.html" title="interface in org.apache.hadoop.hbase.io.hfile">HFile.Writer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html#appendMetaBlock(java.lang.String,%20org.apache.hadoop.io.Writable)">appendMetaBlock(String, Writable)</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.<a href="./org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileWriterImpl</a></dt>
@@ -3565,6 +3565,12 @@
 <dd>
 <div class="block">Average value length read from file info</div>
 </dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#avlHeight">avlHeight</a></span> - Variable in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#avlLeft">avlLeft</a></span> - Variable in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#avlRight">avlRight</a></span> - Variable in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#AVOID_COST">AVOID_COST</a></span> - Static variable in class org.apache.hadoop.hbase.master.<a href="./org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html" title="class in org.apache.hadoop.hbase.master">RegionPlacementMaintainer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/ProcedurePrepareLatch.html#await()">await()</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/ProcedurePrepareLatch.html" title="class in org.apache.hadoop.hbase.master.procedure">ProcedurePrepareLatch</a></dt>
@@ -3685,6 +3691,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/MasterRpcServices.html#balance(com.google.protobuf.RpcController,%20org.apache.hadoop.hbase.protobuf.generated.MasterProtos.BalanceRequest)">balance(RpcController, MasterProtos.BalanceRequest)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="./org/apache/hadoop/hbase/master/MasterRpcServices.html" title="class in org.apache.hadoop.hbase.master">MasterRpcServices</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#balance(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">balance(MasterProcedureScheduler.Queue&lt;T&gt;)</a></span> - Static method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.AvlTree</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/balancer/MetricsBalancerSource.html#BALANCE_CLUSTER">BALANCE_CLUSTER</a></span> - Static variable in interface org.apache.hadoop.hbase.master.balancer.<a href="./org/apache/hadoop/hbase/master/balancer/MetricsBalancerSource.html" title="interface in org.apache.hadoop.hbase.master.balancer">MetricsBalancerSource</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/balancer/FavoredNodeLoadBalancer.html#balanceCluster(java.util.Map)">balanceCluster(Map&lt;ServerName, List&lt;HRegionInfo&gt;&gt;)</a></span> - Method in class org.apache.hadoop.hbase.master.balancer.<a href="./org/apache/hadoop/hbase/master/balancer/FavoredNodeLoadBalancer.html" title="class in org.apache.hadoop.hbase.master.balancer">FavoredNodeLoadBalancer</a></dt>
@@ -3729,6 +3737,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/BalancedQueueRpcExecutor.html#BalancedQueueRpcExecutor(java.lang.String,%20int,%20int,%20org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.hbase.Abortable,%20java.lang.Class,%20java.lang.Object...)">BalancedQueueRpcExecutor(String, int, int, Configuration, Abortable, Class&lt;? extends BlockingQueue&gt;, Object...)</a></span> - Constructor for class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/BalancedQueueRpcExecutor.html" title="class in org.apache.hadoop.hbase.ipc">BalancedQueueRpcExecutor</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#balanceFactor(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">balanceFactor(MasterProcedureScheduler.Queue&lt;T&gt;)</a></span> - Static method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.AvlTree</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.html#balanceMasterRegions(java.util.Map)">balanceMasterRegions(Map&lt;ServerName, List&lt;HRegionInfo&gt;&gt;)</a></span> - Method in class org.apache.hadoop.hbase.master.balancer.<a href="./org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.html" title="class in org.apache.hadoop.hbase.master.balancer">BaseLoadBalancer</a></dt>
 <dd>
 <div class="block">Balance the regions that should be on master regionserver.</div>
@@ -6175,7 +6185,7 @@
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/io/hfile/LruBlockCache.html#calculateOverhead(long,%20long,%20int)">calculateOverhead(long, long, int)</a></span> - Static method in class org.apache.hadoop.hbase.io.hfile.<a href="./org/apache/hadoop/hbase/io/hfile/LruBlockCache.html" title="class in org.apache.hadoop.hbase.io.hfile">LruBlockCache</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#calculateQuantum(TQueue)">calculateQuantum(TQueue)</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="./org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues</a></dt>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#calculateQuantum(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">calculateQuantum(MasterProcedureScheduler.Queue)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#calculateRebalancedSplits(java.util.List,%20org.apache.hadoop.mapreduce.JobContext,%20long)">calculateRebalancedSplits(List&lt;InputSplit&gt;, JobContext, long)</a></span> - Method in class org.apache.hadoop.hbase.mapreduce.<a href="./org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html" title="class in org.apache.hadoop.hbase.mapreduce">TableInputFormatBase</a></dt>
 <dd>
@@ -6512,6 +6522,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/StatsTrackingRpcRetryingCaller.html#callWithRetries(org.apache.hadoop.hbase.client.RetryingCallable,%20int)">callWithRetries(RetryingCallable&lt;T&gt;, int)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/StatsTrackingRpcRetryingCaller.html" title="class in org.apache.hadoop.hbase.client">StatsTrackingRpcRetryingCaller</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#canAbortPendingOperations(org.apache.hadoop.hbase.procedure2.Procedure)">canAbortPendingOperations(Procedure)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.TableQueue</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="./org/apache/hadoop/hbase/tool/Canary.html" title="class in org.apache.hadoop.hbase.tool"><span class="strong">Canary</span></a> - Class in <a href="./org/apache/hadoop/hbase/tool/package-summary.html">org.apache.hadoop.hbase.tool</a></dt>
 <dd>
 <div class="block">HBase Canary Tool, that that can be used to do
@@ -8612,9 +8624,9 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/io/util/LRUDictionary.html#clear()">clear()</a></span> - Method in class org.apache.hadoop.hbase.io.util.<a href="./org/apache/hadoop/hbase/io/util/LRUDictionary.html" title="class in org.apache.hadoop.hbase.io.util">LRUDictionary</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#clear()">clear()</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a></dt>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#clear()">clear()</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#clear()">clear()</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="./org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues</a></dt>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#clear(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.FairQueue)">clear(MasterProcedureScheduler.Queue&lt;T&gt;, MasterProcedureScheduler.FairQueue&lt;T&gt;)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#clear()">clear()</a></span> - Method in interface org.apache.hadoop.hbase.procedure2.<a href="./org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureRunnableSet</a></dt>
 <dd>
@@ -11143,6 +11155,8 @@
 <dd>
 <div class="block"><span class="strong">Deprecated.</span></div>
 &nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#compareKey(TKey)">compareKey(TKey)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/CellComparator.html#compareKeyBasedOnColHint(org.apache.hadoop.hbase.Cell,%20org.apache.hadoop.hbase.Cell,%20int,%20int,%20byte[],%20int,%20int,%20long,%20byte)">compareKeyBasedOnColHint(Cell, Cell, int, int, byte[], int, int, long, byte)</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/CellComparator.html" title="class in org.apache.hadoop.hbase">CellComparator</a></dt>
 <dd>
 <div class="block">Used to compare two cells based on the column hint provided.</div>
@@ -11366,6 +11380,8 @@
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/balancer/ServerAndLoad.html#compareTo(org.apache.hadoop.hbase.master.balancer.ServerAndLoad)">compareTo(ServerAndLoad)</a></span> - Method in class org.apache.hadoop.hbase.master.balancer.<a href="./org/apache/hadoop/hbase/master/balancer/ServerAndLoad.html" title="class in org.apache.hadoop.hbase.master.balancer">ServerAndLoad</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#compareTo(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">compareTo(MasterProcedureScheduler.Queue&lt;TKey&gt;)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/RegionPlan.html#compareTo(org.apache.hadoop.hbase.master.RegionPlan)">compareTo(RegionPlan)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="./org/apache/hadoop/hbase/master/RegionPlan.html" title="class in org.apache.hadoop.hbase.master">RegionPlan</a></dt>
 <dd>
 <div class="block">Compare the region info.</div>
@@ -11613,7 +11629,7 @@
 <div class="block">Move the finished snapshot to its final, publicly visible directory - this marks the snapshot
  as 'complete'.</div>
 </dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#completionCleanup(org.apache.hadoop.hbase.procedure2.Procedure)">completionCleanup(Procedure)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a></dt>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#completionCleanup(org.apache.hadoop.hbase.procedure2.Procedure)">completionCleanup(Procedure)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/procedure2/Procedure.html#completionCleanup(TEnvironment)">completionCleanup(TEnvironment)</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="./org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></dt>
 <dd>
@@ -12484,8 +12500,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/ClusterStatusPublisher.html#connected">connected</a></span> - Variable in class org.apache.hadoop.hbase.master.<a href="./org/apache/hadoop/hbase/master/ClusterStatusPublisher.html" title="class in org.apache.hadoop.hbase.master">ClusterStatusPublisher</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#connectFailureCounter">connectFailureCounter</a></span> - Variable in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html" title="class in org.apache.hadoop.hbase.ipc">AsyncRpcChannel</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/backup/example/ZKTableArchiveClient.html#connection">connection</a></span> - Variable in class org.apache.hadoop.hbase.backup.example.<a href="./org/apache/hadoop/hbase/backup/example/ZKTableArchiveClient.html" title="class in org.apache.hadoop.hbase.backup.example">ZKTableArchiveClient</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/AsyncProcess.html#connection">connection</a></span> - Variable in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/AsyncProcess.html" title="class in org.apache.hadoop.hbase.client">AsyncProcess</a></dt>
@@ -15248,8 +15262,6 @@
 <dd>
 <div class="block">Create a <a href="./org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master"><code>ServerManager</code></a> instance.</div>
 </dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#createServerRunQueue(org.apache.hadoop.hbase.master.procedure.ServerProcedureInterface)">createServerRunQueue(ServerProcedureInterface)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/zookeeper/ZKUtil.html#createSetData(org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher,%20java.lang.String,%20byte[])">createSetData(ZooKeeperWatcher, String, byte[])</a></span> - Static method in class org.apache.hadoop.hbase.zookeeper.<a href="./org/apache/hadoop/hbase/zookeeper/ZKUtil.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKUtil</a></dt>
 <dd>
 <div class="block">Set data into node creating node if it doesn't yet exist.</div>
@@ -15431,8 +15443,6 @@
 <dd>&nbsp;</dd>
 <dt><a href="./org/apache/hadoop/hbase/master/procedure/CreateTableProcedure.CreateHdfsRegions.html" title="interface in org.apache.hadoop.hbase.master.procedure"><span class="strong">CreateTableProcedure.CreateHdfsRegions</span></a> - Interface in <a href="./org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#createTableRunQueue(org.apache.hadoop.hbase.TableName)">createTableRunQueue(TableName)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/SplitLogManager.html#createTaskIfAbsent(java.lang.String,%20org.apache.hadoop.hbase.master.SplitLogManager.TaskBatch)">createTaskIfAbsent(String, SplitLogManager.TaskBatch)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="./org/apache/hadoop/hbase/master/SplitLogManager.html" title="class in org.apache.hadoop.hbase.master">SplitLogManager</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#createTempName()">createTempName()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a></dt>
@@ -15717,8 +15727,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/io/hfile/BlockCachesIterator.html#current">current</a></span> - Variable in class org.apache.hadoop.hbase.io.hfile.<a href="./org/apache/hadoop/hbase/io/hfile/BlockCachesIterator.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCachesIterator</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#current">current</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="./org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.EntryIterator.html#current">current</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.store.wal.<a href="./org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.EntryIterator.html" title="class in org.apache.hadoop.hbase.procedure2.store.wal">ProcedureWALFormatReader.EntryIterator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/KeyValueHeap.html#current">current</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a></dt>
@@ -15789,7 +15797,9 @@
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html#currentProcessingCount">currentProcessingCount</a></span> - Variable in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/HTableMultiplexer.FlushWorker.html" title="class in org.apache.hadoop.hbase.client">HTableMultiplexer.FlushWorker</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#currentQuantum">currentQuantum</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="./org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues</a></dt>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#currentQuantum">currentQuantum</a></span> - Variable in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#currentQueue">currentQueue</a></span> - Variable in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#currentReader">currentReader</a></span> - Variable in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/RpcServer.Listener.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Listener</a></dt>
 <dd>&nbsp;</dd>
@@ -17302,8 +17312,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/Strings.html#DEFAULT_SEPARATOR">DEFAULT_SEPARATOR</a></span> - Static variable in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/Strings.html" title="class in org.apache.hadoop.hbase.util">Strings</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#DEFAULT_SERVER_PRIORITY">DEFAULT_SERVER_PRIORITY</a></span> - Static variable in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/RegionMover.html#DEFAULT_SERVERSTART_WAIT_MAX">DEFAULT_SERVERSTART_WAIT_MAX</a></span> - Static variable in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/RegionMover.html" title="class in org.apache.hadoop.hbase.util">RegionMover</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#DEFAULT_SHORT_WAIT_ON_META">DEFAULT_SHORT_WAIT_ON_META</a></span> - Static variable in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">ServerCrashProcedure</a></dt>
@@ -17378,14 +17386,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/TableLockManager.html#DEFAULT_TABLE_READ_LOCK_TIMEOUT_MS">DEFAULT_TABLE_READ_LOCK_TIMEOUT_MS</a></span> - Static variable in class org.apache.hadoop.hbase.master.<a href="./org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/TableNamespaceManager.html#DEFAULT_TABLE_READ_LOCK_TIMEOUT_MS">DEFAULT_TABLE_READ_LOCK_TIMEOUT_MS</a></span> - Static variable in class org.apache.hadoop.hbase.master.<a href="./org/apache/hadoop/hbase/master/TableNamespaceManager.html" title="class in org.apache.hadoop.hbase.master">TableNamespaceManager</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.TableSkewCostFunction.html#DEFAULT_TABLE_SKEW_COST">DEFAULT_TABLE_SKEW_COST</a></span> - Static variable in class org.apache.hadoop.hbase.master.balancer.<a href="./org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.TableSkewCostFunction.html" title="class in org.apache.hadoop.hbase.master.balancer">StochasticLoadBalancer.TableSkewCostFunction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/TableLockManager.html#DEFAULT_TABLE_WRITE_LOCK_TIMEOUT_MS">DEFAULT_TABLE_WRITE_LOCK_TIMEOUT_MS</a></span> - Static variable in class org.apache.hadoop.hbase.master.<a href="./org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/TableNamespaceManager.html#DEFAULT_TABLE_WRITE_LOCK_TIMEOUT_MS">DEFAULT_TABLE_WRITE_LOCK_TIMEOUT_MS</a></span> - Static variable in class org.apache.hadoop.hbase.master.<a href="./org/apache/hadoop/hbase/master/TableNamespaceManager.html" title="class in org.apache.hadoop.hbase.master">TableNamespaceManager</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.html#DEFAULT_TABLES_ON_MASTER">DEFAULT_TABLES_ON_MASTER</a></span> - Static variable in class org.apache.hadoop.hbase.master.balancer.<a href="./org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.html" title="class in org.apache.hadoop.hbase.master.balancer">BaseLoadBalancer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/monitoring/StateDumpServlet.html#DEFAULT_TAIL_KB">DEFAULT_TAIL_KB</a></span> - Static variable in class org.apache.hadoop.hbase.monitoring.<a href="./org/apache/hadoop/hbase/monitoring/StateDumpServlet.html" title="class in org.apache.hadoop.hbase.monitoring">StateDumpServlet</a></dt>
@@ -18551,6 +18555,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/codec/prefixtree/decode/PrefixTreeArrayReversibleScanner.html#descendToLastRowFromCurrentPosition()">descendToLastRowFromCurrentPosition()</a></span> - Method in class org.apache.hadoop.hbase.codec.prefixtree.decode.<a href="./org/apache/hadoop/hbase/codec/prefixtree/decode/PrefixTreeArrayReversibleScanner.html" title="class in org.apache.hadoop.hbase.codec.prefixtree.decode">PrefixTreeArrayReversibleScanner</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#description">description</a></span> - Variable in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/monitoring/MonitoredTaskImpl.html#description">description</a></span> - Variable in class org.apache.hadoop.hbase.monitoring.<a href="./org/apache/hadoop/hbase/monitoring/MonitoredTaskImpl.html" title="class in org.apache.hadoop.hbase.monitoring">MonitoredTaskImpl</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/snapshot/HBaseSnapshotException.html#description">description</a></span> - Variable in exception org.apache.hadoop.hbase.snapshot.<a href="./org/apache/hadoop/hbase/snapshot/HBaseSnapshotException.html" title="class in org.apache.hadoop.hbase.snapshot">HBaseSnapshotException</a></dt>
@@ -19019,6 +19025,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.html#doAction(org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.Cluster.Action)">doAction(BaseLoadBalancer.Cluster.Action)</a></span> - Method in class org.apache.hadoop.hbase.master.balancer.<a href="./org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.html" title="class in org.apache.hadoop.hbase.master.balancer">BaseLoadBalancer.Cluster</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#doAdd(org.apache.hadoop.hbase.procedure2.Procedure,%20boolean)">doAdd(Procedure, boolean)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#doAdd(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.FairQueue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20org.apache.hadoop.hbase.procedure2.Procedure,%20boolean)">doAdd(MasterProcedureScheduler.FairQueue&lt;T&gt;, MasterProcedureScheduler.Queue&lt;T&gt;, Procedure, boolean)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/thrift/ThriftHttpServlet.html#doAsEnabled">doAsEnabled</a></span> - Variable in class org.apache.hadoop.hbase.thrift.<a href="./org/apache/hadoop/hbase/thrift/ThriftHttpServlet.html" title="class in org.apache.hadoop.hbase.thrift">ThriftHttpServlet</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/thrift/ThriftServerRunner.html#doAsEnabled">doAsEnabled</a></span> - Variable in class org.apache.hadoop.hbase.thrift.<a href="./org/apache/hadoop/hbase/thrift/ThriftServerRunner.html" title="class in org.apache.hadoop.hbase.thrift">ThriftServerRunner</a></dt>
@@ -19265,7 +19275,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/ServerNonceManager.OperationContext.html#DONT_PROCEED">DONT_PROCEED</a></span> - Static variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/ServerNonceManager.OperationContext.html" title="class in org.apache.hadoop.hbase.regionserver">ServerNonceManager.OperationContext</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#doPoll(org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue.RunQueue)">doPoll(MasterProcedureQueue.RunQueue)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a></dt>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#doPoll(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.FairQueue)">doPoll(MasterProcedureScheduler.FairQueue&lt;T&gt;)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/thrift/ThriftHttpServlet.html#doPost(javax.servlet.http.HttpServletRequest,%20javax.servlet.http.HttpServletResponse)">doPost(HttpServletRequest, HttpServletResponse)</a></span> - Method in class org.apache.hadoop.hbase.thrift.<a href="./org/apache/hadoop/hbase/thrift/ThriftHttpServlet.html" title="class in org.apache.hadoop.hbase.thrift">ThriftHttpServlet</a></dt>
 <dd>&nbsp;</dd>
@@ -21349,9 +21359,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#EXCLUSIVE">EXCLUSIVE</a></span> - Variable in class org.apache.hadoop.hbase.filter.<a href="./org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#exclusiveLock">exclusiveLock</a></span> - Variable in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.AbstractRunQueue</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/TableNamespaceManager.html#exclusiveLockTimeoutMs">exclusiveLockTimeoutMs</a></span> - Variable in class org.apache.hadoop.hbase.master.<a href="./org/apache/hadoop/hbase/master/TableNamespaceManager.html" title="class in org.apache.hadoop.hbase.master">TableNamespaceManager</a></dt>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#exclusiveLock">exclusiveLock</a></span> - Variable in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/FailureInfo.html#exclusivelyRetringInspiteOfFastFail">exclusivelyRetringInspiteOfFastFail</a></span> - Variable in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/FailureInfo.html" title="class in org.apache.hadoop.hbase.client">FailureInfo</a></dt>
 <dd>&nbsp;</dd>
@@ -22132,6 +22140,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/exceptions/PreemptiveFastFailException.html#failureCount">failureCount</a></span> - Variable in exception org.apache.hadoop.hbase.exceptions.<a href="./org/apache/hadoop/hbase/exceptions/PreemptiveFastFailException.html" title="class in org.apache.hadoop.hbase.exceptions">PreemptiveFastFailException</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#failureCounter">failureCounter</a></span> - Variable in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html" title="class in org.apache.hadoop.hbase.ipc">AsyncRpcChannel</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="./org/apache/hadoop/hbase/client/FailureInfo.html" title="class in org.apache.hadoop.hbase.client"><span class="strong">FailureInfo</span></a> - Class in <a href="./org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a></dt>
 <dd>
 <div class="block">Keeps track of repeated failures to any region server.</div>
@@ -23525,6 +23535,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/HBaseFsck.html#fixHdfsOverlaps">fixHdfsOverlaps</a></span> - Variable in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/HBaseFsck.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#fixHeight(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">fixHeight(MasterProcedureScheduler.Queue&lt;T&gt;)</a></span> - Static method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.AvlTree</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/HBaseFsck.html#fixMeta">fixMeta</a></span> - Variable in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/HBaseFsck.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/HBaseFsckRepair.html#fixMetaHoleOnlineAndAddReplicas(org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.hbase.HRegionInfo,%20java.util.Collection,%20int)">fixMetaHoleOnlineAndAddReplicas(Configuration, HRegionInfo, Collection&lt;ServerName&gt;, int)</a></span> - Static method in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/HBaseFsckRepair.html" title="class in org.apache.hadoop.hbase.util">HBaseFsckRepair</a></dt>
@@ -24850,6 +24862,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/JitterScheduledThreadPoolExecutorImpl.JitteredRunnableScheduledFuture.html#get(long,%20java.util.concurrent.TimeUnit)">get(long, TimeUnit)</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/JitterScheduledThreadPoolExecutorImpl.JitteredRunnableScheduledFuture.html" title="class in org.apache.hadoop.hbase">JitterScheduledThreadPoolExecutorImpl.JitteredRunnableScheduledFuture</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#get(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20T)">get(MasterProcedureScheduler.Queue&lt;T&gt;, T)</a></span> - Static method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.AvlTree</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/TableNamespaceManager.html#get(java.lang.String)">get(String)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="./org/apache/hadoop/hbase/master/TableNamespaceManager.html" title="class in org.apache.hadoop.hbase.master">TableNamespaceManager</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/TableNamespaceManager.html#get(org.apache.hadoop.hbase.client.Table,%20java.lang.String)">get(Table, String)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="./org/apache/hadoop/hbase/master/TableNamespaceManager.html" title="class in org.apache.hadoop.hbase.master">TableNamespaceManager</a></dt>
@@ -24924,8 +24938,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/nio/SingleByteBuff.html#get(java.nio.ByteBuffer,%20int,%20int)">get(ByteBuffer, int, int)</a></span> - Method in class org.apache.hadoop.hbase.nio.<a href="./org/apache/hadoop/hbase/nio/SingleByteBuff.html" title="class in org.apache.hadoop.hbase.nio">SingleByteBuff</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#get(TKey)">get(TKey)</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="./org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/quotas/NoopOperationQuota.html#get()">get()</a></span> - Static method in class org.apache.hadoop.hbase.quotas.<a href="./org/apache/hadoop/hbase/quotas/NoopOperationQuota.html" title="class in org.apache.hadoop.hbase.quotas">NoopOperationQuota</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/quotas/NoopQuotaLimiter.html#get()">get()</a></span> - Static method in class org.apache.hadoop.hbase.quotas.<a href="./org/apache/hadoop/hbase/quotas/NoopQuotaLimiter.html" title="class in org.apache.hadoop.hbase.quotas">NoopQuotaLimiter</a></dt>
@@ -26017,6 +26029,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/io/hfile/CacheConfig.html#getBucketCache(org.apache.hadoop.conf.Configuration,%20java.lang.management.MemoryUsage)">getBucketCache(Configuration, MemoryUsage)</a></span> - Static method in class org.apache.hadoop.hbase.io.hfile.<a href="./org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getBucketIndex(java.lang.Object[],%20int)">getBucketIndex(Object[], int)</a></span> - Static method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.html#getBuckets()">getBuckets()</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.bucket.<a href="./org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketAllocator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/io/BoundedByteBufferPool.html#getBuffer()">getBuffer()</a></span> - Method in class org.apache.hadoop.hbase.io.<a href="./org/apache/hadoop/hbase/io/BoundedByteBufferPool.html" title="class in org.apache.hadoop.hbase.io">BoundedByteBufferPool</a></dt>
@@ -28817,6 +28831,8 @@
 <dd>
 <div class="block">Compile the table and column family (i.e.</div>
 </dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#getFirst(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">getFirst(MasterProcedureScheduler.Queue&lt;T&gt;)</a></span> - Static method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.AvlTree</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/ArrayUtils.html#getFirst(long[])">getFirst(long[])</a></span> - Static method in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/ArrayUtils.html" title="class in org.apache.hadoop.hbase.util">ArrayUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/CollectionUtils.html#getFirst(java.util.Collection)">getFirst(Collection&lt;T&gt;)</a></span> - Static method in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/CollectionUtils.html" title="class in org.apache.hadoop.hbase.util">CollectionUtils</a></dt>
@@ -29460,6 +29476,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/ScheduledChore.html#getInitialDelay()">getInitialDelay()</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/ScheduledChore.html" title="class in org.apache.hadoop.hbase">ScheduledChore</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/HMaster.html#getInitializedEvent()">getInitializedEvent()</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="./org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#getInitialState()">getInitialState()</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">AddColumnFamilyProcedure</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#getInitialState()">getInitialState()</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">CreateNamespaceProcedure</a></dt>
@@ -29767,6 +29785,8 @@
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/KeyValue.KeyOnlyKeyValue.html#getKey()">getKey()</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/KeyValue.KeyOnlyKeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue.KeyOnlyKeyValue</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#getKey()">getKey()</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/LruHashMap.Entry.html#getKey()">getKey()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/LruHashMap.Entry.html" title="class in org.apache.hadoop.hbase.regionserver">LruHashMap.Entry</a></dt>
 <dd>
 <div class="block">Get the key of this entry.</div>
@@ -29957,6 +29977,8 @@
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#getLargestHStoreSize()">getLargestHStoreSize()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#getLast(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">getLast(MasterProcedureScheduler.Queue&lt;T&gt;)</a></span> - Static method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.AvlTree</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/ArrayUtils.html#getLast(long[])">getLast(long[])</a></span> - Static method in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/ArrayUtils.html" title="class in org.apache.hadoop.hbase.util">ArrayUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/CollectionUtils.html#getLast(java.util.List)">getLast(List&lt;T&gt;)</a></span> - Static method in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/CollectionUtils.html" title="class in org.apache.hadoop.hbase.util">CollectionUtils</a></dt>
@@ -31693,12 +31715,22 @@
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/HBaseAdmin.NamespaceFuture.html#getNamespaceName()">getNamespaceName()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/HBaseAdmin.NamespaceFuture.html" title="class in org.apache.hadoop.hbase.client">HBaseAdmin.NamespaceFuture</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#getNamespaceName()">getNamespaceName()</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">CreateNamespaceProcedure</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#getNamespaceName()">getNamespaceName()</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">DeleteNamespaceProcedure</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#getNamespaceName()">getNamespaceName()</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">ModifyNamespaceProcedure</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/rest/model/NamespacesInstanceModel.html#getNamespaceName()">getNamespaceName()</a></span> - Method in class org.apache.hadoop.hbase.rest.model.<a href="./org/apache/hadoop/hbase/rest/model/NamespacesInstanceModel.html" title="class in org.apache.hadoop.hbase.rest.model">NamespacesInstanceModel</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/security/access/AccessControlLists.html#getNamespacePermissions(org.apache.hadoop.conf.Configuration,%20java.lang.String)">getNamespacePermissions(Configuration, String)</a></span> - Static method in class org.apache.hadoop.hbase.security.access.<a href="./org/apache/hadoop/hbase/security/access/AccessControlLists.html" title="class in org.apache.hadoop.hbase.security.access">AccessControlLists</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/security/access/TableAuthManager.html#getNamespacePermissions(java.lang.String)">getNamespacePermissions(String)</a></span> - Method in class org.apache.hadoop.hbase.security.access.<a href="./org/apache/hadoop/hbase/security/access/TableAuthManager.html" title="class in org.apache.hadoop.hbase.security.access">TableAuthManager</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getNamespaceQueue(java.lang.String)">getNamespaceQueue(String)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#getNamespaceQueue()">getNamespaceQueue()</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.TableQueue</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getNamespaceQuota(org.apache.hadoop.hbase.client.Connection,%20java.lang.String)">getNamespaceQuota(Connection, String)</a></span> - Static method in class org.apache.hadoop.hbase.quotas.<a href="./org/apache/hadoop/hbase/quotas/QuotaTableUtil.html" title="class in org.apache.hadoop.hbase.quotas">QuotaTableUtil</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/quotas/QuotaCache.html#getNamespaceQuotaCache()">getNamespaceQuotaCache()</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="./org/apache/hadoop/hbase/quotas/QuotaCache.html" title="class in org.apache.hadoop.hbase.quotas">QuotaCache</a></dt>
@@ -31973,6 +32005,8 @@
 <dd>
 <div class="block">Map of families to their most recent qualifiers and values.</div>
 </dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getNullPollCalls()">getNullPollCalls()</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/codec/prefixtree/encode/tokenize/Tokenizer.html#getNumAdded()">getNumAdded()</a></span> - Method in class org.apache.hadoop.hbase.codec.prefixtree.encode.tokenize.<a href="./org/apache/hadoop/hbase/codec/prefixtree/encode/tokenize/Tokenizer.html" title="class in org.apache.hadoop.hbase.codec.prefixtree.encode.tokenize">Tokenizer</a></dt>
 <dd>
 <div class="block">read</div>
@@ -32804,6 +32838,8 @@
 <dd>
 <div class="block">This method gets the pipeline for the current WAL.</div>
 </dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getPollCalls()">getPollCalls()</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/AsyncProcess.html#getPool(java.util.concurrent.ExecutorService)">getPool(ExecutorService)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/AsyncProcess.html" title="class in org.apache.hadoop.hbase.client">AsyncProcess</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/BufferedMutatorParams.html#getPool()">getPool()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/BufferedMutatorParams.html" title="class in org.apache.hadoop.hbase.client">BufferedMutatorParams</a></dt>
@@ -32948,9 +32984,7 @@
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/MasterAnnotationReadingPriorityFunction.html#getPriority(org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader,%20com.google.protobuf.Message,%20org.apache.hadoop.hbase.security.User)">getPriority(RPCProtos.RequestHeader, Message, User)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="./org/apache/hadoop/hbase/master/MasterAnnotationReadingPriorityFunction.html" title="class in org.apache.hadoop.hbase.master">MasterAnnotationReadingPriorityFunction</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#getPriority()">getPriority()</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.AbstractRunQueue</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html#getPriority()">getPriority()</a></span> - Method in interface org.apache.hadoop.hbase.procedure2.<a href="./org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues.FairObject</a></dt>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#getPriority()">getPriority()</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/AnnotationReadingPriorityFunction.html#getPriority(org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader,%20com.google.protobuf.Message,%20org.apache.hadoop.hbase.security.User)">getPriority(RPCProtos.RequestHeader, Message, User)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/AnnotationReadingPriorityFunction.html" title="class in org.apache.hadoop.hbase.regionserver">AnnotationReadingPriorityFunction</a></dt>
 <dd>
@@ -34926,16 +34960,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/executor/ExecutorService.TrackingThreadPoolExecutor.html#getRunningTasks()">getRunningTasks()</a></span> - Method in class org.apache.hadoop.hbase.executor.<a href="./org/apache/hadoop/hbase/executor/ExecutorService.TrackingThreadPoolExecutor.html" title="class in org.apache.hadoop.hbase.executor">ExecutorService.TrackingThreadPoolExecutor</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#getRunQueue(org.apache.hadoop.hbase.TableName)">getRunQueue(TableName)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#getRunQueue(org.apache.hadoop.hbase.ServerName)">getRunQueue(ServerName)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#getRunQueueOrCreate(org.apache.hadoop.hbase.procedure2.Procedure)">getRunQueueOrCreate(Procedure)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#getRunQueueOrCreate(org.apache.hadoop.hbase.TableName)">getRunQueueOrCreate(TableName)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#getRunQueueOrCreate(org.apache.hadoop.hbase.master.procedure.ServerProcedureInterface)">getRunQueueOrCreate(ServerProcedureInterface)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/metrics2/util/MetricSampleQuantiles.html#getSampleCount()">getSampleCount()</a></span> - Method in class org.apache.hadoop.metrics2.util.<a href="./org/apache/hadoop/metrics2/util/MetricSampleQuantiles.html" title="class in org.apache.hadoop.metrics2.util">MetricSampleQuantiles</a></dt>
 <dd>
 <div class="block">Returns the number of samples kept by the estimator</div>
@@ -34944,6 +34968,8 @@
 <dd>
 <div class="block">Get SASL handler</div>
 </dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#getSaslProps()">getSaslProps()</a></span> - Static method in class org.apache.hadoop.hbase.security.<a href="./org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#getSaslQop()">getSaslQop()</a></span> - Method in enum org.apache.hadoop.hbase.security.<a href="./org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security">SaslUtil.QualityOfProtection</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/ClientScanner.html#getScan()">getScan()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/ClientScanner.html" title="class in org.apache.hadoop.hbase.client">ClientScanner</a></dt>
@@ -35342,6 +35368,8 @@
 <dd>
 <div class="block">Returns the column qualifier for server column for replicaId</div>
 </dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/HMaster.html#getServerCrashProcessingEnabledEvent()">getServerCrashProcessingEnabledEvent()</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="./org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/ScannerCallable.html#getServerHasMoreResults()">getServerHasMoreResults()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/ScannerCallable.html" title="class in org.apache.hadoop.hbase.client">ScannerCallable</a></dt>
 <dd>
 <div class="block">Should the client attempt to fetch more results from this region</div>
@@ -35385,6 +35413,8 @@
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/MetricsMasterWrapperImpl.html#getServerName()">getServerName()</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="./org/apache/hadoop/hbase/master/MetricsMasterWrapperImpl.html" title="class in org.apache.hadoop.hbase.master">MetricsMasterWrapperImpl</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getServerName(org.apache.hadoop.hbase.procedure2.Procedure)">getServerName(Procedure)</a></span> - Static method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#getServerName()">getServerName()</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">ServerCrashProcedure</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html#getServerName()">getServerName()</a></span> - Method in interface org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface</a></dt>
@@ -35446,8 +35476,18 @@
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/zookeeper/ZKUtil.html#getServerNameOrEmptyString(byte[])">getServerNameOrEmptyString(byte[])</a></span> - Static method in class org.apache.hadoop.hbase.zookeeper.<a href="./org/apache/hadoop/hbase/zookeeper/ZKUtil.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKUtil</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#getServerOperationType()">getServerOperationType()</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">ServerCrashProcedure</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html#getServerOperationType()">getServerOperationType()</a></span> - Method in interface org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface</a></dt>
+<dd>
+<div class="block">Given an operation type we can take decisions about what to do with pending operations.</div>
+</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/security/SecurityInfo.html#getServerPrincipal()">getServerPrincipal()</a></span> - Method in class org.apache.hadoop.hbase.security.<a href="./org/apache/hadoop/hbase/security/SecurityInfo.html" title="class in org.apache.hadoop.hbase.security">SecurityInfo</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getServerQueue(org.apache.hadoop.hbase.ServerName)">getServerQueue(ServerName)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getServerQueueWithLock(org.apache.hadoop.hbase.ServerName)">getServerQueueWithLock(ServerName)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/RegionStates.html#getServerRegions(org.apache.hadoop.hbase.ServerName)">getServerRegions(ServerName)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="./org/apache/hadoop/hbase/master/RegionStates.html" title="class in org.apache.hadoop.hbase.master">RegionStates</a></dt>
 <dd>
 <div class="block">Get a copy of all regions assigned to a server</div>
@@ -37037,6 +37077,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#getTableName()">getTableName()</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">EnableTableProcedure</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getTableName(org.apache.hadoop.hbase.procedure2.Procedure)">getTableName(Procedure)</a></span> - Static method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#getTableName()">getTableName()</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">ModifyColumnFamilyProcedure</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#getTableName()">getTableName()</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="./org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">ModifyNamespaceProcedure</a></dt>
@@ -37155,6 +37197,12 @@
 <dd>&nbsp;</dd>
 <dt>

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html
index c720544..a676fd2 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/TableNamespaceManager.html
@@ -29,409 +29,353 @@
 <span class="sourceLineNo">021</span>import java.io.IOException;<a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.io.InterruptedIOException;<a name="line.22"></a>
 <span class="sourceLineNo">023</span>import java.util.NavigableSet;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.util.concurrent.TimeUnit;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<a name="line.25"></a>
-<span class="sourceLineNo">026</span><a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.commons.lang.StringUtils;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.commons.logging.Log;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.commons.logging.LogFactory;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.conf.Configuration;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.HConstants;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.TableName;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.ZKNamespaceManager;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.client.Get;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.client.Put;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.Result;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.client.Table;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.constraint.ConstraintException;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.exceptions.TimeoutIOException;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.master.procedure.CreateTableProcedure;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.57"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.commons.lang.StringUtils;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.commons.logging.Log;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.commons.logging.LogFactory;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.conf.Configuration;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.HConstants;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.TableName;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.ZKNamespaceManager;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.client.Get;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.client.Put;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.client.Result;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.Table;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.constraint.ConstraintException;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.exceptions.TimeoutIOException;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.master.procedure.CreateTableProcedure;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.55"></a>
+<span class="sourceLineNo">056</span><a name="line.56"></a>
+<span class="sourceLineNo">057</span>import com.google.common.collect.Sets;<a name="line.57"></a>
 <span class="sourceLineNo">058</span><a name="line.58"></a>
-<span class="sourceLineNo">059</span>import com.google.common.collect.Sets;<a name="line.59"></a>
-<span class="sourceLineNo">060</span><a name="line.60"></a>
-<span class="sourceLineNo">061</span>/**<a name="line.61"></a>
-<span class="sourceLineNo">062</span> * This is a helper class used internally to manage the namespace metadata that is stored in<a name="line.62"></a>
-<span class="sourceLineNo">063</span> * TableName.NAMESPACE_TABLE_NAME. It also mirrors updates to the ZK store by forwarding updates to<a name="line.63"></a>
-<span class="sourceLineNo">064</span> * {@link org.apache.hadoop.hbase.ZKNamespaceManager}.<a name="line.64"></a>
-<span class="sourceLineNo">065</span> * <a name="line.65"></a>
-<span class="sourceLineNo">066</span> * WARNING: Do not use. Go via the higher-level {@link ClusterSchema} API instead. This manager<a name="line.66"></a>
-<span class="sourceLineNo">067</span> * is likely to go aways anyways.<a name="line.67"></a>
-<span class="sourceLineNo">068</span> */<a name="line.68"></a>
-<span class="sourceLineNo">069</span>@InterfaceAudience.Private<a name="line.69"></a>
-<span class="sourceLineNo">070</span>public class TableNamespaceManager {<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  private static final Log LOG = LogFactory.getLog(TableNamespaceManager.class);<a name="line.71"></a>
-<span class="sourceLineNo">072</span><a name="line.72"></a>
-<span class="sourceLineNo">073</span>  private Configuration conf;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  private MasterServices masterServices;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  private Table nsTable = null;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  private ZKNamespaceManager zkNamespaceManager;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  private boolean initialized;<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>  private final ReentrantReadWriteLock rwLock = new ReentrantReadWriteLock();<a name="line.79"></a>
-<span class="sourceLineNo">080</span><a name="line.80"></a>
-<span class="sourceLineNo">081</span>  public static final String KEY_MAX_REGIONS = "hbase.namespace.quota.maxregions";<a name="line.81"></a>
-<span class="sourceLineNo">082</span>  public static final String KEY_MAX_TABLES = "hbase.namespace.quota.maxtables";<a name="line.82"></a>
-<span class="sourceLineNo">083</span>  static final String NS_INIT_TIMEOUT = "hbase.master.namespace.init.timeout";<a name="line.83"></a>
-<span class="sourceLineNo">084</span>  static final int DEFAULT_NS_INIT_TIMEOUT = 300000;<a name="line.84"></a>
-<span class="sourceLineNo">085</span><a name="line.85"></a>
-<span class="sourceLineNo">086</span>  /** Configuration key for time out for trying to acquire table locks */<a name="line.86"></a>
-<span class="sourceLineNo">087</span>  private static final String TABLE_WRITE_LOCK_TIMEOUT_MS =<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    "hbase.table.write.lock.timeout.ms";<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  /** Configuration key for time out for trying to acquire table locks */<a name="line.89"></a>
-<span class="sourceLineNo">090</span>  private static final String TABLE_READ_LOCK_TIMEOUT_MS =<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    "hbase.table.read.lock.timeout.ms";<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  private static final long DEFAULT_TABLE_WRITE_LOCK_TIMEOUT_MS = 600 * 1000; //10 min default<a name="line.92"></a>
-<span class="sourceLineNo">093</span>  private static final long DEFAULT_TABLE_READ_LOCK_TIMEOUT_MS = 600 * 1000; //10 min default<a name="line.93"></a>
-<span class="sourceLineNo">094</span><a name="line.94"></a>
-<span class="sourceLineNo">095</span>  private long exclusiveLockTimeoutMs;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>  private long sharedLockTimeoutMs;<a name="line.96"></a>
-<span class="sourceLineNo">097</span><a name="line.97"></a>
-<span class="sourceLineNo">098</span>  TableNamespaceManager(MasterServices masterServices) {<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    this.masterServices = masterServices;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    this.conf = masterServices.getConfiguration();<a name="line.100"></a>
-<span class="sourceLineNo">101</span><a name="line.101"></a>
-<span class="sourceLineNo">102</span>    this.exclusiveLockTimeoutMs = conf.getLong(<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      TABLE_WRITE_LOCK_TIMEOUT_MS,<a name="line.103"></a>
-<span class="sourceLineNo">104</span>      DEFAULT_TABLE_WRITE_LOCK_TIMEOUT_MS);<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    this.sharedLockTimeoutMs = conf.getLong(<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      TABLE_READ_LOCK_TIMEOUT_MS,<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      DEFAULT_TABLE_READ_LOCK_TIMEOUT_MS);<a name="line.107"></a>
-<span class="sourceLineNo">108</span>  }<a name="line.108"></a>
-<span class="sourceLineNo">109</span><a name="line.109"></a>
-<span class="sourceLineNo">110</span>  public void start() throws IOException {<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    if (!MetaTableAccessor.tableExists(masterServices.getConnection(),<a name="line.111"></a>
-<span class="sourceLineNo">112</span>        TableName.NAMESPACE_TABLE_NAME)) {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>      LOG.info("Namespace table not found. Creating...");<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      createNamespaceTable(masterServices);<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    }<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>    try {<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      // Wait for the namespace table to be initialized.<a name="line.118"></a>
-<span class="sourceLineNo">119</span>      long startTime = EnvironmentEdgeManager.currentTime();<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      int timeout = conf.getInt(NS_INIT_TIMEOUT, DEFAULT_NS_INIT_TIMEOUT);<a name="line.120"></a>
-<span class="sourceLineNo">121</span>      while (!isTableAvailableAndInitialized()) {<a name="line.121"></a>
-<span class="sourceLineNo">122</span>        if (EnvironmentEdgeManager.currentTime() - startTime + 100 &gt; timeout) {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>          // We can't do anything if ns is not online.<a name="line.123"></a>
-<span class="sourceLineNo">124</span>          throw new IOException("Timedout " + timeout + "ms waiting for namespace table to "<a name="line.124"></a>
-<span class="sourceLineNo">125</span>              + "be assigned and enabled: " + getTableState());<a name="line.125"></a>
-<span class="sourceLineNo">126</span>        }<a name="line.126"></a>
-<span class="sourceLineNo">127</span>        Thread.sleep(100);<a name="line.127"></a>
-<span class="sourceLineNo">128</span>      }<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    } catch (InterruptedException e) {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>      throw (InterruptedIOException) new InterruptedIOException().initCause(e);<a name="line.130"></a>
+<span class="sourceLineNo">059</span>/**<a name="line.59"></a>
+<span class="sourceLineNo">060</span> * This is a helper class used internally to manage the namespace metadata that is stored in<a name="line.60"></a>
+<span class="sourceLineNo">061</span> * TableName.NAMESPACE_TABLE_NAME. It also mirrors updates to the ZK store by forwarding updates to<a name="line.61"></a>
+<span class="sourceLineNo">062</span> * {@link org.apache.hadoop.hbase.ZKNamespaceManager}.<a name="line.62"></a>
+<span class="sourceLineNo">063</span> *<a name="line.63"></a>
+<span class="sourceLineNo">064</span> * WARNING: Do not use. Go via the higher-level {@link ClusterSchema} API instead. This manager<a name="line.64"></a>
+<span class="sourceLineNo">065</span> * is likely to go aways anyways.<a name="line.65"></a>
+<span class="sourceLineNo">066</span> */<a name="line.66"></a>
+<span class="sourceLineNo">067</span>@InterfaceAudience.Private<a name="line.67"></a>
+<span class="sourceLineNo">068</span>public class TableNamespaceManager {<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  private static final Log LOG = LogFactory.getLog(TableNamespaceManager.class);<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span>  private Configuration conf;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>  private MasterServices masterServices;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>  private Table nsTable = null;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  private ZKNamespaceManager zkNamespaceManager;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>  private boolean initialized;<a name="line.75"></a>
+<span class="sourceLineNo">076</span><a name="line.76"></a>
+<span class="sourceLineNo">077</span>  public static final String KEY_MAX_REGIONS = "hbase.namespace.quota.maxregions";<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  public static final String KEY_MAX_TABLES = "hbase.namespace.quota.maxtables";<a name="line.78"></a>
+<span class="sourceLineNo">079</span>  static final String NS_INIT_TIMEOUT = "hbase.master.namespace.init.timeout";<a name="line.79"></a>
+<span class="sourceLineNo">080</span>  static final int DEFAULT_NS_INIT_TIMEOUT = 300000;<a name="line.80"></a>
+<span class="sourceLineNo">081</span><a name="line.81"></a>
+<span class="sourceLineNo">082</span>  TableNamespaceManager(MasterServices masterServices) {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    this.masterServices = masterServices;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    this.conf = masterServices.getConfiguration();<a name="line.84"></a>
+<span class="sourceLineNo">085</span>  }<a name="line.85"></a>
+<span class="sourceLineNo">086</span><a name="line.86"></a>
+<span class="sourceLineNo">087</span>  public void start() throws IOException {<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    if (!MetaTableAccessor.tableExists(masterServices.getConnection(),<a name="line.88"></a>
+<span class="sourceLineNo">089</span>        TableName.NAMESPACE_TABLE_NAME)) {<a name="line.89"></a>
+<span class="sourceLineNo">090</span>      LOG.info("Namespace table not found. Creating...");<a name="line.90"></a>
+<span class="sourceLineNo">091</span>      createNamespaceTable(masterServices);<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    }<a name="line.92"></a>
+<span class="sourceLineNo">093</span><a name="line.93"></a>
+<span class="sourceLineNo">094</span>    try {<a name="line.94"></a>
+<span class="sourceLineNo">095</span>      // Wait for the namespace table to be initialized.<a name="line.95"></a>
+<span class="sourceLineNo">096</span>      long startTime = EnvironmentEdgeManager.currentTime();<a name="line.96"></a>
+<span class="sourceLineNo">097</span>      int timeout = conf.getInt(NS_INIT_TIMEOUT, DEFAULT_NS_INIT_TIMEOUT);<a name="line.97"></a>
+<span class="sourceLineNo">098</span>      while (!isTableAvailableAndInitialized()) {<a name="line.98"></a>
+<span class="sourceLineNo">099</span>        if (EnvironmentEdgeManager.currentTime() - startTime + 100 &gt; timeout) {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>          // We can't do anything if ns is not online.<a name="line.100"></a>
+<span class="sourceLineNo">101</span>          throw new IOException("Timedout " + timeout + "ms waiting for namespace table to "<a name="line.101"></a>
+<span class="sourceLineNo">102</span>              + "be assigned and enabled: " + getTableState());<a name="line.102"></a>
+<span class="sourceLineNo">103</span>        }<a name="line.103"></a>
+<span class="sourceLineNo">104</span>        Thread.sleep(100);<a name="line.104"></a>
+<span class="sourceLineNo">105</span>      }<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    } catch (InterruptedException e) {<a name="line.106"></a>
+<span class="sourceLineNo">107</span>      throw (InterruptedIOException) new InterruptedIOException().initCause(e);<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    }<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  }<a name="line.109"></a>
+<span class="sourceLineNo">110</span><a name="line.110"></a>
+<span class="sourceLineNo">111</span>  private synchronized Table getNamespaceTable() throws IOException {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    if (!isTableNamespaceManagerInitialized()) {<a name="line.112"></a>
+<span class="sourceLineNo">113</span>      throw new IOException(this.getClass().getName() + " isn't ready to serve");<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    }<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    return nsTable;<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>   * check whether a namespace has already existed.<a name="line.119"></a>
+<span class="sourceLineNo">120</span>   */<a name="line.120"></a>
+<span class="sourceLineNo">121</span>  public boolean doesNamespaceExist(final String namespaceName) throws IOException {<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    if (nsTable == null) {<a name="line.122"></a>
+<span class="sourceLineNo">123</span>      throw new IOException(this.getClass().getName() + " isn't ready to serve");<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    }<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    return (get(nsTable, namespaceName) != null);<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 synchronized NamespaceDescriptor get(String name) throws IOException {<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    if (!isTableNamespaceManagerInitialized()) {<a name="line.129"></a>
+<span class="sourceLineNo">130</span>      return null;<a name="line.130"></a>
 <span class="sourceLineNo">131</span>    }<a name="line.131"></a>
-<span class="sourceLineNo">132</span>  }<a name="line.132"></a>
-<span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span>  private synchronized Table getNamespaceTable() throws IOException {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    if (!isTableNamespaceManagerInitialized()) {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>      throw new IOException(this.getClass().getName() + " isn't ready to serve");<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    }<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    return nsTable;<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>  private boolean acquireSharedLock() throws IOException {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    try {<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      return rwLock.readLock().tryLock(sharedLockTimeoutMs, TimeUnit.MILLISECONDS);<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    } catch (InterruptedException e) {<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      throw (InterruptedIOException) new InterruptedIOException().initCause(e);<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    }<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  }<a name="line.147"></a>
-<span class="sourceLineNo">148</span><a name="line.148"></a>
-<span class="sourceLineNo">149</span>  public void releaseSharedLock() {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    rwLock.readLock().unlock();<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  }<a name="line.151"></a>
-<span class="sourceLineNo">152</span><a name="line.152"></a>
-<span class="sourceLineNo">153</span>  public boolean acquireExclusiveLock() {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    try {<a name="line.154"></a>
-<span class="sourceLineNo">155</span>      return rwLock.writeLock().tryLock(exclusiveLockTimeoutMs, TimeUnit.MILLISECONDS);<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    } catch (InterruptedException e) {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>      return false;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    }<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  }<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>  public void releaseExclusiveLock() {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    rwLock.writeLock().unlock();<a name="line.162"></a>
-<span class="sourceLineNo">163</span>  }<a name="line.163"></a>
-<span class="sourceLineNo">164</span><a name="line.164"></a>
-<span class="sourceLineNo">165</span>  /*<a name="line.165"></a>
-<span class="sourceLineNo">166</span>   * check whether a namespace has already existed.<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   */<a name="line.167"></a>
-<span class="sourceLineNo">168</span>  public boolean doesNamespaceExist(final String namespaceName) throws IOException {<a name="line.168"></a>
+<span class="sourceLineNo">132</span>    return zkNamespaceManager.get(name);<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>  private NamespaceDescriptor get(Table table, String name) throws IOException {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    Result res = table.get(new Get(Bytes.toBytes(name)));<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    if (res.isEmpty()) {<a name="line.137"></a>
+<span class="sourceLineNo">138</span>      return null;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    }<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    byte[] val = CellUtil.cloneValue(res.getColumnLatestCell(<a name="line.140"></a>
+<span class="sourceLineNo">141</span>        HTableDescriptor.NAMESPACE_FAMILY_INFO_BYTES, HTableDescriptor.NAMESPACE_COL_DESC_BYTES));<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    return<a name="line.142"></a>
+<span class="sourceLineNo">143</span>        ProtobufUtil.toNamespaceDescriptor(<a name="line.143"></a>
+<span class="sourceLineNo">144</span>            HBaseProtos.NamespaceDescriptor.parseFrom(val));<a name="line.144"></a>
+<span class="sourceLineNo">145</span>  }<a name="line.145"></a>
+<span class="sourceLineNo">146</span><a name="line.146"></a>
+<span class="sourceLineNo">147</span>  public void insertIntoNSTable(final NamespaceDescriptor ns) throws IOException {<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    if (nsTable == null) {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      throw new IOException(this.getClass().getName() + " isn't ready to serve");<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    }<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    Put p = new Put(Bytes.toBytes(ns.getName()));<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    p.addImmutable(HTableDescriptor.NAMESPACE_FAMILY_INFO_BYTES,<a name="line.152"></a>
+<span class="sourceLineNo">153</span>        HTableDescriptor.NAMESPACE_COL_DESC_BYTES,<a name="line.153"></a>
+<span class="sourceLineNo">154</span>        ProtobufUtil.toProtoNamespaceDescriptor(ns).toByteArray());<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    nsTable.put(p);<a name="line.155"></a>
+<span class="sourceLineNo">156</span>  }<a name="line.156"></a>
+<span class="sourceLineNo">157</span><a name="line.157"></a>
+<span class="sourceLineNo">158</span>  public void updateZKNamespaceManager(final NamespaceDescriptor ns) throws IOException {<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    try {<a name="line.159"></a>
+<span class="sourceLineNo">160</span>      zkNamespaceManager.update(ns);<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    } catch (IOException ex) {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>      String msg = "Failed to update namespace information in ZK.";<a name="line.162"></a>
+<span class="sourceLineNo">163</span>      LOG.error(msg, ex);<a name="line.163"></a>
+<span class="sourceLineNo">164</span>      throw new IOException(msg, ex);<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    }<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  }<a name="line.166"></a>
+<span class="sourceLineNo">167</span><a name="line.167"></a>
+<span class="sourceLineNo">168</span>  public void removeFromNSTable(final String namespaceName) throws IOException {<a name="line.168"></a>
 <span class="sourceLineNo">169</span>    if (nsTable == null) {<a name="line.169"></a>
 <span class="sourceLineNo">170</span>      throw new IOException(this.getClass().getName() + " isn't ready to serve");<a name="line.170"></a>
 <span class="sourceLineNo">171</span>    }<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    return (get(nsTable, namespaceName) != null);<a name="line.172"></a>
-<span class="sourceLineNo">173</span>  }<a name="line.173"></a>
-<span class="sourceLineNo">174</span><a name="line.174"></a>
-<span class="sourceLineNo">175</span>  public synchronized NamespaceDescriptor get(String name) throws IOException {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    if (!isTableNamespaceManagerInitialized()) {<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      return null;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    }<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    return zkNamespaceManager.get(name);<a name="line.179"></a>
-<span class="sourceLineNo">180</span>  }<a name="line.180"></a>
-<span class="sourceLineNo">181</span><a name="line.181"></a>
-<span class="sourceLineNo">182</span>  private NamespaceDescriptor get(Table table, String name) throws IOException {<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    Result res = table.get(new Get(Bytes.toBytes(name)));<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    if (res.isEmpty()) {<a name="line.184"></a>
-<span class="sourceLineNo">185</span>      return null;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    }<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    byte[] val = CellUtil.cloneValue(res.getColumnLatestCell(<a name="line.187"></a>
-<span class="sourceLineNo">188</span>        HTableDescriptor.NAMESPACE_FAMILY_INFO_BYTES, HTableDescriptor.NAMESPACE_COL_DESC_BYTES));<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    return<a name="line.189"></a>
-<span class="sourceLineNo">190</span>        ProtobufUtil.toNamespaceDescriptor(<a name="line.190"></a>
-<span class="sourceLineNo">191</span>            HBaseProtos.NamespaceDescriptor.parseFrom(val));<a name="line.191"></a>
-<span class="sourceLineNo">192</span>  }<a name="line.192"></a>
-<span class="sourceLineNo">193</span><a name="line.193"></a>
-<span class="sourceLineNo">194</span>  public void insertIntoNSTable(final NamespaceDescriptor ns) throws IOException {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    if (nsTable == null) {<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      throw new IOException(this.getClass().getName() + " isn't ready to serve");<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    }<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    Put p = new Put(Bytes.toBytes(ns.getName()));<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    p.addImmutable(HTableDescriptor.NAMESPACE_FAMILY_INFO_BYTES,<a name="line.199"></a>
-<span class="sourceLineNo">200</span>        HTableDescriptor.NAMESPACE_COL_DESC_BYTES,<a name="line.200"></a>
-<span class="sourceLineNo">201</span>        ProtobufUtil.toProtoNamespaceDescriptor(ns).toByteArray());<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    nsTable.put(p);<a name="line.202"></a>
-<span class="sourceLineNo">203</span>  }<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>  public void updateZKNamespaceManager(final NamespaceDescriptor ns) throws IOException {<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    try {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      zkNamespaceManager.update(ns);<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    } catch (IOException ex) {<a name="line.208"></a>
-<span class="sourceLineNo">209</span>      String msg = "Failed to update namespace information in ZK.";<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      LOG.error(msg, ex);<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      throw new IOException(msg, ex);<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    }<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  }<a name="line.213"></a>
-<span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  public void removeFromNSTable(final String namespaceName) throws IOException {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    if (nsTable == null) {<a name="line.216"></a>
-<span class="sourceLineNo">217</span>      throw new IOException(this.getClass().getName() + " isn't ready to serve");<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    }<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    Delete d = new Delete(Bytes.toBytes(namespaceName));<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    nsTable.delete(d);<a name="line.220"></a>
-<span class="sourceLineNo">221</span>  }<a name="line.221"></a>
-<span class="sourceLineNo">222</span><a name="line.222"></a>
-<span class="sourceLineNo">223</span>  public void removeFromZKNamespaceManager(final String namespaceName) throws IOException {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    zkNamespaceManager.remove(namespaceName);<a name="line.224"></a>
-<span class="sourceLineNo">225</span>  }<a name="line.225"></a>
-<span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span>  public synchronized NavigableSet&lt;NamespaceDescriptor&gt; list() throws IOException {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    NavigableSet&lt;NamespaceDescriptor&gt; ret =<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        Sets.newTreeSet(NamespaceDescriptor.NAMESPACE_DESCRIPTOR_COMPARATOR);<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    ResultScanner scanner =<a name="line.230"></a>
-<span class="sourceLineNo">231</span>        getNamespaceTable().getScanner(HTableDescriptor.NAMESPACE_FAMILY_INFO_BYTES);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    boolean locked = false;<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    try {<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      locked = acquireSharedLock();<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      if (!locked) {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>        throw new IOException(<a name="line.236"></a>
-<span class="sourceLineNo">237</span>          "Fail to acquire lock to scan namespace list.  Some namespace DDL is in progress.");<a name="line.237"></a>
-<span class="sourceLineNo">238</span>      }<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      for(Result r : scanner) {<a name="line.239"></a>
-<span class="sourceLineNo">240</span>        byte[] val = CellUtil.cloneValue(r.getColumnLatestCell(<a name="line.240"></a>
-<span class="sourceLineNo">241</span>          HTableDescriptor.NAMESPACE_FAMILY_INFO_BYTES,<a name="line.241"></a>
-<span class="sourceLineNo">242</span>          HTableDescriptor.NAMESPACE_COL_DESC_BYTES));<a name="line.242"></a>
-<span class="sourceLineNo">243</span>        ret.add(ProtobufUtil.toNamespaceDescriptor(<a name="line.243"></a>
-<span class="sourceLineNo">244</span>            HBaseProtos.NamespaceDescriptor.parseFrom(val)));<a name="line.244"></a>
-<span class="sourceLineNo">245</span>      }<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    } finally {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>      scanner.close();<a name="line.247"></a>
-<span class="sourceLineNo">248</span>      if (locked) {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>        releaseSharedLock();<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>    return ret;<a name="line.252"></a>
-<span class="sourceLineNo">253</span>  }<a name="line.253"></a>
-<span class="sourceLineNo">254</span><a name="line.254"></a>
-<span class="sourceLineNo">255</span>  private void createNamespaceTable(MasterServices masterServices) throws IOException {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    HRegionInfo[] newRegions = new HRegionInfo[]{<a name="line.256"></a>
-<span class="sourceLineNo">257</span>        new HRegionInfo(HTableDescriptor.NAMESPACE_TABLEDESC.getTableName(), null, null)};<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>    // we need to create the table this way to bypass checkInitialized<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    masterServices.getMasterProcedureExecutor()<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      .submitProcedure(new CreateTableProcedure(<a name="line.261"></a>
-<span class="sourceLineNo">262</span>          masterServices.getMasterProcedureExecutor().getEnvironment(),<a name="line.262"></a>
-<span class="sourceLineNo">263</span>          HTableDescriptor.NAMESPACE_TABLEDESC,<a name="line.263"></a>
-<span class="sourceLineNo">264</span>          newRegions));<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>  @SuppressWarnings("deprecation")<a name="line.267"></a>
-<span class="sourceLineNo">268</span>  private boolean isTableNamespaceManagerInitialized() throws IOException {<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    if (initialized) {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      this.nsTable = this.masterServices.getConnection().getTable(TableName.NAMESPACE_TABLE_NAME);<a name="line.270"></a>
-<span class="sourceLineNo">271</span>      return true;<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    }<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    return false;<a name="line.273"></a>
-<span class="sourceLineNo">274</span>  }<a name="line.274"></a>
+<span class="sourceLineNo">172</span>    Delete d = new Delete(Bytes.toBytes(namespaceName));<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    nsTable.delete(d);<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>  public void removeFromZKNamespaceManager(final String namespaceName) throws IOException {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    zkNamespaceManager.remove(namespaceName);<a name="line.177"></a>
+<span class="sourceLineNo">178</span>  }<a name="line.178"></a>
+<span class="sourceLineNo">179</span><a name="line.179"></a>
+<span class="sourceLineNo">180</span>  public synchronized NavigableSet&lt;NamespaceDescriptor&gt; list() throws IOException {<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    NavigableSet&lt;NamespaceDescriptor&gt; ret =<a name="line.181"></a>
+<span class="sourceLineNo">182</span>        Sets.newTreeSet(NamespaceDescriptor.NAMESPACE_DESCRIPTOR_COMPARATOR);<a name="line.182"></a>
+<span class="sourceLineNo">183</span>    ResultScanner scanner =<a name="line.183"></a>
+<span class="sourceLineNo">184</span>        getNamespaceTable().getScanner(HTableDescriptor.NAMESPACE_FAMILY_INFO_BYTES);<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    try {<a name="line.185"></a>
+<span class="sourceLineNo">186</span>      for(Result r : scanner) {<a name="line.186"></a>
+<span class="sourceLineNo">187</span>        byte[] val = CellUtil.cloneValue(r.getColumnLatestCell(<a name="line.187"></a>
+<span class="sourceLineNo">188</span>          HTableDescriptor.NAMESPACE_FAMILY_INFO_BYTES,<a name="line.188"></a>
+<span class="sourceLineNo">189</span>          HTableDescriptor.NAMESPACE_COL_DESC_BYTES));<a name="line.189"></a>
+<span class="sourceLineNo">190</span>        ret.add(ProtobufUtil.toNamespaceDescriptor(<a name="line.190"></a>
+<span class="sourceLineNo">191</span>            HBaseProtos.NamespaceDescriptor.parseFrom(val)));<a name="line.191"></a>
+<span class="sourceLineNo">192</span>      }<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    } finally {<a name="line.193"></a>
+<span class="sourceLineNo">194</span>      scanner.close();<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    }<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    return ret;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>  }<a name="line.197"></a>
+<span class="sourceLineNo">198</span><a name="line.198"></a>
+<span class="sourceLineNo">199</span>  private void createNamespaceTable(MasterServices masterServices) throws IOException {<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    HRegionInfo[] newRegions = new HRegionInfo[]{<a name="line.200"></a>
+<span class="sourceLineNo">201</span>        new HRegionInfo(HTableDescriptor.NAMESPACE_TABLEDESC.getTableName(), null, null)};<a name="line.201"></a>
+<span class="sourceLineNo">202</span><a name="line.202"></a>
+<span class="sourceLineNo">203</span>    // we need to create the table this way to bypass checkInitialized<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    masterServices.getMasterProcedureExecutor()<a name="line.204"></a>
+<span class="sourceLineNo">205</span>      .submitProcedure(new CreateTableProcedure(<a name="line.205"></a>
+<span class="sourceLineNo">206</span>          masterServices.getMasterProcedureExecutor().getEnvironment(),<a name="line.206"></a>
+<span class="sourceLineNo">207</span>          HTableDescriptor.NAMESPACE_TABLEDESC,<a name="line.207"></a>
+<span class="sourceLineNo">208</span>          newRegions));<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  }<a name="line.209"></a>
+<span class="sourceLineNo">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span>  @SuppressWarnings("deprecation")<a name="line.211"></a>
+<span class="sourceLineNo">212</span>  private boolean isTableNamespaceManagerInitialized() throws IOException {<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    if (initialized) {<a name="line.213"></a>
+<span class="sourceLineNo">214</span>      this.nsTable = this.masterServices.getConnection().getTable(TableName.NAMESPACE_TABLE_NAME);<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      return true;<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    }<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    return false;<a name="line.217"></a>
+<span class="sourceLineNo">218</span>  }<a name="line.218"></a>
+<span class="sourceLineNo">219</span><a name="line.219"></a>
+<span class="sourceLineNo">220</span>  /**<a name="line.220"></a>
+<span class="sourceLineNo">221</span>   * Create Namespace in a blocking manner. Keeps trying until<a name="line.221"></a>
+<span class="sourceLineNo">222</span>   * {@link ClusterSchema.HBASE_MASTER_CLUSTER_SCHEMA_OPERATION_TIMEOUT_KEY} expires.<a name="line.222"></a>
+<span class="sourceLineNo">223</span>   * Note, by-passes notifying coprocessors and name checks. Use for system namespaces only.<a name="line.223"></a>
+<span class="sourceLineNo">224</span>   */<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  private void blockingCreateNamespace(final NamespaceDescriptor namespaceDescriptor)<a name="line.225"></a>
+<span class="sourceLineNo">226</span>  throws IOException {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    ClusterSchema clusterSchema = this.masterServices.getClusterSchema();<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    long procId =<a name="line.228"></a>
+<span class="sourceLineNo">229</span>      clusterSchema.createNamespace(namespaceDescriptor, HConstants.NO_NONCE, HConstants.NO_NONCE);<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    block(this.masterServices, procId);<a name="line.230"></a>
+<span class="sourceLineNo">231</span>  }<a name="line.231"></a>
+<span class="sourceLineNo">232</span><a name="line.232"></a>
+<span class="sourceLineNo">233</span><a name="line.233"></a>
+<span class="sourceLineNo">234</span>  /**<a name="line.234"></a>
+<span class="sourceLineNo">235</span>   * An ugly utility to be removed when refactor TableNamespaceManager.<a name="line.235"></a>
+<span class="sourceLineNo">236</span>   * @throws TimeoutIOException<a name="line.236"></a>
+<span class="sourceLineNo">237</span>   */<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  private static void block(final MasterServices services, final long procId)<a name="line.238"></a>
+<span class="sourceLineNo">239</span>  throws TimeoutIOException {<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    int timeoutInMillis = services.getConfiguration().<a name="line.240"></a>
+<span class="sourceLineNo">241</span>        getInt(ClusterSchema.HBASE_MASTER_CLUSTER_SCHEMA_OPERATION_TIMEOUT_KEY,<a name="line.241"></a>
+<span class="sourceLineNo">242</span>            ClusterSchema.DEFAULT_HBASE_MASTER_CLUSTER_SCHEMA_OPERATION_TIMEOUT);<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    long deadlineTs = EnvironmentEdgeManager.currentTime() + timeoutInMillis;<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    ProcedureExecutor&lt;MasterProcedureEnv&gt; procedureExecutor =<a name="line.244"></a>
+<span class="sourceLineNo">245</span>        services.getMasterProcedureExecutor();<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    while(EnvironmentEdgeManager.currentTime() &lt; deadlineTs) {<a name="line.246"></a>
+<span class="sourceLineNo">247</span>      if (procedureExecutor.isFinished(procId)) return;<a name="line.247"></a>
+<span class="sourceLineNo">248</span>      // Sleep some<a name="line.248"></a>
+<span class="sourceLineNo">249</span>      Threads.sleep(10);<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    }<a name="line.250"></a>
+<span class="sourceLineNo">251</span>    throw new TimeoutIOException("Procedure " + procId + " is still running");<a name="line.251"></a>
+<span class="sourceLineNo">252</span>  }<a name="line.252"></a>
+<span class="sourceLineNo">253</span><a name="line.253"></a>
+<span class="sourceLineNo">254</span>  /**<a name="line.254"></a>
+<span class="sourceLineNo">255</span>   * This method checks if the namespace table is assigned and then<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   * tries to create its Table reference. If it was already created before, it also makes<a name="line.256"></a>
+<span class="sourceLineNo">257</span>   * sure that the connection isn't closed.<a name="line.257"></a>
+<span class="sourceLineNo">258</span>   * @return true if the namespace table manager is ready to serve, false otherwise<a name="line.258"></a>
+<span class="sourceLineNo">259</span>   */<a name="line.259"></a>
+<span class="sourceLineNo">260</span>  @SuppressWarnings("deprecation")<a name="line.260"></a>
+<span class="sourceLineNo">261</span>  public synchronized boolean isTableAvailableAndInitialized()<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  throws IOException {<a name="line.262"></a>
+<span class="sourceLineNo">263</span>    // Did we already get a table? If so, still make sure it's available<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    if (isTableNamespaceManagerInitialized()) {<a name="line.264"></a>
+<span class="sourceLineNo">265</span>      return true;<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    }<a name="line.266"></a>
+<span class="sourceLineNo">267</span><a name="line.267"></a>
+<span class="sourceLineNo">268</span>    // Now check if the table is assigned, if not then fail fast<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    if (isTableAssigned() &amp;&amp; isTableEnabled()) {<a name="line.269"></a>
+<span class="sourceLineNo">270</span>      try {<a name="line.270"></a>
+<span class="sourceLineNo">271</span>        boolean initGoodSofar = true;<a name="line.271"></a>
+<span class="sourceLineNo">272</span>        nsTable = this.masterServices.getConnection().getTable(TableName.NAMESPACE_TABLE_NAME);<a name="line.272"></a>
+<span class="sourceLineNo">273</span>        zkNamespaceManager = new ZKNamespaceManager(masterServices.getZooKeeper());<a name="line.273"></a>
+<span class="sourceLineNo">274</span>        zkNamespaceManager.start();<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>   * Create Namespace in a blocking manner. Keeps trying until<a name="line.277"></a>
-<span class="sourceLineNo">278</span>   * {@link ClusterSchema.HBASE_MASTER_CLUSTER_SCHEMA_OPERATION_TIMEOUT_KEY} expires.<a name="line.278"></a>
-<span class="sourceLineNo">279</span>   * Note, by-passes notifying coprocessors and name checks. Use for system namespaces only.<a name="line.279"></a>
-<span class="sourceLineNo">280</span>   */<a name="line.280"></a>
-<span class="sourceLineNo">281</span>  private void blockingCreateNamespace(final NamespaceDescriptor namespaceDescriptor)<a name="line.281"></a>
-<span class="sourceLineNo">282</span>  throws IOException {<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    ClusterSchema clusterSchema = this.masterServices.getClusterSchema();<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    long procId =<a name="line.284"></a>
-<span class="sourceLineNo">285</span>      clusterSchema.createNamespace(namespaceDescriptor, HConstants.NO_NONCE, HConstants.NO_NONCE);<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    block(this.masterServices, procId);<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  }<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span><a name="line.289"></a>
-<span class="sourceLineNo">290</span>  /**<a name="line.290"></a>
-<span class="sourceLineNo">291</span>   * An ugly utility to be removed when refactor TableNamespaceManager.<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   * @throws TimeoutIOException<a name="line.292"></a>
-<span class="sourceLineNo">293</span>   */<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  private static void block(final MasterServices services, final long procId)<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  throws TimeoutIOException {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    int timeoutInMillis = services.getConfiguration().<a name="line.296"></a>
-<span class="sourceLineNo">297</span>        getInt(ClusterSchema.HBASE_MASTER_CLUSTER_SCHEMA_OPERATION_TIMEOUT_KEY,<a name="line.297"></a>
-<span class="sourceLineNo">298</span>            ClusterSchema.DEFAULT_HBASE_MASTER_CLUSTER_SCHEMA_OPERATION_TIMEOUT);<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    long deadlineTs = EnvironmentEdgeManager.currentTime() + timeoutInMillis;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    ProcedureExecutor&lt;MasterProcedureEnv&gt; procedureExecutor =<a name="line.300"></a>
-<span class="sourceLineNo">301</span>        services.getMasterProcedureExecutor();<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    while(EnvironmentEdgeManager.currentTime() &lt; deadlineTs) {<a name="line.302"></a>
-<span class="sourceLineNo">303</span>      if (procedureExecutor.isFinished(procId)) return;<a name="line.303"></a>
-<span class="sourceLineNo">304</span>      // Sleep some<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      Threads.sleep(10);<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    }<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    throw new TimeoutIOException("Procedure " + procId + " is still running");<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  }<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>  /**<a name="line.310"></a>
-<span class="sourceLineNo">311</span>   * This method checks if the namespace table is assigned and then<a name="line.311"></a>
-<span class="sourceLineNo">312</span>   * tries to create its Table reference. If it was already created before, it also makes<a name="line.312"></a>
-<span class="sourceLineNo">313</span>   * sure that the connection isn't closed.<a name="line.313"></a>
-<span class="sourceLineNo">314</span>   * @return true if the namespace table manager is ready to serve, false otherwise<a name="line.314"></a>
-<span class="sourceLineNo">315</span>   */<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  @SuppressWarnings("deprecation")<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  public synchronized boolean isTableAvailableAndInitialized()<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  throws IOException {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    // Did we already get a table? If so, still make sure it's available<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    if (isTableNamespaceManagerInitialized()) {<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      return true;<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>    // Now check if the table is assigned, if not then fail fast<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    if (isTableAssigned() &amp;&amp; isTableEnabled()) {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      try {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>        boolean initGoodSofar = true;<a name="line.327"></a>
-<span class="sourceLineNo">328</span>        nsTable = this.masterServices.getConnection().getTable(TableName.NAMESPACE_TABLE_NAME);<a name="line.328"></a>
-<span class="sourceLineNo">329</span>        zkNamespaceManager = new ZKNamespaceManager(masterServices.getZooKeeper());<a name="line.329"></a>
-<span class="sourceLineNo">330</span>        zkNamespaceManager.start();<a name="line.330"></a>
-<span class="sourceLineNo">331</span><a name="line.331"></a>
-<span class="sourceLineNo">332</span>        if (get(nsTable, NamespaceDescriptor.DEFAULT_NAMESPACE.getName()) == null) {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>          blockingCreateNamespace(NamespaceDescriptor.DEFAULT_NAMESPACE);<a name="line.333"></a>
-<span class="sourceLineNo">334</span>        }<a name="line.334"></a>
-<span class="sourceLineNo">335</span>        if (get(nsTable, NamespaceDescriptor.SYSTEM_NAMESPACE.getName()) == null) {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>          blockingCreateNamespace(NamespaceDescriptor.SYSTEM_NAMESPACE);<a name="line.336"></a>
-<span class="sourceLineNo">337</span>        }<a name="line.337"></a>
+<span class="sourceLineNo">276</span>        if (get(nsTable, NamespaceDescriptor.DEFAULT_NAMESPACE.getName()) == null) {<a name="line.276"></a>
+<span class="sourceLineNo">277</span>          blockingCreateNamespace(NamespaceDescriptor.DEFAULT_NAMESPACE);<a name="line.277"></a>
+<span class="sourceLineNo">278</span>        }<a name="line.278"></a>
+<span class="sourceLineNo">279</span>        if (get(nsTable, NamespaceDescriptor.SYSTEM_NAMESPACE.getName()) == null) {<a name="line.279"></a>
+<span class="sourceLineNo">280</span>          blockingCreateNamespace(NamespaceDescriptor.SYSTEM_NAMESPACE);<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>        if (!initGoodSofar) {<a name="line.283"></a>
+<span class="sourceLineNo">284</span>          // some required namespace is created asynchronized. We should complete init later.<a name="line.284"></a>
+<span class="sourceLineNo">285</span>          return false;<a name="line.285"></a>
+<span class="sourceLineNo">286</span>        }<a name="line.286"></a>
+<span class="sourceLineNo">287</span><a name="line.287"></a>
+<span class="sourceLineNo">288</span>        ResultScanner scanner = nsTable.getScanner(HTableDescriptor.NAMESPACE_FAMILY_INFO_BYTES);<a name="line.288"></a>
+<span class="sourceLineNo">289</span>        try {<a name="line.289"></a>
+<span class="sourceLineNo">290</span>          for (Result result : scanner) {<a name="line.290"></a>
+<span class="sourceLineNo">291</span>            byte[] val =  CellUtil.cloneValue(result.getColumnLatestCell(<a name="line.291"></a>
+<span class="sourceLineNo">292</span>                HTableDescriptor.NAMESPACE_FAMILY_INFO_BYTES,<a name="line.292"></a>
+<span class="sourceLineNo">293</span>                HTableDescriptor.NAMESPACE_COL_DESC_BYTES));<a name="line.293"></a>
+<span class="sourceLineNo">294</span>            NamespaceDescriptor ns =<a name="line.294"></a>
+<span class="sourceLineNo">295</span>                ProtobufUtil.toNamespaceDescriptor(<a name="line.295"></a>
+<span class="sourceLineNo">296</span>                    HBaseProtos.NamespaceDescriptor.parseFrom(val));<a name="line.296"></a>
+<span class="sourceLineNo">297</span>            zkNamespaceManager.update(ns);<a name="line.297"></a>
+<span class="sourceLineNo">298</span>          }<a name="line.298"></a>
+<span class="sourceLineNo">299</span>        } finally {<a name="line.299"></a>
+<span class="sourceLineNo">300</span>          scanner.close();<a name="line.300"></a>
+<span class="sourceLineNo">301</span>        }<a name="line.301"></a>
+<span class="sourceLineNo">302</span>        initialized = true;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>        return true;<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      } catch (IOException ie) {<a name="line.304"></a>
+<span class="sourceLineNo">305</span>        LOG.warn("Caught exception in initializing namespace table manager", ie);<a name="line.305"></a>
+<span class="sourceLineNo">306</span>        if (nsTable != null) {<a name="line.306"></a>
+<span class="sourceLineNo">307</span>          nsTable.close();<a name="line.307"></a>
+<span class="sourceLineNo">308</span>        }<a name="line.308"></a>
+<span class="sourceLineNo">309</span>        throw ie;<a name="line.309"></a>
+<span class="sourceLineNo">310</span>      }<a name="line.310"></a>
+<span class="sourceLineNo">311</span>    }<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    return false;<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>  private TableState.State getTableState() throws IOException {<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    return masterServices.getTableStateManager().getTableState(TableName.NAMESPACE_TABLE_NAME);<a name="line.316"></a>
+<span class="sourceLineNo">317</span>  }<a name="line.317"></a>
+<span class="sourceLineNo">318</span><a name="line.318"></a>
+<span class="sourceLineNo">319</span>  private boolean isTableEnabled() throws IOException {<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    return getTableState().equals(TableState.State.ENABLED);<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>  private boolean isTableAssigned() {<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    return !masterServices.getAssignmentManager()<a name="line.324"></a>
+<span class="sourceLineNo">325</span>        .getRegionStates().getRegionsOfTable(TableName.NAMESPACE_TABLE_NAME).isEmpty();<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>  public void validateTableAndRegionCount(NamespaceDescriptor desc) throws IOException {<a name="line.328"></a>
+<span class="sourceLineNo">329</span>    if (getMaxRegions(desc) &lt;= 0) {<a name="line.329"></a>
+<span class="sourceLineNo">330</span>      throw new ConstraintException("The max region quota for " + desc.getName()<a name="line.330"></a>
+<span class="sourceLineNo">331</span>          + " is less than or equal to zero.");<a name="line.331"></a>
+<span class="sourceLineNo">332</span>    }<a name="line.332"></a>
+<span class="sourceLineNo">333</span>    if (getMaxTables(desc) &lt;= 0) {<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      throw new ConstraintException("The max tables quota for " + desc.getName()<a name="line.334"></a>
+<span class="sourceLineNo">335</span>          + " is less than or equal to zero.");<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>        if (!initGoodSofar) {<a name="line.339"></a>
-<span class="sourceLineNo">340</span>          // some required namespace is created asynchronized. We should complete init later.<a name="line.340"></a>
-<span class="sourceLineNo">341</span>          return false;<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>        ResultScanner scanner = nsTable.getScanner(HTableDescriptor.NAMESPACE_FAMILY_INFO_BYTES);<a name="line.344"></a>
-<span class="sourceLineNo">345</span>        try {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>          for (Result result : scanner) {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>            byte[] val =  CellUtil.cloneValue(result.getColumnLatestCell(<a name="line.347"></a>
-<span class="sourceLineNo">348</span>                HTableDescriptor.NAMESPACE_FAMILY_INFO_BYTES,<a name="line.348"></a>
-<span class="sourceLineNo">349</span>                HTableDescriptor.NAMESPACE_COL_DESC_BYTES));<a name="line.349"></a>
-<span class="sourceLineNo">350</span>            NamespaceDescriptor ns =<a name="line.350"></a>
-<span class="sourceLineNo">351</span>                ProtobufUtil.toNamespaceDescriptor(<a name="line.351"></a>
-<span class="sourceLineNo">352</span>                    HBaseProtos.NamespaceDescriptor.parseFrom(val));<a name="line.352"></a>
-<span class="sourceLineNo">353</span>            zkNamespaceManager.update(ns);<a name="line.353"></a>
-<span class="sourceLineNo">354</span>          }<a name="line.354"></a>
-<span class="sourceLineNo">355</span>        } finally {<a name="line.355"></a>
-<span class="sourceLineNo">356</span>          scanner.close();<a name="line.356"></a>
-<span class="sourceLineNo">357</span>        }<a name="line.357"></a>
-<span class="sourceLineNo">358</span>        initialized = true;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>        return true;<a name="line.359"></a>
-<span class="sourceLineNo">360</span>      } catch (IOException ie) {<a name="line.360"></a>
-<span class="sourceLineNo">361</span>        LOG.warn("Caught exception in initializing namespace table manager", ie);<a name="line.361"></a>
-<span class="sourceLineNo">362</span>        if (nsTable != null) {<a name="line.362"></a>
-<span class="sourceLineNo">363</span>          nsTable.close();<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        }<a name="line.364"></a>
-<span class="sourceLineNo">365</span>        throw ie;<a name="line.365"></a>
-<span class="sourceLineNo">366</span>      }<a name="line.366"></a>
+<span class="sourceLineNo">339</span>  public static long getMaxTables(NamespaceDescriptor ns) throws IOException {<a name="line.339"></a>
+<span class="sourceLineNo">340</span>    String value = ns.getConfigurationValue(KEY_MAX_TABLES);<a name="line.340"></a>
+<span class="sourceLineNo">341</span>    long maxTables = 0;<a name="line.341"></a>
+<span class="sourceLineNo">342</span>    if (StringUtils.isNotEmpty(value)) {<a name="line.342"></a>
+<span class="sourceLineNo">343</span>      try {<a name="line.343"></a>
+<span class="sourceLineNo">344</span>        maxTables = Long.parseLong(value);<a name="line.344"></a>
+<span class="sourceLineNo">345</span>      } catch (NumberFormatException exp) {<a name="line.345"></a>
+<span class="sourceLineNo">346</span>        throw new DoNotRetryIOException("NumberFormatException while getting max tables.", exp);<a name="line.346"></a>
+<span class="sourceLineNo">347</span>      }<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    } else {<a name="line.348"></a>
+<span class="sourceLineNo">349</span>      // The property is not set, so assume its the max long value.<a name="line.349"></a>
+<span class="sourceLineNo">350</span>      maxTables = Long.MAX_VALUE;<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    }<a name="line.351"></a>
+<span class="sourceLineNo">352</span>    return maxTables;<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>  public static long getMaxRegions(NamespaceDescriptor ns) throws IOException {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    String value = ns.getConfigurationValue(KEY_MAX_REGIONS);<a name="line.356"></a>
+<span class="sourceLineNo">357</span>    long maxRegions = 0;<a name="line.357"></a>
+<span class="sourceLineNo">358</span>    if (StringUtils.isNotEmpty(value)) {<a name="line.358"></a>
+<span class="sourceLineNo">359</span>      try {<a name="line.359"></a>
+<span class="sourceLineNo">360</span>        maxRegions = Long.parseLong(value);<a name="line.360"></a>
+<span class="sourceLineNo">361</span>      } catch (NumberFormatException exp) {<a name="line.361"></a>
+<span class="sourceLineNo">362</span>        throw new DoNotRetryIOException("NumberFormatException while getting max regions.", exp);<a name="line.362"></a>
+<span class="sourceLineNo">363</span>      }<a name="line.363"></a>
+<span class="sourceLineNo">364</span>    } else {<a name="line.364"></a>
+<span class="sourceLineNo">365</span>      // The property is not set, so assume its the max long value.<a name="line.365"></a>
+<span class="sourceLineNo">366</span>      maxRegions = Long.MAX_VALUE;<a name="line.366"></a>
 <span class="sourceLineNo">367</span>    }<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    return false;<a name="line.368"></a>
+<span class="sourceLineNo">368</span>    return maxRegions;<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 TableState.State getTableState() throws IOException {<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    return masterServices.getTableStateManager().getTableState(TableName.NAMESPACE_TABLE_NAME);<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>  private boolean isTableEnabled() throws IOException {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    return getTableState().equals(TableState.State.ENABLED);<a name="line.376"></a>
-<span class="sourceLineNo">377</span>  }<a name="line.377"></a>
-<span class="sourceLineNo">378</span><a name="line.378"></a>
-<span class="sourceLineNo">379</span>  private boolean isTableAssigned() {<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    return !masterServices.getAssignmentManager()<a name="line.380"></a>
-<span class="sourceLineNo">381</span>        .getRegionStates().getRegionsOfTable(TableName.NAMESPACE_TABLE_NAME).isEmpty();<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 validateTableAndRegionCount(NamespaceDescriptor desc) throws IOException {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    if (getMaxRegions(desc) &lt;= 0) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>      throw new ConstraintException("The max region quota for " + desc.getName()<a name="line.386"></a>
-<span class="sourceLineNo">387</span>          + " is less than or equal to zero.");<a name="line.387"></a>
-<span class="sourceLineNo">388</span>    }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>    if (getMaxTables(desc) &lt;= 0) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      throw new ConstraintException("The max tables quota for " + desc.getName()<a name="line.390"></a>
-<span class="sourceLineNo">391</span>          + " is less than or equal to zero.");<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>  public static long getMaxTables(NamespaceDescriptor ns) throws IOException {<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    String value = ns.getConfigurationValue(KEY_MAX_TABLES);<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    long maxTables = 0;<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    if (StringUtils.isNotEmpty(value)) {<a name="line.398"></a>
-<span class="sourceLineNo">399</span>      try {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>        maxTables = Long.parseLong(value);<a name="line.400"></a>
-<span class="sourceLineNo">401</span>      } catch (NumberFormatException exp) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>        throw new DoNotRetryIOException("NumberFormatException while getting max tables.", exp);<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      }<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    } else {<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      // The property is not set, so assume its the max long value.<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      maxTables = Long.MAX_VALUE;<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    }<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    return maxTables;<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>  public static long getMaxRegions(NamespaceDescriptor ns) throws IOException {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    String value = ns.getConfigurationValue(KEY_MAX_REGIONS);<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    long maxRegions = 0;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    if (StringUtils.isNotEmpty(value)) {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      try {<a name="line.415"></a>
-<span class="sourceLineNo">416</span>        maxRegions = Long.parseLong(value);<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      } catch (NumberFormatException exp) {<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        throw new DoNotRetryIOException("NumberFormatException while getting max regions.", exp);<a name="line.418"></a>
-<span class="sourceLineNo">419</span>      }<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    } else {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>      // The property is not set, so assume its the max long value.<a name="line.421"></a>
-<span class="sourceLineNo">422</span>      maxRegions = Long.MAX_VALUE;<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    }<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    return maxRegions;<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">370</span>}<a name="line.370"></a>
 
 
 


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html
deleted file mode 100644
index 43eaa3b..0000000
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html
+++ /dev/null
@@ -1,941 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>MasterProcedureQueue (Apache HBase 2.0.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="MasterProcedureQueue (Apache HBase 2.0.0-SNAPSHOT API)";
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar_top">
-<!--   -->
-</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/MasterProcedureQueue.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.WALStoreLeaseRecovery.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" target="_top">Frames</a></li>
-<li><a href="MasterProcedureQueue.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
-<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method_summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method_detail">Method</a></li>
-</ul>
-</div>
-<a name="skip-navbar_top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.hadoop.hbase.master.procedure</div>
-<h2 title="Class MasterProcedureQueue" class="title">Class MasterProcedureQueue</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureRunnableSet</a></dd>
-</dl>
-<hr>
-<br>
-<pre><a href="../../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-<a href="../../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Evolving.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceStability.Evolving</a>
-public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.60">MasterProcedureQueue</a>
-extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
-implements <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureRunnableSet</a></pre>
-<div class="block">ProcedureRunnableSet for the Master Procedures.
- This RunnableSet tries to provide to the ProcedureExecutor procedures
- that can be executed without having to wait on a lock.
- Most of the master operations can be executed concurrently, if they
- are operating on different tables (e.g. two create table can be performed
- at the same, time assuming table A and table B) or against two different servers; say
- two servers that crashed at about the same time.
-
- <p>Each procedure should implement an interface providing information for this queue.
- for example table related procedures should implement TableProcedureInterface.
- each procedure will be pushed in its own queue, and based on the operation type
- we may take smarter decision. e.g. we can abort all the operations preceding
- a delete table, or similar.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== NESTED CLASS SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="nested_class_summary">
-<!--   -->
-</a>
-<h3>Nested Class Summary</h3>
-<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
-<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private static class&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.AbstractRunQueue</a></strong></code>
-<div class="block">Base abstract class for RunQueue implementations.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private static interface&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private static class&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.ServerRunQueue</a></strong></code>
-<div class="block">Run Queue for Server procedures.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private static class&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.TableRunQueue</a></strong></code>
-<div class="block">Run Queue for a Table.</div>
-</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field_summary">
-<!--   -->
-</a>
-<h3>Field Summary</h3>
-<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
-<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Field and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private static int</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#DEFAULT_SERVER_PRIORITY">DEFAULT_SERVER_PRIORITY</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReentrantLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantLock</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#lock">lock</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#lockManager">lockManager</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private static org.apache.commons.logging.Log</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#LOG">LOG</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private int</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#metaTablePriority">metaTablePriority</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private int</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#queueSize">queueSize</a></strong></code>
-<div class="block">Keeps count across server and table queues.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a>&gt;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#serverFairQ">serverFairQ</a></strong></code>
-<div class="block">Rely on basic fair q.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private int</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#sysTablePriority">sysTablePriority</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a>&gt;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#tableFairQ">tableFairQ</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private int</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#userTablePriority">userTablePriority</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/Condition.html?is-external=true" title="class or interface in java.util.concurrent.locks">Condition</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#waitCond">waitCond</a></strong></code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor_summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#MasterProcedureQueue(org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.hbase.master.TableLockManager)">MasterProcedureQueue</a></strong>(org.apache.hadoop.conf.Configuration&nbsp;conf,
-                                        <a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager)</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method_summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#addBack(org.apache.hadoop.hbase.procedure2.Procedure)">addBack</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>
-<div class="block">Inserts the specified element at the end of this queue.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#addFront(org.apache.hadoop.hbase.procedure2.Procedure)">addFront</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>
-<div class="block">Inserts the specified element at the front of this queue.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#clear()">clear</a></strong>()</code>
-<div class="block">Removes all of the elements from this collection.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#completionCleanup(org.apache.hadoop.hbase.procedure2.Procedure)">completionCleanup</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>
-<div class="block">The procedure in execution completed.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.ServerRunQueue</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#createServerRunQueue(org.apache.hadoop.hbase.master.procedure.ServerProcedureInterface)">createServerRunQueue</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface</a>&nbsp;spi)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.TableRunQueue</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#createTableRunQueue(org.apache.hadoop.hbase.TableName)">createTableRunQueue</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#doPoll(org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue.RunQueue)">doPoll</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a>&nbsp;rq)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.ServerRunQueue</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#getRunQueue(org.apache.hadoop.hbase.ServerName)">getRunQueue</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.TableRunQueue</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#getRunQueue(org.apache.hadoop.hbase.TableName)">getRunQueue</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#getRunQueueOrCreate(org.apache.hadoop.hbase.procedure2.Procedure)">getRunQueueOrCreate</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.ServerRunQueue</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#getRunQueueOrCreate(org.apache.hadoop.hbase.master.procedure.ServerProcedureInterface)">getRunQueueOrCreate</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface</a>&nbsp;spi)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.TableRunQueue</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#getRunQueueOrCreate(org.apache.hadoop.hbase.TableName)">getRunQueueOrCreate</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>protected boolean</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#markTableAsDeleted(org.apache.hadoop.hbase.TableName)">markTableAsDeleted</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>
-<div class="block">Tries to remove the queue and the table-lock of the specified table.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#poll()">poll</a></strong>()</code>
-<div class="block">Fetch one Procedure from the queue</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#releaseServerExclusiveLock(org.apache.hadoop.hbase.master.procedure.ServerProcedureInterface)">releaseServerExclusiveLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface</a>&nbsp;spi)</code>
-<div class="block">Release the write lock</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#releaseServerSharedLock(org.apache.hadoop.hbase.master.procedure.ServerProcedureInterface)">releaseServerSharedLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface</a>&nbsp;spi)</code>
-<div class="block">Release the read lock taken</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#releaseTableExclusiveLock(org.apache.hadoop.hbase.TableName)">releaseTableExclusiveLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>
-<div class="block">Release the write lock taken with tryAcquireTableWrite()</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#releaseTableSharedLock(org.apache.hadoop.hbase.TableName)">releaseTableSharedLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>
-<div class="block">Release the read lock taken with tryAcquireTableRead()</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#signalAll()">signalAll</a></strong>()</code>
-<div class="block">In case the class is blocking on poll() waiting for items to be added,
- this method should awake poll() and poll() should return.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#size()">size</a></strong>()</code>
-<div class="block">Returns the number of elements in this collection.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#toString()">toString</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#tryAcquireServerExclusiveLock(org.apache.hadoop.hbase.master.procedure.ServerProcedureInterface)">tryAcquireServerExclusiveLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface</a>&nbsp;spi)</code>
-<div class="block">Try to acquire the write lock on the specified server.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#tryAcquireServerSharedLock(org.apache.hadoop.hbase.master.procedure.ServerProcedureInterface)">tryAcquireServerSharedLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface</a>&nbsp;spi)</code>
-<div class="block">Try to acquire the read lock on the specified server.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#tryAcquireTableExclusiveLock(org.apache.hadoop.hbase.TableName,%20java.lang.String)">tryAcquireTableExclusiveLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
-                                                        <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;purpose)</code>
-<div class="block">Try to acquire the write lock on the specified table.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#tryAcquireTableSharedLock(org.apache.hadoop.hbase.TableName,%20java.lang.String)">tryAcquireTableSharedLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
-                                                  <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;purpose)</code>
-<div class="block">Try to acquire the read lock on the specified table.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#yield(org.apache.hadoop.hbase.procedure2.Procedure)">yield</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>
-<div class="block">The procedure can't run at the moment.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang
 /Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ FIELD DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field_detail">
-<!--   -->
-</a>
-<h3>Field Detail</h3>
-<a name="LOG">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>LOG</h4>
-<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.61">LOG</a></pre>
-</li>
-</ul>
-<a name="tableFairQ">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>tableFairQ</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.64">tableFairQ</a></pre>
-</li>
-</ul>
-<a name="serverFairQ">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>serverFairQ</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.73">serverFairQ</a></pre>
-<div class="block">Rely on basic fair q. ServerCrashProcedure will yield if meta is not assigned. This way, the
- server that was carrying meta should rise to the top of the queue (this is how it used to
- work when we had handlers and ServerShutdownHandler ran). TODO: special handling of servers
- that were carrying system tables on crash; do I need to have these servers have priority?
-
- <p>Apart from the special-casing of meta and system tables, fairq is what we want</div>
-</li>
-</ul>
-<a name="lock">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>lock</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReentrantLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantLock</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.75">lock</a></pre>
-</li>
-</ul>
-<a name="waitCond">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>waitCond</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/Condition.html?is-external=true" title="class or interface in java.util.concurrent.locks">Condition</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.76">waitCond</a></pre>
-</li>
-</ul>
-<a name="lockManager">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>lockManager</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.77">lockManager</a></pre>
-</li>
-</ul>
-<a name="metaTablePriority">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>metaTablePriority</h4>
-<pre>private final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.79">metaTablePriority</a></pre>
-</li>
-</ul>
-<a name="userTablePriority">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>userTablePriority</h4>
-<pre>private final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.80">userTablePriority</a></pre>
-</li>
-</ul>
-<a name="sysTablePriority">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>sysTablePriority</h4>
-<pre>private final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.81">sysTablePriority</a></pre>
-</li>
-</ul>
-<a name="DEFAULT_SERVER_PRIORITY">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>DEFAULT_SERVER_PRIORITY</h4>
-<pre>private static final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.82">DEFAULT_SERVER_PRIORITY</a></pre>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue.DEFAULT_SERVER_PRIORITY">Constant Field Values</a></dd></dl>
-</li>
-</ul>
-<a name="queueSize">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>queueSize</h4>
-<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.87">queueSize</a></pre>
-<div class="block">Keeps count across server and table queues.</div>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor_detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="MasterProcedureQueue(org.apache.hadoop.conf.Configuration, org.apache.hadoop.hbase.master.TableLockManager)">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>MasterProcedureQueue</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.89">MasterProcedureQueue</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
-                    <a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager)</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method_detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="addFront(org.apache.hadoop.hbase.procedure2.Procedure)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>addFront</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.101">addFront</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
-<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#addFront(org.apache.hadoop.hbase.procedure2.Procedure)">ProcedureRunnableSet</a></code></strong></div>
-<div class="block">Inserts the specified element at the front of this queue.</div>
-<dl>
-<dt><strong>Specified by:</strong></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#addFront(org.apache.hadoop.hbase.procedure2.Procedure)">addFront</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureRunnableSet</a></code></dd>
-<dt><span class="strong">Parameters:</span></dt><dd><code>proc</code> - the Procedure to add</dd></dl>
-</li>
-</ul>
-<a name="addBack(org.apache.hadoop.hbase.procedure2.Procedure)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>addBack</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.113">addBack</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
-<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#addBack(org.apache.hadoop.hbase.procedure2.Procedure)">ProcedureRunnableSet</a></code></strong></div>
-<div class="block">Inserts the specified element at the end of this queue.</div>
-<dl>
-<dt><strong>Specified by:</strong></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#addBack(org.apache.hadoop.hbase.procedure2.Procedure)">addBack</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureRunnableSet</a></code></dd>
-<dt><span class="strong">Parameters:</span></dt><dd><code>proc</code> - the Procedure to add</dd></dl>
-</li>
-</ul>
-<a name="yield(org.apache.hadoop.hbase.procedure2.Procedure)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>yield</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.125">yield</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
-<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#yield(org.apache.hadoop.hbase.procedure2.Procedure)">ProcedureRunnableSet</a></code></strong></div>
-<div class="block">The procedure can't run at the moment.
- add it back to the queue, giving priority to someone else.</div>
-<dl>
-<dt><strong>Specified by:</strong></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#yield(org.apache.hadoop.hbase.procedure2.Procedure)">yield</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureRunnableSet</a></code></dd>
-<dt><span class="strong">Parameters:</span></dt><dd><code>proc</code> - the Procedure to add back to the list</dd></dl>
-</li>
-</ul>
-<a name="poll()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>poll</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.131">poll</a>()</pre>
-<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#poll()">ProcedureRunnableSet</a></code></strong></div>
-<div class="block">Fetch one Procedure from the queue</div>
-<dl>
-<dt><strong>Specified by:</strong></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#poll()">poll</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureRunnableSet</a></code></dd>
-<dt><span class="strong">Returns:</span></dt><dd>the Procedure ID to execute, or null if nothing present.</dd></dl>
-</li>
-</ul>
-<a name="doPoll(org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue.RunQueue)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>doPoll</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.156">doPoll</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a>&nbsp;rq)</pre>
-</li>
-</ul>
-<a name="signalAll()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>signalAll</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.163">signalAll</a>()</pre>
-<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#signalAll()">ProcedureRunnableSet</a></code></strong></div>
-<div class="block">In case the class is blocking on poll() waiting for items to be added,
- this method should awake poll() and poll() should return.</div>
-<dl>
-<dt><strong>Specified by:</strong></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#signalAll()">signalAll</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureRunnableSet</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="clear()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>clear</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.173">clear</a>()</pre>
-<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#clear()">ProcedureRunnableSet</a></code></strong></div>
-<div class="block">Removes all of the elements from this collection.</div>
-<dl>
-<dt><strong>Specified by:</strong></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#clear()">clear</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureRunnableSet</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="size()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>size</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.185">size</a>()</pre>
-<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#size()">ProcedureRunnableSet</a></code></strong></div>
-<div class="block">Returns the number of elements in this collection.</div>
-<dl>
-<dt><strong>Specified by:</strong></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#size()">size</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureRunnableSet</a></code></dd>
-<dt><span class="strong">Returns:</span></dt><dd>the number of elements in this collection.</dd></dl>
-</li>
-</ul>
-<a name="toString()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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/procedure/MasterProcedureQueue.html#line.195">toString</a>()</pre>
-<dl>
-<dt><strong>Overrides:</strong></dt>
-<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="completionCleanup(org.apache.hadoop.hbase.procedure2.Procedure)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>completionCleanup</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.206">completionCleanup</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
-<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#completionCleanup(org.apache.hadoop.hbase.procedure2.Procedure)">ProcedureRunnableSet</a></code></strong></div>
-<div class="block">The procedure in execution completed.
- This can be implemented to perform cleanups.</div>
-<dl>
-<dt><strong>Specified by:</strong></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#completionCleanup(org.apache.hadoop.hbase.procedure2.Procedure)">completionCleanup</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureRunnableSet</a></code></dd>
-<dt><span class="strong">Parameters:</span></dt><dd><code>proc</code> - the Procedure that completed the execution.</dd></dl>
-</li>
-</ul>
-<a name="getRunQueueOrCreate(org.apache.hadoop.hbase.procedure2.Procedure)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getRunQueueOrCreate</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.230">getRunQueueOrCreate</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
-</li>
-</ul>
-<a name="getRunQueueOrCreate(org.apache.hadoop.hbase.TableName)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getRunQueueOrCreate</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.TableRunQueue</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.245">getRunQueueOrCreate</a>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</pre>
-</li>
-</ul>
-<a name="getRunQueueOrCreate(org.apache.hadoop.hbase.master.procedure.ServerProcedureInterface)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getRunQueueOrCreate</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.ServerRunQueue</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.251">getRunQueueOrCreate</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface</a>&nbsp;spi)</pre>
-</li>
-</ul>
-<a name="createTableRunQueue(org.apache.hadoop.hbase.TableName)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>createTableRunQueue</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.TableRunQueue</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.257">createTableRunQueue</a>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</pre>
-</li>
-</ul>
-<a name="createServerRunQueue(org.apache.hadoop.hbase.master.procedure.ServerProcedureInterface)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>createServerRunQueue</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.ServerRunQueue</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.267">createServerRunQueue</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface</a>&nbsp;spi)</pre>
-</li>
-</ul>
-<a name="getRunQueue(org.apache.hadoop.hbase.TableName)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getRunQueue</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.TableRunQueue</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.271">getRunQueue</a>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</pre>
-</li>
-</ul>
-<a name="getRunQueue(org.apache.hadoop.hbase.ServerName)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getRunQueue</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.ServerRunQueue</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.275">getRunQueue</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="tryAcquireTableExclusiveLock(org.apache.hadoop.hbase.TableName, java.lang.String)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>tryAcquireTableExclusiveLock</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.286">tryAcquireTableExclusiveLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
-                                   <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;purpose)</pre>
-<div class="block">Try to acquire the write lock on the specified table.
- other operations in the table-queue will be executed after the lock is released.</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>table</code> - Table to lock</dd><dd><code>purpose</code> - Human readable reason for locking the table</dd>
-<dt><span class="strong">Returns:</span></dt><dd>true if we were able to acquire the lock on the table, otherwise false.</dd></dl>
-</li>
-</ul>
-<a name="releaseTableExclusiveLock(org.apache.hadoop.hbase.TableName)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>releaseTableExclusiveLock</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.294">releaseTableExclusiveLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</pre>
-<div class="block">Release the write lock taken with tryAcquireTableWrite()</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>table</code> - the name of the table that has the write lock</dd></dl>
-</li>
-</ul>
-<a name="tryAcquireTableSharedLock(org.apache.hadoop.hbase.TableName, java.lang.String)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>tryAcquireTableSharedLock</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.306">tryAcquireTableSharedLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
-                                <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;purpose)</pre>
-<div class="block">Try to acquire the read lock on the specified table.
- other read operations in the table-queue may be executed concurrently,
- otherwise they have to wait until all the read-locks are released.</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>table</code> - Table to lock</dd><dd><code>purpose</code> - Human readable reason for locking the table</dd>
-<dt><span class="strong">Returns:</span></dt><dd>true if we were able to acquire the lock on the table, otherwise false.</dd></dl>
-</li>
-</ul>
-<a name="releaseTableSharedLock(org.apache.hadoop.hbase.TableName)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>releaseTableSharedLock</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.314">releaseTableSharedLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</pre>
-<div class="block">Release the read lock taken with tryAcquireTableRead()</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>table</code> - the name of the table that has the read lock</dd></dl>
-</li>
-</ul>
-<a name="tryAcquireServerExclusiveLock(org.apache.hadoop.hbase.master.procedure.ServerProcedureInterface)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>tryAcquireServerExclusiveLock</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.324">tryAcquireServerExclusiveLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface</a>&nbsp;spi)</pre>
-<div class="block">Try to acquire the write lock on the specified server.</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>spi</code> - Server to lock</dd>
-<dt><span class="strong">Returns:</span></dt><dd>true if we were able to acquire the lock on the server, otherwise false.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#releaseServerExclusiveLock(org.apache.hadoop.hbase.master.procedure.ServerProcedureInterface)"><code>releaseServerExclusiveLock(ServerProcedureInterface)</code></a></dd></dl>
-</li>
-</ul>
-<a name="releaseServerExclusiveLock(org.apache.hadoop.hbase.master.procedure.ServerProcedureInterface)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>releaseServerExclusiveLock</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.333">releaseServerExclusiveLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface</a>&nbsp;spi)</pre>
-<div class="block">Release the write lock</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>spi</code> - the server that has the write lock</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#tryAcquireServerExclusiveLock(org.apache.hadoop.hbase.master.procedure.ServerProcedureInterface)"><code>tryAcquireServerExclusiveLock(ServerProcedureInterface)</code></a></dd></dl>
-</li>
-</ul>
-<a name="tryAcquireServerSharedLock(org.apache.hadoop.hbase.master.procedure.ServerProcedureInterface)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>tryAcquireServerSharedLock</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.343">tryAcquireServerSharedLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface</a>&nbsp;spi)</pre>
-<div class="block">Try to acquire the read lock on the specified server.</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>spi</code> - Server to lock</dd>
-<dt><span class="strong">Returns:</span></dt><dd>true if we were able to acquire the lock on the server, otherwise false.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#releaseServerSharedLock(org.apache.hadoop.hbase.master.procedure.ServerProcedureInterface)"><code>releaseServerSharedLock(ServerProcedureInterface)</code></a></dd></dl>
-</li>
-</ul>
-<a name="releaseServerSharedLock(org.apache.hadoop.hbase.master.procedure.ServerProcedureInterface)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>releaseServerSharedLock</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.352">releaseServerSharedLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface</a>&nbsp;spi)</pre>
-<div class="block">Release the read lock taken</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>spi</code> - the server that has the read lock</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#tryAcquireServerSharedLock(org.apache.hadoop.hbase.master.procedure.ServerProcedureInterface)"><code>tryAcquireServerSharedLock(ServerProcedureInterface)</code></a></dd></dl>
-</li>
-</ul>
-<a name="markTableAsDeleted(org.apache.hadoop.hbase.TableName)">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>markTableAsDeleted</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.364">markTableAsDeleted</a>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</pre>
-<div class="block">Tries to remove the queue and the table-lock of the specified table.
- If there are new operations pending (e.g. a new create),
- the remove will not be performed.</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>table</code> - the name of the table that should be marked as deleted</dd>
-<dt><span class="strong">Returns:</span></dt><dd>true if deletion succeeded, false otherwise meaning that there are
-    other new operations pending for that table (e.g. a new create).</dd></dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar_bottom">
-<!--   -->
-</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/MasterProcedureQueue.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.WALStoreLeaseRecovery.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" target="_top">Frames</a></li>
-<li><a href="MasterProcedureQueue.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
-<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method_summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method_detail">Method</a></li>
-</ul>
-</div>
-<a name="skip-navbar_bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.Queue.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.Queue.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.Queue.html
new file mode 100644
index 0000000..8f98d31
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.Queue.html
@@ -0,0 +1,462 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue (Apache HBase 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue (Apache HBase 2.0.0-SNAPSHOT API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.Queue.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.Queue.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue" class="title">Uses of Class<br>org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.master.procedure">org.apache.hadoop.hbase.master.procedure</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.hadoop.hbase.master.procedure">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a> in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a></h3>
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a> in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>private static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.NamespaceQueue</a></strong></code>
+<div class="block">the namespace is currently used just as a rwlock, not as a queue.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueImpl</a>&lt;TKey extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;TKey&gt;&gt;</strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ServerQueue</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.TableQueue</a></strong></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a> declared as <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="type parameter in MasterProcedureScheduler.Queue">TKey</a>&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.Queue.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#avlLeft">avlLeft</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="type parameter in MasterProcedureScheduler.Queue">TKey</a>&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.Queue.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#avlRight">avlRight</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="type parameter in MasterProcedureScheduler.FairQueue">T</a>&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.FairQueue.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#currentQueue">currentQueue</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="type parameter in MasterProcedureScheduler.Queue">TKey</a>&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.Queue.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#iterNext">iterNext</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="type parameter in MasterProcedureScheduler.Queue">TKey</a>&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.Queue.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#iterPrev">iterPrev</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#namespaceMap">namespaceMap</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="type parameter in MasterProcedureScheduler.FairQueue">T</a>&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.FairQueue.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#queueHead">queueHead</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#tableMap">tableMap</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.ProcedureEvent.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#waitingServers">waitingServers</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.ProcedureEvent.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#waitingTables">waitingTables</a></strong></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a> that return <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.IterableList.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html#append(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">append</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;head,
+            <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;node)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.IterableList.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html#appendList(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">appendList</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;head,
+                    <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;otherHead)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.AvlTree.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#balance(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">balance</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;p)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.AvlTree.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#get(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20T)">get</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;root,
+      T&nbsp;key)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.AvlTree.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#getFirst(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">getFirst</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;root)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.AvlTree.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#getLast(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">getLast</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;root)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getTreeRoot(java.lang.Object[],%20int)">getTreeRoot</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&nbsp;buckets,
+                      int&nbsp;index)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.AvlTree.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#insert(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">insert</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;root,
+            <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;node)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="type parameter in MasterProcedureScheduler.FairQueue">T</a>&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.FairQueue.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#poll()">poll</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.ProcedureEvent.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#popWaitingServer()">popWaitingServer</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.ProcedureEvent.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#popWaitingTable()">popWaitingTable</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.IterableList.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html#prepend(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">prepend</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;head,
+              <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;node)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.IterableList.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html#remove(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">remove</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;head,
+            <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;node)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.AvlTree.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#remove(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20T)">remove</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;root,
+            T&nbsp;key)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.AvlTree.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#removeMin(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">removeMin</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;p)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.AvlTree.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#rotateLeft(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">rotateLeft</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;q)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.AvlTree.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#rotateRight(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">rotateRight</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;p)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a> with parameters of type <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.FairQueue.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#add(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">add</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="type parameter in MasterProcedureScheduler.FairQueue">T</a>&gt;&nbsp;queue)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br>void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#addToRunQueue(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.FairQueue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">addToRunQueue</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a>&lt;T&gt;&nbsp;fairq,
+                          <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;queue)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.IterableList.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html#append(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">append</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;head,
+            <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;node)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.IterableList.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html#append(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">append</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;head,
+            <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;node)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.IterableList.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html#appendList(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">appendList</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;head,
+                    <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;otherHead)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.IterableList.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html#appendList(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">appendList</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;head,
+                    <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;otherHead)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.AvlTree.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#balance(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">balance</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;p)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br>int</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.AvlTree.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#balanceFactor(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">balanceFactor</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;node)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private int</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.FairQueue.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#calculateQuantum(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">calculateQuantum</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&nbsp;queue)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br>void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#clear(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.FairQueue)">clear</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;treeMap,
+          <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a>&lt;T&gt;&nbsp;fairq)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.Queue.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#compareTo(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">compareTo</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="type parameter in MasterProcedureScheduler.Queue">TKey</a>&gt;&nbsp;other)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br>void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#doAdd(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.FairQueue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20org.apache.hadoop.hbase.procedure2.Procedure,%20boolean)">doAdd</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a>&lt;T&gt;&nbsp;fairq,
+          <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;queue,
+          <a href="../../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc,
+          boolean&nbsp;addFront)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br>void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.AvlTree.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#fixHeight(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">fixHeight</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;node)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.AvlTree.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#get(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20T)">get</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;root,
+      T&nbsp;key)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.AvlTree.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#getFirst(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">getFirst</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;root)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.AvlTree.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#getLast(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">getLast</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;root)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br>int</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.AvlTree.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#height(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">height</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;node)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.AvlTree.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#insert(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">insert</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;root,
+            <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;node)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.AvlTree.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#insert(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">insert</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;root,
+            <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;node)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br>boolean</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.IterableList.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html#isLinked(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">isLinked</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;node)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.IterableList.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html#prepend(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">prepend</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;head,
+              <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;node)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.IterableList.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html#prepend(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">prepend</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;head,
+              <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;node)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.FairQueue.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#remove(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">remove</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="type parameter in MasterProcedureScheduler.FairQueue">T</a>&gt;&nbsp;queue)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.IterableList.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html#remove(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">remove</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;head,
+            <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;node)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.IterableList.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html#remove(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">remove</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;head,
+            <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;node)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.AvlTree.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#remove(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20T)">remove</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;root,
+            T&nbsp;key)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br>void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#removeFromRunQueue(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.FairQueue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">removeFromRunQueue</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a>&lt;T&gt;&nbsp;fairq,
+                                    <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;queue)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.AvlTree.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#removeMin(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">removeMin</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;p)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.AvlTree.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#rotateLeft(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">rotateLeft</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;q)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.AvlTree.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#rotateRight(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">rotateRight</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;p)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.FairQueue.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#setNextQueue(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">setNextQueue</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="type parameter in MasterProcedureScheduler.FairQueue">T</a>&gt;&nbsp;queue)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.ProcedureEvent.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#suspendServerQueue(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">suspendServerQueue</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;queue)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.ProcedureEvent.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#suspendTableQueue(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">suspendTableQueue</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;queue)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.Queue.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.Queue.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip-navbar_bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.QueueImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.QueueImpl.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.QueueImpl.html
new file mode 100644
index 0000000..34fd77b
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.QueueImpl.html
@@ -0,0 +1,159 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.QueueImpl (Apache HBase 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.QueueImpl (Apache HBase 2.0.0-SNAPSHOT API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="class in org.apache.hadoop.hbase.master.procedure">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.QueueImpl.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.QueueImpl.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.QueueImpl" class="title">Uses of Class<br>org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.QueueImpl</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueImpl</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.master.procedure">org.apache.hadoop.hbase.master.procedure</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.hadoop.hbase.master.procedure">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueImpl</a> in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a></h3>
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueImpl</a> in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ServerQueue</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.TableQueue</a></strong></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="class in org.apache.hadoop.hbase.master.procedure">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.QueueImpl.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.QueueImpl.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip-navbar_bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.QueueInterface.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.QueueInterface.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.QueueInterface.html
new file mode 100644
index 0000000..685f11b
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.QueueInterface.html
@@ -0,0 +1,173 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.QueueInterface (Apache HBase 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="Uses of Interface org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.QueueInterface (Apache HBase 2.0.0-SNAPSHOT API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.QueueInterface.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.QueueInterface.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.QueueInterface" class="title">Uses of Interface<br>org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.QueueInterface</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueInterface</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.master.procedure">org.apache.hadoop.hbase.master.procedure</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.hadoop.hbase.master.procedure">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueInterface</a> in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a></h3>
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a> that implement <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueInterface</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>private static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.NamespaceQueue</a></strong></code>
+<div class="block">the namespace is currently used just as a rwlock, not as a queue.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;TKey extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;TKey&gt;&gt;</strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueImpl</a>&lt;TKey extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;TKey&gt;&gt;</strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ServerQueue</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.TableQueue</a></strong></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.QueueInterface.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.QueueInterface.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip-navbar_bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html
index 9727845..d744e24 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html
@@ -110,7 +110,7 @@
 <hr>
 <br>
 <pre><a href="../../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.55">DisableTableProcedure</a>
+public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.54">DisableTableProcedure</a>
 extends <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">StateMachineProcedure</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>,org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState&gt;
 implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface</a></pre>
 </li>
@@ -437,7 +437,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.58">LOG</a></pre>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.57">LOG</a></pre>
 </li>
 </ul>
 <a name="aborted">
@@ -446,7 +446,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>aborted</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.60">aborted</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.59">aborted</a></pre>
 </li>
 </ul>
 <a name="syncLatch">
@@ -455,7 +455,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>syncLatch</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ProcedurePrepareLatch.html" title="class in org.apache.hadoop.hbase.master.procedure">ProcedurePrepareLatch</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.63">syncLatch</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ProcedurePrepareLatch.html" title="class in org.apache.hadoop.hbase.master.procedure">ProcedurePrepareLatch</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.62">syncLatch</a></pre>
 </li>
 </ul>
 <a name="tableName">
@@ -464,7 +464,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>tableName</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.65">tableName</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.64">tableName</a></pre>
 </li>
 </ul>
 <a name="skipTableStateCheck">
@@ -473,7 +473,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>skipTableStateCheck</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.66">skipTableStateCheck</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.65">skipTableStateCheck</a></pre>
 </li>
 </ul>
 <a name="user">
@@ -482,7 +482,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>user</h4>
-<pre>private&nbsp;org.apache.hadoop.security.UserGroupInformation <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.67">user</a></pre>
+<pre>private&nbsp;org.apache.hadoop.security.UserGroupInformation <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.66">user</a></pre>
 </li>
 </ul>
 <a name="traceEnabled">
@@ -491,7 +491,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockListLast">
 <li class="blockList">
 <h4>traceEnabled</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.69">traceEnabled</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.68">traceEnabled</a></pre>
 </li>
 </ul>
 </li>
@@ -508,7 +508,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>DisableTableProcedure</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.77">DisableTableProcedure</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.76">DisableTableProcedure</a>()</pre>
 </li>
 </ul>
 <a name="DisableTableProcedure(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv, org.apache.hadoop.hbase.TableName, boolean)">
@@ -517,7 +517,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>DisableTableProcedure</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.88">DisableTableProcedure</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.87">DisableTableProcedure</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                      <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                      boolean&nbsp;skipTableStateCheck)
                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -533,7 +533,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockListLast">
 <li class="blockList">
 <h4>DisableTableProcedure</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.102">DisableTableProcedure</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.101">DisableTableProcedure</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                      <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                      boolean&nbsp;skipTableStateCheck,
                      <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ProcedurePrepareLatch.html" title="class in org.apache.hadoop.hbase.master.procedure">ProcedurePrepareLatch</a>&nbsp;syncLatch)
@@ -558,7 +558,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>executeFromState</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2">StateMachineProcedure.Flow</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.124">executeFromState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2">StateMachineProcedure.Flow</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.123">executeFromState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                           org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState&nbsp;state)
                                                throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#executeFromState(TEnvironment,%20TState)">StateMachineProcedure</a></code></strong></div>
@@ -579,7 +579,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>rollbackState</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.173">rollbackState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.172">rollbackState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                  org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState&nbsp;state)
                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#rollbackState(TEnvironment,%20TState)">StateMachineProcedure</a></code></strong></div>
@@ -598,7 +598,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getState</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.187">getState</a>(int&nbsp;stateId)</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.186">getState</a>(int&nbsp;stateId)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getState(int)">StateMachineProcedure</a></code></strong></div>
 <div class="block">Convert an ordinal (or state id) to an Enum (or more descriptive) state object.</div>
 <dl>
@@ -614,7 +614,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getStateId</h4>
-<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.192">getStateId</a>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState&nbsp;state)</pre>
+<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.191">getStateId</a>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState&nbsp;state)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getStateId(TState)">StateMachineProcedure</a></code></strong></div>
 <div class="block">Convert the Enum (or more descriptive) state object to an ordinal (or state id).</div>
 <dl>
@@ -630,7 +630,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getInitialState</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.197">getInitialState</a>()</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.196">getInitialState</a>()</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getInitialState()">StateMachineProcedure</a></code></strong></div>
 <div class="block">Return the initial state object that will be used for the first call to executeFromState().</div>
 <dl>
@@ -645,7 +645,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>setNextState</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.202">setNextState</a>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState&nbsp;state)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.201">setNextState</a>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState&nbsp;state)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#setNextState(TState)">StateMachineProcedure</a></code></strong></div>
 <div class="block">Set the next state for the procedure.</div>
 <dl>
@@ -660,7 +660,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>abort</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.211">abort</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.210">abort</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#abort(TEnvironment)">Procedure</a></code></strong></div>
 <div class="block">The abort() call is asynchronous and each procedure must decide how to deal
  with that, if they want to be abortable. The simplest implementation
@@ -684,7 +684,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>acquireLock</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.217">acquireLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.216">acquireLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#acquireLock(TEnvironment)">Procedure</a></code></strong></div>
 <div class="block">The user should override this method, and try to take a lock if necessary.
  A lock can be anything, and it is up to the implementor.
@@ -703,7 +703,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>releaseLock</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.225">releaseLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.222">releaseLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#releaseLock(TEnvironment)">Procedure</a></code></strong></div>
 <div class="block">The user should override this method, and release lock if necessary.</div>
 <dl>
@@ -718,7 +718,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>serializeStateData</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.230">serializeStateData</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;stream)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.227">serializeStateData</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;stream)
                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#serializeStateData(java.io.OutputStream)">Procedure</a></code></strong></div>
 <div class="block">The user-level code of the procedure may have some state to
@@ -737,7 +737,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>deserializeStateData</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.243">deserializeStateData</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;stream)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.240">deserializeStateData</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;stream)
                           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#deserializeStateData(java.io.InputStream)">Procedure</a></code></strong></div>
 <div class="block">Called on store load to allow the user to decode the previously serialized
@@ -756,7 +756,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>toStringClassDetails</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.254">toStringClassDetails</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;sb)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.251">toStringClassDetails</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;sb)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringClassDetails(java.lang.StringBuilder)">Procedure</a></code></strong></div>
 <div class="block">Extend the toString() information with the procedure details
  e.g. className and parameters</div>
@@ -772,7 +772,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableName</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.262">getTableName</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.259">getTableName</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html#getTableName()">getTableName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface</a></code></dd>
@@ -785,7 +785,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableOperationType</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface.TableOperationType</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.267">getTableOperationType</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface.TableOperationType</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.264">getTableOperationType</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html#getTableOperationType()">TableProcedureInterface</a></code></strong></div>
 <div class="block">Given an operation type we can take decisions about what to do with pending operations.
  e.g. if we get a delete and we have some table operation pending (e.g. add column)
@@ -802,7 +802,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>prepareDisable</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.277">prepareDisable</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.274">prepareDisable</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Action before any real action of disabling table. Set the exception in the procedure instead
  of throwing it.  This approach is to deal with backward compatible with 1.0.</div>
@@ -817,7 +817,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>preDisable</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.319">preDisable</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.316">preDisable</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
               org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState&nbsp;state)
                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                           <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
@@ -834,7 +834,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>setTableStateToDisabling</h4>
-<pre>protected static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.329">setTableStateToDisabling</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.326">setTableStateToDisabling</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                             <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Mark table state to Disabling</div>
@@ -849,7 +849,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>markRegionsOffline</h4>
-<pre>protected static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html" title="enum in org.apache.hadoop.hbase.master.procedure">DisableTableProcedure.MarkRegionOfflineOpResult</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.346">markRegionsOffline</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html" title="enum in org.apache.hadoop.hbase.master.procedure">DisableTableProcedure.MarkRegionOfflineOpResult</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.343">markRegionsOffline</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                                                  <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                                                  <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;retryRequired)
                                                                              throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -866,7 +866,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>markRegionsOffline</h4>
-<pre>private static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html" title="enum in org.apache.hadoop.hbase.master.procedure">DisableTableProcedure.MarkRegionOfflineOpResult</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.385">markRegionsOffline</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 static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html" title="enum in org.apache.hadoop.hbase.master.procedure">DisableTableProcedure.MarkRegionOfflineOpResult</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.382">markRegionsOffline</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                                                  <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                                                                            throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Mark regions of the table offline</div>
@@ -882,7 +882,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>setTableStateToDisabled</h4>
-<pre>protected static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.420">setTableStateToDisabled</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.417">setTableStateToDisabled</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                            <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                                        throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Mark table state to Disabled</div>
@@ -897,7 +897,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>postDisable</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.437">postDisable</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.434">postDisable</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState&nbsp;state)
                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                            <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
@@ -914,7 +914,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>isTraceEnabled</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.447">isTraceEnabled</a>()</pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.444">isTraceEnabled</a>()</pre>
 <div class="block">The procedure could be restarted from a different machine. If the variable is null, we need to
  retrieve it.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>traceEnabled</dd></dl>
@@ -926,7 +926,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockListLast">
 <li class="blockList">
 <h4>runCoprocessorAction</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.461">runCoprocessorAction</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.458">runCoprocessorAction</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                         org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState&nbsp;state)
                            throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                   <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html
index 3736cb5..c2c08be 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html
@@ -110,7 +110,7 @@
 <hr>
 <br>
 <pre><a href="../../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.59">EnableTableProcedure</a>
+public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.58">EnableTableProcedure</a>
 extends <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">StateMachineProcedure</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>,org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.EnableTableState&gt;
 implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface</a></pre>
 </li>
@@ -431,7 +431,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.62">LOG</a></pre>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.61">LOG</a></pre>
 </li>
 </ul>
 <a name="aborted">
@@ -440,7 +440,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>aborted</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.64">aborted</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.63">aborted</a></pre>
 </li>
 </ul>
 <a name="syncLatch">
@@ -449,7 +449,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>syncLatch</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ProcedurePrepareLatch.html" title="class in org.apache.hadoop.hbase.master.procedure">ProcedurePrepareLatch</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.67">syncLatch</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ProcedurePrepareLatch.html" title="class in org.apache.hadoop.hbase.master.procedure">ProcedurePrepareLatch</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.66">syncLatch</a></pre>
 </li>
 </ul>
 <a name="tableName">
@@ -458,7 +458,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>tableName</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.69">tableName</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.68">tableName</a></pre>
 </li>
 </ul>
 <a name="skipTableStateCheck">
@@ -467,7 +467,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>skipTableStateCheck</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.70">skipTableStateCheck</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.69">skipTableStateCheck</a></pre>
 </li>
 </ul>
 <a name="user">
@@ -476,7 +476,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>user</h4>
-<pre>private&nbsp;org.apache.hadoop.security.UserGroupInformation <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.71">user</a></pre>
+<pre>private&nbsp;org.apache.hadoop.security.UserGroupInformation <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.70">user</a></pre>
 </li>
 </ul>
 <a name="traceEnabled">
@@ -485,7 +485,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockListLast">
 <li class="blockList">
 <h4>traceEnabled</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.73">traceEnabled</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.72">traceEnabled</a></pre>
 </li>
 </ul>
 </li>
@@ -502,7 +502,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>EnableTableProcedure</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.75">EnableTableProcedure</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.74">EnableTableProcedure</a>()</pre>
 </li>
 </ul>
 <a name="EnableTableProcedure(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv, org.apache.hadoop.hbase.TableName, boolean)">
@@ -511,7 +511,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>EnableTableProcedure</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.86">EnableTableProcedure</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.85">EnableTableProcedure</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                     <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                     boolean&nbsp;skipTableStateCheck)
                      throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -527,7 +527,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockListLast">
 <li class="blockList">
 <h4>EnableTableProcedure</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.100">EnableTableProcedure</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.99">EnableTableProcedure</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                     <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                     boolean&nbsp;skipTableStateCheck,
                     <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ProcedurePrepareLatch.html" title="class in org.apache.hadoop.hbase.master.procedure">ProcedurePrepareLatch</a>&nbsp;syncLatch)
@@ -552,7 +552,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>executeFromState</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2">StateMachineProcedure.Flow</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.122">executeFromState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2">StateMachineProcedure.Flow</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.121">executeFromState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                           org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.EnableTableState&nbsp;state)
                                                throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#executeFromState(TEnvironment,%20TState)">StateMachineProcedure</a></code></strong></div>
@@ -573,7 +573,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>rollbackState</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.168">rollbackState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.167">rollbackState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                  org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.EnableTableState&nbsp;state)
                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#rollbackState(TEnvironment,%20TState)">StateMachineProcedure</a></code></strong></div>
@@ -592,7 +592,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getState</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.EnableTableState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.207">getState</a>(int&nbsp;stateId)</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.EnableTableState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.206">getState</a>(int&nbsp;stateId)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getState(int)">StateMachineProcedure</a></code></strong></div>
 <div class="block">Convert an ordinal (or state id) to an Enum (or more descriptive) state object.</div>
 <dl>
@@ -608,7 +608,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getStateId</h4>
-<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.212">getStateId</a>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.EnableTableState&nbsp;state)</pre>
+<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.211">getStateId</a>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.EnableTableState&nbsp;state)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getStateId(TState)">StateMachineProcedure</a></code></strong></div>
 <div class="block">Convert the Enum (or more descriptive) state object to an ordinal (or state id).</div>
 <dl>
@@ -624,7 +624,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getInitialState</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.EnableTableState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.217">getInitialState</a>()</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.EnableTableState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.216">getInitialState</a>()</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getInitialState()">StateMachineProcedure</a></code></strong></div>
 <div class="block">Return the initial state object that will be used for the first call to executeFromState().</div>
 <dl>
@@ -639,7 +639,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>setNextState</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.222">setNextState</a>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.EnableTableState&nbsp;state)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.221">setNextState</a>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.EnableTableState&nbsp;state)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#setNextState(TState)">StateMachineProcedure</a></code></strong></div>
 <div class="block">Set the next state for the procedure.</div>
 <dl>
@@ -654,7 +654,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>abort</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.231">abort</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.230">abort</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#abort(TEnvironment)">Procedure</a></code></strong></div>
 <div class="block">The abort() call is asynchronous and each procedure must decide how to deal
  with that, if they want to be abortable. The simplest implementation
@@ -678,7 +678,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>acquireLock</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.237">acquireLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.236">acquireLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#acquireLock(TEnvironment)">Procedure</a></code></strong></div>
 <div class="block">The user should override this method, and try to take a lock if necessary.
  A lock can be anything, and it is up to the implementor.
@@ -697,7 +697,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>releaseLock</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.245">releaseLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.242">releaseLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#releaseLock(TEnvironment)">Procedure</a></code></strong></div>
 <div class="block">The user should override this method, and release lock if necessary.</div>
 <dl>
@@ -712,7 +712,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>serializeStateData</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.250">serializeStateData</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;stream)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.247">serializeStateData</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;stream)
                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#serializeStateData(java.io.OutputStream)">Procedure</a></code></strong></div>
 <div class="block">The user-level code of the procedure may have some state to
@@ -731,7 +731,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>deserializeStateData</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.263">deserializeStateData</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;stream)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.260">deserializeStateData</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;stream)
                           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#deserializeStateData(java.io.InputStream)">Procedure</a></code></strong></div>
 <div class="block">Called on store load to allow the user to decode the previously serialized
@@ -750,7 +750,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>toStringClassDetails</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.274">toStringClassDetails</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;sb)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.271">toStringClassDetails</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;sb)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringClassDetails(java.lang.StringBuilder)">Procedure</a></code></strong></div>
 <div class="block">Extend the toString() information with the procedure details
  e.g. className and parameters</div>
@@ -766,7 +766,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableName</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.282">getTableName</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.279">getTableName</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html#getTableName()">getTableName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface</a></code></dd>
@@ -779,7 +779,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableOperationType</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface.TableOperationType</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.287">getTableOperationType</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface.TableOperationType</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.284">getTableOperationType</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html#getTableOperationType()">TableProcedureInterface</a></code></strong></div>
 <div class="block">Given an operation type we can take decisions about what to do with pending operations.
  e.g. if we get a delete and we have some table operation pending (e.g. add column)
@@ -796,7 +796,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>prepareEnable</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.299">prepareEnable</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.296">prepareEnable</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                        throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Action before any real action of enabling table. Set the exception in the procedure instead
  of throwing it.  This approach is to deal with backward compatible with 1.0.</div>
@@ -812,7 +812,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>preEnable</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.339">preEnable</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.336">preEnable</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
              org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.EnableTableState&nbsp;state)
                 throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                        <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
@@ -829,7 +829,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>setTableStateToEnabling</h4>
-<pre>protected static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.350">setTableStateToEnabling</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.347">setTableStateToEnabling</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                            <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                                        throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Mark table state to Enabling</div>
@@ -844,7 +844,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>markRegionsOnline</h4>
-<pre>protected static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.367">markRegionsOnline</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.364">markRegionsOnline</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                      <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                      <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;retryRequired)
                                  throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -860,7 +860,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>markRegionsOnline</h4>
-<pre>private static&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.407">markRegionsOnline</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 static&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.404">markRegionsOnline</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                         <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                                   throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Mark offline regions of the table online</div>
@@ -876,7 +876,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>markRegionsOfflineDuringRecovery</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.481">markRegionsOfflineDuringRecovery</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.478">markRegionsOfflineDuringRecovery</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block">Mark regions of the table offline during recovery</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>env</code> - MasterProcedureEnv</dd></dl>
 </li>
@@ -887,7 +887,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>setTableStateToEnabled</h4>
-<pre>protected static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.496">setTableStateToEnabled</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.493">setTableStateToEnabled</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                           <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Mark table state to Enabled</div>
@@ -902,7 +902,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>postEnable</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.513">postEnable</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.510">postEnable</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
               org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.EnableTableState&nbsp;state)
                  throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                         <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
@@ -919,7 +919,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>isTraceEnabled</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.523">isTraceEnabled</a>()</pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.520">isTraceEnabled</a>()</pre>
 <div class="block">The procedure could be restarted from a different machine. If the variable is null, we need to
  retrieve it.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>traceEnabled</dd></dl>
@@ -931,7 +931,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>regionsToAssignWithServerName</h4>
-<pre>private static&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.535">regionsToAssignWithServerName</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 static&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.532">regionsToAssignWithServerName</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                                         <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&gt;&nbsp;regionsInMeta)
                                                                   throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>regionsInMeta</code> - </dd>
@@ -946,7 +946,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockListLast">
 <li class="blockList">
 <h4>runCoprocessorAction</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.563">runCoprocessorAction</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#line.560">runCoprocessorAction</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                         org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.EnableTableState&nbsp;state)
                            throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                   <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.MasterProcedureStoreListener.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.MasterProcedureStoreListener.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.MasterProcedureStoreListener.html
index cfc73be..70b95b5 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.MasterProcedureStoreListener.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.MasterProcedureStoreListener.html
@@ -104,7 +104,7 @@
 <hr>
 <br>
 <pre><a href="../../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-public static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#line.69">MasterProcedureEnv.MasterProcedureStoreListener</a>
+public static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#line.71">MasterProcedureEnv.MasterProcedureStoreListener</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../../org/apache/hadoop/hbase/procedure2/store/ProcedureStore.ProcedureStoreListener.html" title="interface in org.apache.hadoop.hbase.procedure2.store">ProcedureStore.ProcedureStoreListener</a></pre>
 </li>
@@ -201,7 +201,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/procedure2/store/P
 <ul class="blockListLast">
 <li class="blockList">
 <h4>master</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.MasterProcedureStoreListener.html#line.71">master</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.MasterProcedureStoreListener.html#line.73">master</a></pre>
 </li>
 </ul>
 </li>
@@ -218,7 +218,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/procedure2/store/P
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MasterProcedureEnv.MasterProcedureStoreListener</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.MasterProcedureStoreListener.html#line.73">MasterProcedureEnv.MasterProcedureStoreListener</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a>&nbsp;master)</pre>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.MasterProcedureStoreListener.html#line.75">MasterProcedureEnv.MasterProcedureStoreListener</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a>&nbsp;master)</pre>
 </li>
 </ul>
 </li>
@@ -235,7 +235,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/procedure2/store/P
 <ul class="blockList">
 <li class="blockList">
 <h4>postSync</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.MasterProcedureStoreListener.html#line.78">postSync</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.MasterProcedureStoreListener.html#line.80">postSync</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/store/ProcedureStore.ProcedureStoreListener.html#postSync()">ProcedureStore.ProcedureStoreListener</a></code></strong></div>
 <div class="block">triggered when the store sync is completed.</div>
 <dl>
@@ -250,7 +250,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/procedure2/store/P
 <ul class="blockListLast">
 <li class="blockList">
 <h4>abortProcess</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.MasterProcedureStoreListener.html#line.83">abortProcess</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.MasterProcedureStoreListener.html#line.85">abortProcess</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/store/ProcedureStore.ProcedureStoreListener.html#abortProcess()">ProcedureStore.ProcedureStoreListener</a></code></strong></div>
 <div class="block">triggered when the store is not able to write out data.
  the main process should abort.</div>


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

Posted by mi...@apache.org.
Published site at cb17c7a97a1e2eb0ebd532f614191e4edbb9e49b.


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

Branch: refs/heads/asf-site
Commit: 50917b1d7ffb645a45117197d841af124ac18c52
Parents: e78cb9d
Author: jenkins <bu...@apache.org>
Authored: Fri Jan 15 15:18:52 2016 +0000
Committer: Misty Stanley-Jones <ms...@cloudera.com>
Committed: Fri Jan 15 09:01:36 2016 -0800

----------------------------------------------------------------------
 acid-semantics.html                             |     4 +-
 apache_hbase_reference_guide.pdf                |   Bin 14206470 -> 14206470 bytes
 apache_hbase_reference_guide.pdfmarks           |     4 +-
 .../hbase/quotas/ThrottlingException.Type.html  |     4 +-
 .../org/apache/hadoop/hbase/ProcedureInfo.html  |     4 +-
 .../hadoop/hbase/snapshot/ExportSnapshot.html   |     2 +-
 book.html                                       |     2 +-
 bulk-loads.html                                 |     4 +-
 checkstyle-aggregate.html                       | 23140 +++++++++--------
 checkstyle.rss                                  |    52 +-
 coc.html                                        |     4 +-
 cygwin.html                                     |     4 +-
 dependencies.html                               |     4 +-
 dependency-convergence.html                     |     4 +-
 dependency-info.html                            |     4 +-
 dependency-management.html                      |     4 +-
 devapidocs/allclasses-frame.html                |    19 +-
 devapidocs/allclasses-noframe.html              |    19 +-
 devapidocs/constant-values.html                 |    47 -
 devapidocs/index-all.html                       |   570 +-
 .../hadoop/hbase/class-use/ServerName.html      |    61 +-
 .../hadoop/hbase/class-use/TableName.html       |   133 +-
 .../class-use/InterfaceAudience.Private.html    |    23 +-
 .../class-use/InterfaceStability.Evolving.html  |    21 +-
 .../hbase/classification/package-tree.html      |     2 +-
 .../hadoop/hbase/client/package-tree.html       |     6 +-
 .../hadoop/hbase/executor/package-tree.html     |     2 +-
 .../hadoop/hbase/filter/package-tree.html       |     8 +-
 .../hadoop/hbase/io/hfile/package-tree.html     |     4 +-
 .../ipc/AsyncRpcChannel.CallWriteListener.html  |    10 +-
 .../hadoop/hbase/ipc/AsyncRpcChannel.html       |   137 +-
 .../hadoop/hbase/mapreduce/package-tree.html    |     2 +-
 .../master/HMaster.InitializationMonitor.html   |    20 +-
 .../hbase/master/HMaster.RedirectServlet.html   |    10 +-
 .../org/apache/hadoop/hbase/master/HMaster.html |   465 +-
 .../master/HMasterCommandLine.LocalHMaster.html |     4 +-
 .../hbase/master/TableNamespaceManager.html     |   238 +-
 .../hbase/master/balancer/package-tree.html     |     2 +-
 .../class-use/TableLockManager.TableLock.html   |     2 +-
 .../master/class-use/TableLockManager.html      |    34 +-
 .../hadoop/hbase/master/package-tree.html       |     6 +-
 .../procedure/AddColumnFamilyProcedure.html     |    70 +-
 .../procedure/CreateNamespaceProcedure.html     |    75 +-
 .../procedure/DeleteColumnFamilyProcedure.html  |    76 +-
 .../procedure/DeleteNamespaceProcedure.html     |    75 +-
 .../DisableTableProcedure.BulkDisabler.html     |    16 +-
 ...ableProcedure.MarkRegionOfflineOpResult.html |    12 +-
 .../master/procedure/DisableTableProcedure.html |    68 +-
 .../master/procedure/EnableTableProcedure.html  |    72 +-
 ...ocedureEnv.MasterProcedureStoreListener.html |    10 +-
 ...asterProcedureEnv.WALStoreLeaseRecovery.html |    12 +-
 .../master/procedure/MasterProcedureEnv.html    |   103 +-
 .../MasterProcedureQueue.AbstractRunQueue.html  |   560 -
 .../MasterProcedureQueue.RunQueue.html          |   265 -
 .../MasterProcedureQueue.ServerRunQueue.html    |   249 -
 .../MasterProcedureQueue.TableRunQueue.html     |   400 -
 .../master/procedure/MasterProcedureQueue.html  |   941 -
 .../MasterProcedureScheduler.AvlTree.html       |   415 +
 .../MasterProcedureScheduler.FairQueue.html     |   412 +
 .../MasterProcedureScheduler.IterableList.html  |   322 +
 ...MasterProcedureScheduler.NamespaceQueue.html |   333 +
 ...MasterProcedureScheduler.ProcedureEvent.html |   443 +
 .../MasterProcedureScheduler.Queue.html         |   659 +
 .../MasterProcedureScheduler.QueueImpl.html     |   408 +
 ...MasterProcedureScheduler.QueueInterface.html |   294 +
 .../MasterProcedureScheduler.ServerQueue.html   |   288 +
 .../MasterProcedureScheduler.TableQueue.html    |   457 +
 .../procedure/MasterProcedureScheduler.html     |  1323 +
 .../master/procedure/MasterProcedureUtil.html   |     4 +-
 .../procedure/ModifyColumnFamilyProcedure.html  |    66 +-
 .../procedure/ModifyNamespaceProcedure.html     |    63 +-
 .../master/procedure/ModifyTableProcedure.html  |    76 +-
 .../master/procedure/ServerCrashProcedure.html  |    70 +-
 ...rProcedureInterface.ServerOperationType.html |   311 +
 .../procedure/ServerProcedureInterface.html     |    52 +-
 .../procedure/TableProcedureInterface.html      |     4 +-
 .../MasterProcedureQueue.AbstractRunQueue.html  |   163 -
 .../MasterProcedureQueue.RunQueue.html          |   214 -
 .../MasterProcedureQueue.ServerRunQueue.html    |   163 -
 .../MasterProcedureQueue.TableRunQueue.html     |   163 -
 .../class-use/MasterProcedureQueue.html         |   168 -
 .../MasterProcedureScheduler.AvlTree.html       |   115 +
 .../MasterProcedureScheduler.FairQueue.html     |   194 +
 .../MasterProcedureScheduler.IterableList.html  |   115 +
 ...MasterProcedureScheduler.NamespaceQueue.html |   185 +
 ...MasterProcedureScheduler.ProcedureEvent.html |   238 +
 .../MasterProcedureScheduler.Queue.html         |   462 +
 .../MasterProcedureScheduler.QueueImpl.html     |   159 +
 ...MasterProcedureScheduler.QueueInterface.html |   173 +
 .../MasterProcedureScheduler.ServerQueue.html   |   159 +
 .../MasterProcedureScheduler.TableQueue.html    |   159 +
 .../class-use/MasterProcedureScheduler.html     |   168 +
 ...rProcedureInterface.ServerOperationType.html |   174 +
 .../class-use/ServerProcedureInterface.html     |    41 -
 .../hbase/master/procedure/package-frame.html   |    17 +-
 .../hbase/master/procedure/package-summary.html |    48 +-
 .../hbase/master/procedure/package-tree.html    |    26 +-
 .../hbase/master/procedure/package-use.html     |    36 +-
 .../org/apache/hadoop/hbase/package-tree.html   |    10 +-
 .../procedure2/ProcedureExecutor.Testing.html   |     4 +-
 .../hbase/procedure2/ProcedureExecutor.html     |    26 +-
 .../ProcedureFairRunQueues.FairObject.html      |   231 -
 .../procedure2/ProcedureFairRunQueues.html      |   486 -
 .../hbase/procedure2/ProcedureRunnableSet.html  |    12 +-
 .../procedure2/ProcedureSimpleRunQueue.html     |    10 +-
 .../hbase/procedure2/class-use/Procedure.html   |   172 +-
 .../ProcedureFairRunQueues.FairObject.html      |   207 -
 .../class-use/ProcedureFairRunQueues.html       |   161 -
 .../class-use/ProcedureRunnableSet.html         |     2 +-
 .../hadoop/hbase/procedure2/package-frame.html  |     2 -
 .../hbase/procedure2/package-summary.html       |    19 +-
 .../hadoop/hbase/procedure2/package-tree.html   |     2 -
 .../hadoop/hbase/procedure2/package-use.html    |    22 +-
 .../hadoop/hbase/quotas/package-tree.html       |     4 +-
 .../hadoop/hbase/regionserver/package-tree.html |    22 +-
 .../hadoop/hbase/rest/model/package-tree.html   |     2 +-
 ...SaslRpcClient.SaslClientCallbackHandler.html |    10 +-
 .../hbase/security/HBaseSaslRpcClient.html      |    41 +-
 ...SaslRpcServer.SaslDigestCallbackHandler.html |    12 +-
 ...aseSaslRpcServer.SaslGssCallbackHandler.html |     6 +-
 .../hbase/security/HBaseSaslRpcServer.html      |    38 +-
 .../SaslClientHandler.SaslExceptionHandler.html |     6 +-
 ...entHandler.SaslSuccessfulConnectHandler.html |     4 +-
 .../hbase/security/SaslClientHandler.html       |    90 +-
 .../security/SaslUtil.QualityOfProtection.html  |    35 +-
 .../apache/hadoop/hbase/security/SaslUtil.html  |    36 +-
 .../hbase/security/access/package-tree.html     |     2 +-
 .../hbase/security/class-use/AuthMethod.html    |     4 +-
 .../SaslClientHandler.SaslExceptionHandler.html |     4 +-
 ...entHandler.SaslSuccessfulConnectHandler.html |     4 +-
 .../hadoop/hbase/security/package-tree.html     |     2 +-
 .../hadoop/hbase/thrift/package-tree.html       |     2 +-
 .../tmpl/master/MasterStatusTmpl.ImplData.html  |   210 +-
 .../hbase/tmpl/master/MasterStatusTmpl.html     |    84 +-
 .../hbase/tmpl/master/MasterStatusTmplImpl.html |    42 +-
 .../regionserver/RSStatusTmpl.ImplData.html     |   120 +-
 .../hbase/tmpl/regionserver/RSStatusTmpl.html   |    48 +-
 .../tmpl/regionserver/RSStatusTmplImpl.html     |    24 +-
 .../apache/hadoop/hbase/util/package-tree.html  |     8 +-
 .../apache/hadoop/hbase/wal/package-tree.html   |     2 +-
 devapidocs/overview-tree.html                   |    25 +-
 .../org/apache/hadoop/hbase/ProcedureInfo.html  |     4 +-
 .../ipc/AsyncRpcChannel.CallWriteListener.html  |  1427 +-
 .../hadoop/hbase/ipc/AsyncRpcChannel.html       |  1427 +-
 .../RpcServer.BlockingServiceAndInterface.html  |     4 +-
 .../apache/hadoop/hbase/ipc/RpcServer.Call.html |     4 +-
 .../ipc/RpcServer.CallQueueTooBigException.html |     4 +-
 .../hadoop/hbase/ipc/RpcServer.Connection.html  |     4 +-
 .../hbase/ipc/RpcServer.Listener.Reader.html    |     4 +-
 .../hadoop/hbase/ipc/RpcServer.Listener.html    |     4 +-
 .../hadoop/hbase/ipc/RpcServer.Responder.html   |     4 +-
 .../org/apache/hadoop/hbase/ipc/RpcServer.html  |     4 +-
 .../master/HMaster.InitializationMonitor.html   |  5279 ++--
 .../hbase/master/HMaster.RedirectServlet.html   |  5279 ++--
 .../org/apache/hadoop/hbase/master/HMaster.html |  5279 ++--
 .../hbase/master/TableNamespaceManager.html     |   732 +-
 .../procedure/AddColumnFamilyProcedure.html     |   737 +-
 .../procedure/CreateNamespaceProcedure.html     |   318 +-
 .../CreateTableProcedure.CreateHdfsRegions.html |     2 +-
 .../master/procedure/CreateTableProcedure.html  |     2 +-
 .../procedure/DeleteColumnFamilyProcedure.html  |   821 +-
 .../procedure/DeleteNamespaceProcedure.html     |   377 +-
 .../master/procedure/DeleteTableProcedure.html  |     2 +-
 .../DisableTableProcedure.BulkDisabler.html     |   993 +-
 ...ableProcedure.MarkRegionOfflineOpResult.html |   993 +-
 .../master/procedure/DisableTableProcedure.html |   993 +-
 .../master/procedure/EnableTableProcedure.html  |  1075 +-
 ...ocedureEnv.MasterProcedureStoreListener.html |   216 +-
 ...asterProcedureEnv.WALStoreLeaseRecovery.html |   216 +-
 .../master/procedure/MasterProcedureEnv.html    |   216 +-
 .../MasterProcedureQueue.AbstractRunQueue.html  |   650 -
 .../MasterProcedureQueue.RunQueue.html          |   650 -
 .../MasterProcedureQueue.ServerRunQueue.html    |   650 -
 .../MasterProcedureQueue.TableRunQueue.html     |   650 -
 .../master/procedure/MasterProcedureQueue.html  |   650 -
 .../MasterProcedureScheduler.AvlTree.html       |  1468 ++
 .../MasterProcedureScheduler.FairQueue.html     |  1468 ++
 .../MasterProcedureScheduler.IterableList.html  |  1468 ++
 ...MasterProcedureScheduler.NamespaceQueue.html |  1468 ++
 ...MasterProcedureScheduler.ProcedureEvent.html |  1468 ++
 .../MasterProcedureScheduler.Queue.html         |  1468 ++
 .../MasterProcedureScheduler.QueueImpl.html     |  1468 ++
 ...MasterProcedureScheduler.QueueInterface.html |  1468 ++
 .../MasterProcedureScheduler.ServerQueue.html   |  1468 ++
 .../MasterProcedureScheduler.TableQueue.html    |  1468 ++
 .../procedure/MasterProcedureScheduler.html     |  1468 ++
 .../procedure/ModifyColumnFamilyProcedure.html  |   685 +-
 .../procedure/ModifyNamespaceProcedure.html     |   183 +-
 .../master/procedure/ModifyTableProcedure.html  |   925 +-
 .../master/procedure/ServerCrashProcedure.html  |    35 +-
 ...rProcedureInterface.ServerOperationType.html |   124 +
 .../procedure/ServerProcedureInterface.html     |    32 +-
 .../procedure/TruncateTableProcedure.html       |     2 +-
 ...edureExecutor.CompletedProcedureCleaner.html |  1005 +-
 ...edureExecutor.ProcedureExecutorListener.html |  1005 +-
 ...edureExecutor.ProcedureTimeoutRetriever.html |  1005 +-
 .../procedure2/ProcedureExecutor.Testing.html   |  1005 +-
 .../hbase/procedure2/ProcedureExecutor.html     |  1005 +-
 .../ProcedureFairRunQueues.FairObject.html      |   246 -
 .../procedure2/ProcedureFairRunQueues.html      |   246 -
 .../hbase/procedure2/ProcedureRunnableSet.html  |     4 +-
 .../procedure2/ProcedureSimpleRunQueue.html     |     8 +-
 .../compactions/Compactor.CellSink.html         |     2 +-
 .../compactions/Compactor.FileDetails.html      |     2 +-
 .../regionserver/compactions/Compactor.html     |     2 +-
 ...SaslRpcClient.SaslClientCallbackHandler.html |   604 +-
 .../hbase/security/HBaseSaslRpcClient.html      |   604 +-
 ...SaslRpcServer.SaslDigestCallbackHandler.html |   307 +-
 ...aseSaslRpcServer.SaslGssCallbackHandler.html |   307 +-
 .../hbase/security/HBaseSaslRpcServer.html      |   307 +-
 .../SaslClientHandler.SaslExceptionHandler.html |   636 +-
 ...entHandler.SaslSuccessfulConnectHandler.html |   636 +-
 .../hbase/security/SaslClientHandler.html       |   636 +-
 .../security/SaslUtil.QualityOfProtection.html  |   156 +-
 .../apache/hadoop/hbase/security/SaslUtil.html  |   156 +-
 .../hbase/snapshot/ExportSnapshot.Counter.html  |     2 +-
 .../snapshot/ExportSnapshot.ExportMapper.html   |     2 +-
 ...hotInputFormat.ExportSnapshotInputSplit.html |     2 +-
 ...tInputFormat.ExportSnapshotRecordReader.html |     2 +-
 ...xportSnapshot.ExportSnapshotInputFormat.html |     2 +-
 .../hadoop/hbase/snapshot/ExportSnapshot.html   |     2 +-
 .../tmpl/master/MasterStatusTmpl.ImplData.html  |   210 +-
 .../tmpl/master/MasterStatusTmpl.Intf.html      |   210 +-
 .../hbase/tmpl/master/MasterStatusTmpl.html     |   210 +-
 .../hbase/tmpl/master/MasterStatusTmplImpl.html |    60 +-
 .../regionserver/RSStatusTmpl.ImplData.html     |   120 +-
 .../tmpl/regionserver/RSStatusTmpl.Intf.html    |   120 +-
 .../hbase/tmpl/regionserver/RSStatusTmpl.html   |   120 +-
 .../tmpl/regionserver/RSStatusTmplImpl.html     |    36 +-
 distribution-management.html                    |     4 +-
 export_control.html                             |     4 +-
 hbase-annotations/checkstyle.html               |     6 +-
 hbase-annotations/dependencies.html             |     6 +-
 hbase-annotations/dependency-convergence.html   |     6 +-
 hbase-annotations/dependency-info.html          |     6 +-
 hbase-annotations/dependency-management.html    |     6 +-
 hbase-annotations/distribution-management.html  |     6 +-
 hbase-annotations/index.html                    |     6 +-
 hbase-annotations/integration.html              |     6 +-
 hbase-annotations/issue-tracking.html           |     6 +-
 hbase-annotations/license.html                  |     6 +-
 hbase-annotations/mail-lists.html               |     6 +-
 hbase-annotations/plugin-management.html        |     6 +-
 hbase-annotations/plugins.html                  |     6 +-
 hbase-annotations/project-info.html             |     6 +-
 hbase-annotations/project-reports.html          |     6 +-
 hbase-annotations/project-summary.html          |     6 +-
 hbase-annotations/source-repository.html        |     6 +-
 hbase-annotations/team-list.html                |    10 +-
 hbase-spark/checkstyle.html                     |     6 +-
 hbase-spark/dependencies.html                   |     6 +-
 hbase-spark/dependency-convergence.html         |     6 +-
 hbase-spark/dependency-info.html                |     6 +-
 hbase-spark/dependency-management.html          |     6 +-
 hbase-spark/distribution-management.html        |     6 +-
 hbase-spark/index.html                          |     6 +-
 hbase-spark/integration.html                    |     6 +-
 hbase-spark/issue-tracking.html                 |     6 +-
 hbase-spark/license.html                        |     6 +-
 hbase-spark/mail-lists.html                     |     6 +-
 hbase-spark/plugin-management.html              |     6 +-
 hbase-spark/plugins.html                        |     6 +-
 hbase-spark/project-info.html                   |     6 +-
 hbase-spark/project-reports.html                |     6 +-
 hbase-spark/project-summary.html                |     6 +-
 hbase-spark/source-repository.html              |     6 +-
 hbase-spark/team-list.html                      |    10 +-
 index.html                                      |     5 +-
 integration.html                                |     4 +-
 issue-tracking.html                             |     4 +-
 license.html                                    |     4 +-
 mail-lists.html                                 |     4 +-
 metrics.html                                    |     4 +-
 modules.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                                  |     8 +-
 testdevapidocs/allclasses-frame.html            |    15 +-
 testdevapidocs/allclasses-noframe.html          |    15 +-
 testdevapidocs/index-all.html                   |   230 +-
 .../hbase/TestLocalHBaseCluster.MyHMaster.html  |     2 +-
 .../chaos/actions/ChangeCompressionAction.html  |    14 +-
 .../hbase/class-use/HBaseTestingUtility.html    |    18 +-
 ...TestAssignmentManagerOnCluster.MyMaster.html |     4 +-
 .../master/TestMasterMetrics.MyMaster.html      |     4 +-
 .../procedure/TestEnableTableProcedure.html     |     4 +-
 .../procedure/TestMasterProcedureEvents.html    |   408 +
 ...stMasterProcedureQueue.TestTableProcSet.html |   348 -
 ...MasterProcedureQueue.TestTableProcedure.html |   467 -
 .../procedure/TestMasterProcedureQueue.html     |   477 -
 ...ocedureScheduler.TestNamespaceProcedure.html |   390 +
 ...sterProcedureScheduler.TestTableProcSet.html |   348 +
 ...erProcedureScheduler.TestTableProcedure.html |   390 +
 .../procedure/TestMasterProcedureScheduler.html |   497 +
 .../TestModifyColumnFamilyProcedure.html        |     4 +-
 .../class-use/TestMasterProcedureEvents.html    |   115 +
 ...stMasterProcedureQueue.TestTableProcSet.html |   115 -
 ...MasterProcedureQueue.TestTableProcedure.html |   115 -
 .../class-use/TestMasterProcedureQueue.html     |   115 -
 ...ocedureScheduler.TestNamespaceProcedure.html |   115 +
 ...sterProcedureScheduler.TestTableProcSet.html |   115 +
 ...erProcedureScheduler.TestTableProcedure.html |   115 +
 .../class-use/TestMasterProcedureScheduler.html |   115 +
 .../hbase/master/procedure/package-frame.html   |     8 +-
 .../hbase/master/procedure/package-summary.html |    14 +-
 .../hbase/master/procedure/package-tree.html    |    12 +-
 .../org/apache/hadoop/hbase/package-tree.html   |    12 +-
 .../ProcedureTestingUtility.TestProcedure.html  |     4 +
 ...tion.TestWaitingProcedure.TestWaitChild.html |     4 +-
 ...TestProcedureFairRunQueues.TestRunQueue.html |   380 -
 .../procedure2/TestProcedureFairRunQueues.html  |   326 -
 .../hbase/procedure2/TestProcedureRecovery.html |     4 +-
 .../ProcedureTestingUtility.TestProcedure.html  |    46 +-
 ...TestProcedureFairRunQueues.TestRunQueue.html |   115 -
 .../class-use/TestProcedureFairRunQueues.html   |   115 -
 .../hadoop/hbase/procedure2/package-frame.html  |     2 -
 .../hbase/procedure2/package-summary.html       |     8 -
 .../hadoop/hbase/procedure2/package-tree.html   |     2 -
 .../hadoop/hbase/procedure2/package-use.html    |    19 +
 ...egionMergeTransactionOnCluster.MyMaster.html |     2 +-
 .../TestSplitTransactionOnCluster.MyMaster.html |     2 +-
 .../hbase/security/AbstractTestSecureIPC.html   |   594 +
 .../hbase/security/HBaseKerberosUtils.html      |     8 +-
 .../hbase/security/TestAsyncSecureIPC.html      |   287 +
 .../hbase/security/TestEncryptionUtil.html      |     4 +-
 .../hbase/security/TestHBaseSaslRpcClient.html  |    58 +-
 .../hadoop/hbase/security/TestSaslUtil.html     |   292 +
 .../hadoop/hbase/security/TestSecureIPC.html    |   287 +
 .../hadoop/hbase/security/TestSecureRPC.html    |   499 -
 .../apache/hadoop/hbase/security/TestUser.html  |     4 +-
 .../class-use/AbstractTestSecureIPC.html        |   159 +
 .../security/class-use/TestAsyncSecureIPC.html  |   115 +
 .../hbase/security/class-use/TestSaslUtil.html  |   115 +
 .../hbase/security/class-use/TestSecureIPC.html |   115 +
 .../hbase/security/class-use/TestSecureRPC.html |   115 -
 .../hadoop/hbase/security/package-frame.html    |     5 +-
 .../hadoop/hbase/security/package-summary.html  |    16 +-
 .../hadoop/hbase/security/package-tree.html     |     8 +-
 .../hadoop/hbase/security/package-use.html      |    35 +-
 .../apache/hadoop/hbase/test/package-tree.html  |     2 +-
 .../apache/hadoop/hbase/wal/package-tree.html   |     2 +-
 testdevapidocs/overview-tree.html               |    23 +-
 .../chaos/actions/ChangeCompressionAction.html  |   127 +-
 .../apache/hadoop/hbase/master/TestMaster.html  |     8 +-
 .../hbase/master/TestMasterNoCluster.html       |     2 +-
 .../procedure/TestMasterProcedureEvents.html    |   251 +
 ...stMasterProcedureQueue.TestTableProcSet.html |   556 -
 ...MasterProcedureQueue.TestTableProcedure.html |   556 -
 .../procedure/TestMasterProcedureQueue.html     |   556 -
 ...ocedureScheduler.TestNamespaceProcedure.html |   619 +
 ...sterProcedureScheduler.TestTableProcSet.html |   619 +
 ...erProcedureScheduler.TestTableProcedure.html |   619 +
 .../procedure/TestMasterProcedureScheduler.html |   619 +
 ...TestProcedureFairRunQueues.TestRunQueue.html |   227 -
 .../procedure2/TestProcedureFairRunQueues.html  |   227 -
 .../hbase/security/AbstractTestSecureIPC.html   |   317 +
 .../hbase/security/TestAsyncSecureIPC.html      |   105 +
 .../hbase/security/TestHBaseSaslRpcClient.html  |   612 +-
 .../hadoop/hbase/security/TestSaslUtil.html     |   131 +
 .../hadoop/hbase/security/TestSecureIPC.html    |   105 +
 .../hadoop/hbase/security/TestSecureRPC.html    |   288 -
 xref-test/allclasses-frame.html                 |    33 +-
 .../chaos/actions/ChangeCompressionAction.html  |   127 +-
 .../apache/hadoop/hbase/master/TestMaster.html  |     8 +-
 .../hbase/master/TestMasterNoCluster.html       |     2 +-
 .../procedure/TestMasterProcedureEvents.html    |   193 +
 .../procedure/TestMasterProcedureQueue.html     |   498 -
 .../procedure/TestMasterProcedureScheduler.html |   561 +
 .../hbase/master/procedure/package-frame.html   |    12 +-
 .../hbase/master/procedure/package-summary.html |    16 +-
 .../procedure2/TestProcedureFairRunQueues.html  |   169 -
 .../hadoop/hbase/procedure2/package-frame.html  |     6 -
 .../hbase/procedure2/package-summary.html       |    10 -
 .../hbase/security/AbstractTestSecureIPC.html   |   259 +
 .../hbase/security/TestAsyncSecureIPC.html      |    47 +
 .../hbase/security/TestHBaseSaslRpcClient.html  |   612 +-
 .../hadoop/hbase/security/TestSaslUtil.html     |    73 +
 .../hadoop/hbase/security/TestSecureIPC.html    |    47 +
 .../hadoop/hbase/security/TestSecureRPC.html    |   230 -
 .../hadoop/hbase/security/package-frame.html    |    11 +-
 .../hadoop/hbase/security/package-summary.html  |    17 +-
 xref/allclasses-frame.html                      |    49 +-
 xref/org/apache/hadoop/hbase/ProcedureInfo.html |     4 +-
 .../hadoop/hbase/ipc/AsyncRpcChannel.html       |  1427 +-
 xref/org/apache/hadoop/hbase/ipc/RpcServer.html |     4 +-
 .../org/apache/hadoop/hbase/master/HMaster.html |  5279 ++--
 .../hbase/master/TableNamespaceManager.html     |   732 +-
 .../procedure/AddColumnFamilyProcedure.html     |   737 +-
 .../procedure/CreateNamespaceProcedure.html     |   318 +-
 .../master/procedure/CreateTableProcedure.html  |     2 +-
 .../procedure/DeleteColumnFamilyProcedure.html  |   821 +-
 .../procedure/DeleteNamespaceProcedure.html     |   377 +-
 .../master/procedure/DeleteTableProcedure.html  |     2 +-
 .../master/procedure/DisableTableProcedure.html |   993 +-
 .../master/procedure/EnableTableProcedure.html  |  1075 +-
 .../master/procedure/MasterProcedureEnv.html    |   216 +-
 .../master/procedure/MasterProcedureQueue.html  |   592 -
 .../procedure/MasterProcedureScheduler.html     |  1410 +
 .../procedure/ModifyColumnFamilyProcedure.html  |   685 +-
 .../procedure/ModifyNamespaceProcedure.html     |   183 +-
 .../master/procedure/ModifyTableProcedure.html  |   925 +-
 .../master/procedure/ServerCrashProcedure.html  |    35 +-
 .../procedure/ServerProcedureInterface.html     |    32 +-
 .../procedure/TruncateTableProcedure.html       |     2 +-
 .../hbase/master/procedure/package-frame.html   |    33 +-
 .../hbase/master/procedure/package-summary.html |    47 +-
 .../hbase/procedure2/ProcedureExecutor.html     |  1005 +-
 .../procedure2/ProcedureFairRunQueues.html      |   188 -
 .../hbase/procedure2/ProcedureRunnableSet.html  |     4 +-
 .../procedure2/ProcedureSimpleRunQueue.html     |     8 +-
 .../hadoop/hbase/procedure2/package-frame.html  |     6 -
 .../hbase/procedure2/package-summary.html       |    10 -
 .../regionserver/compactions/Compactor.html     |     2 +-
 .../hbase/security/HBaseSaslRpcClient.html      |   604 +-
 .../hbase/security/HBaseSaslRpcServer.html      |   307 +-
 .../hbase/security/SaslClientHandler.html       |   636 +-
 .../apache/hadoop/hbase/security/SaslUtil.html  |   156 +-
 .../hadoop/hbase/snapshot/ExportSnapshot.html   |     2 +-
 .../hbase/tmpl/common/TaskMonitorTmpl.html      |    90 +-
 .../hbase/tmpl/common/TaskMonitorTmplImpl.html  |    24 +-
 .../hbase/tmpl/master/MasterStatusTmpl.html     |   210 +-
 .../hbase/tmpl/master/MasterStatusTmplImpl.html |    60 +-
 .../hbase/tmpl/regionserver/RSStatusTmpl.html   |   120 +-
 .../tmpl/regionserver/RSStatusTmplImpl.html     |    36 +-
 435 files changed, 78120 insertions(+), 57965 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/acid-semantics.html
----------------------------------------------------------------------
diff --git a/acid-semantics.html b/acid-semantics.html
index dd0112c..5d2ee53 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="20160114" />
+    <meta name="Date-Revision-yyyymmdd" content="20160115" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Apache HBase (TM) ACID Properties
@@ -600,7 +600,7 @@ under the License. -->
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-14</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-15</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/apache_hbase_reference_guide.pdf
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdf b/apache_hbase_reference_guide.pdf
index 260be7e..18e9b6d 100644
Binary files a/apache_hbase_reference_guide.pdf and b/apache_hbase_reference_guide.pdf differ

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/apache_hbase_reference_guide.pdfmarks
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdfmarks b/apache_hbase_reference_guide.pdfmarks
index 50a1a5d..6a8bdfe 100644
--- a/apache_hbase_reference_guide.pdfmarks
+++ b/apache_hbase_reference_guide.pdfmarks
@@ -2,8 +2,8 @@
   /Author (Apache HBase Team)
   /Subject ()
   /Keywords ()
-  /ModDate (D:20160114151458)
-  /CreationDate (D:20160114151458)
+  /ModDate (D:20160115151522)
+  /CreationDate (D:20160115151522)
   /Creator (Asciidoctor PDF 1.5.0.alpha.6, based on Prawn 1.2.1)
   /Producer ()
   /DOCINFO pdfmark

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/apidocs/org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html b/apidocs/org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html
index a2a18ff..ebdb69d 100644
--- a/apidocs/org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html
+++ b/apidocs/org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html
@@ -272,7 +272,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/quotas/ThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottlingException.Type</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html#line.39">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottlingException.Type</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html#line.36">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:
@@ -289,7 +289,7 @@ for (ThrottlingException.Type c : ThrottlingException.Type.values())
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottlingException.Type</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html#line.39">valueOf</a>(<a href="http://docs.oracle.com/javase/7/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/quotas/ThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottlingException.Type</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html#line.36">valueOf</a>(<a href="http://docs.oracle.com/javase/7/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/50917b1d/apidocs/src-html/org/apache/hadoop/hbase/ProcedureInfo.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/ProcedureInfo.html b/apidocs/src-html/org/apache/hadoop/hbase/ProcedureInfo.html
index b280a3e..a3748d3 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/ProcedureInfo.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/ProcedureInfo.html
@@ -232,10 +232,10 @@
 <span class="sourceLineNo">224</span>      procProto.getOwner(),<a name="line.224"></a>
 <span class="sourceLineNo">225</span>      procProto.getState(),<a name="line.225"></a>
 <span class="sourceLineNo">226</span>      procProto.hasParentId() ? procProto.getParentId() : -1,<a name="line.226"></a>
-<span class="sourceLineNo">227</span>          procProto.getState() == ProcedureState.ROLLEDBACK ? procProto.getException() : null,<a name="line.227"></a>
+<span class="sourceLineNo">227</span>      procProto.hasException() ? procProto.getException() : null,<a name="line.227"></a>
 <span class="sourceLineNo">228</span>      procProto.getLastUpdate(),<a name="line.228"></a>
 <span class="sourceLineNo">229</span>      procProto.getStartTime(),<a name="line.229"></a>
-<span class="sourceLineNo">230</span>      procProto.getState() == ProcedureState.FINISHED ? procProto.getResult().toByteArray() : null);<a name="line.230"></a>
+<span class="sourceLineNo">230</span>      procProto.hasResult() ? procProto.getResult().toByteArray() : null);<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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/apidocs/src-html/org/apache/hadoop/hbase/snapshot/ExportSnapshot.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/snapshot/ExportSnapshot.html b/apidocs/src-html/org/apache/hadoop/hbase/snapshot/ExportSnapshot.html
index a2fb187..5da37ee 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/snapshot/ExportSnapshot.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/snapshot/ExportSnapshot.html
@@ -278,7 +278,7 @@
 <span class="sourceLineNo">270</span>      InputStream in = openSourceFile(context, inputInfo);<a name="line.270"></a>
 <span class="sourceLineNo">271</span>      int bandwidthMB = context.getConfiguration().getInt(CONF_BANDWIDTH_MB, 100);<a name="line.271"></a>
 <span class="sourceLineNo">272</span>      if (Integer.MAX_VALUE != bandwidthMB) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>        in = new ThrottledInputStream(new BufferedInputStream(in), bandwidthMB * 1024 * 1024);<a name="line.273"></a>
+<span class="sourceLineNo">273</span>        in = new ThrottledInputStream(new BufferedInputStream(in), bandwidthMB * 1024 * 1024L);<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>      try {<a name="line.276"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/book.html
----------------------------------------------------------------------
diff --git a/book.html b/book.html
index 8ece264..01ad080 100644
--- a/book.html
+++ b/book.html
@@ -32948,7 +32948,7 @@ The server will return cellblocks compressed using this same compressor as long
 <div id="footer">
 <div id="footer-text">
 Version 2.0.0-SNAPSHOT<br>
-Last updated 2016-01-14 14:46:28 UTC
+Last updated 2016-01-15 14:47:20 UTC
 </div>
 </div>
 </body>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/bulk-loads.html
----------------------------------------------------------------------
diff --git a/bulk-loads.html b/bulk-loads.html
index c749e33..bb54c0c 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="20160114" />
+    <meta name="Date-Revision-yyyymmdd" content="20160115" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Bulk Loads in Apache HBase (TM)
@@ -305,7 +305,7 @@ under the License. -->
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-14</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-15</li>
             </p>
                 </div>
 


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html
index 5439921..945a72c 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html
@@ -44,511 +44,508 @@
 <span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.36"></a>
 <span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.37"></a>
 <span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.constraint.ConstraintException;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.executor.EventType;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.master.AssignmentManager;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.master.BulkAssigner;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.master.MasterCoprocessorHost;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.master.RegionState;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.master.RegionStates;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.master.TableStateManager;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.procedure2.StateMachineProcedure;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.htrace.Trace;<a name="line.52"></a>
-<span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span>@InterfaceAudience.Private<a name="line.54"></a>
-<span class="sourceLineNo">055</span>public class DisableTableProcedure<a name="line.55"></a>
-<span class="sourceLineNo">056</span>    extends StateMachineProcedure&lt;MasterProcedureEnv, DisableTableState&gt;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>    implements TableProcedureInterface {<a name="line.57"></a>
-<span class="sourceLineNo">058</span>  private static final Log LOG = LogFactory.getLog(DisableTableProcedure.class);<a name="line.58"></a>
-<span class="sourceLineNo">059</span><a name="line.59"></a>
-<span class="sourceLineNo">060</span>  private final AtomicBoolean aborted = new AtomicBoolean(false);<a name="line.60"></a>
-<span class="sourceLineNo">061</span><a name="line.61"></a>
-<span class="sourceLineNo">062</span>  // This is for back compatible with 1.0 asynchronized operations.<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  private final ProcedurePrepareLatch syncLatch;<a name="line.63"></a>
-<span class="sourceLineNo">064</span><a name="line.64"></a>
-<span class="sourceLineNo">065</span>  private TableName tableName;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>  private boolean skipTableStateCheck;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  private UserGroupInformation user;<a name="line.67"></a>
-<span class="sourceLineNo">068</span><a name="line.68"></a>
-<span class="sourceLineNo">069</span>  private Boolean traceEnabled = null;<a name="line.69"></a>
-<span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span>  enum MarkRegionOfflineOpResult {<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    MARK_ALL_REGIONS_OFFLINE_SUCCESSFUL,<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    BULK_ASSIGN_REGIONS_FAILED,<a name="line.73"></a>
-<span class="sourceLineNo">074</span>    MARK_ALL_REGIONS_OFFLINE_INTERRUPTED,<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  }<a name="line.75"></a>
-<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span>  public DisableTableProcedure() {<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    syncLatch = null;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>  }<a name="line.79"></a>
-<span class="sourceLineNo">080</span><a name="line.80"></a>
-<span class="sourceLineNo">081</span>  /**<a name="line.81"></a>
-<span class="sourceLineNo">082</span>   * Constructor<a name="line.82"></a>
-<span class="sourceLineNo">083</span>   * @param env MasterProcedureEnv<a name="line.83"></a>
-<span class="sourceLineNo">084</span>   * @param tableName the table to operate on<a name="line.84"></a>
-<span class="sourceLineNo">085</span>   * @param skipTableStateCheck whether to check table state<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   * @throws IOException<a name="line.86"></a>
-<span class="sourceLineNo">087</span>   */<a name="line.87"></a>
-<span class="sourceLineNo">088</span>  public DisableTableProcedure(<a name="line.88"></a>
-<span class="sourceLineNo">089</span>      final MasterProcedureEnv env,<a name="line.89"></a>
-<span class="sourceLineNo">090</span>      final TableName tableName,<a name="line.90"></a>
-<span class="sourceLineNo">091</span>      final boolean skipTableStateCheck) throws IOException {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    this(env, tableName, skipTableStateCheck, null);<a name="line.92"></a>
-<span class="sourceLineNo">093</span>  }<a name="line.93"></a>
-<span class="sourceLineNo">094</span><a name="line.94"></a>
-<span class="sourceLineNo">095</span>  /**<a name="line.95"></a>
-<span class="sourceLineNo">096</span>   * Constructor<a name="line.96"></a>
-<span class="sourceLineNo">097</span>   * @param env MasterProcedureEnv<a name="line.97"></a>
-<span class="sourceLineNo">098</span>   * @param tableName the table to operate on<a name="line.98"></a>
-<span class="sourceLineNo">099</span>   * @param skipTableStateCheck whether to check table state<a name="line.99"></a>
-<span class="sourceLineNo">100</span>   * @throws IOException<a name="line.100"></a>
-<span class="sourceLineNo">101</span>   */<a name="line.101"></a>
-<span class="sourceLineNo">102</span>  public DisableTableProcedure(<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      final MasterProcedureEnv env,<a name="line.103"></a>
-<span class="sourceLineNo">104</span>      final TableName tableName,<a name="line.104"></a>
-<span class="sourceLineNo">105</span>      final boolean skipTableStateCheck,<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      final ProcedurePrepareLatch syncLatch) throws IOException {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    this.tableName = tableName;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    this.skipTableStateCheck = skipTableStateCheck;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    this.user = env.getRequestUser().getUGI();<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    this.setOwner(this.user.getShortUserName());<a name="line.110"></a>
-<span class="sourceLineNo">111</span><a name="line.111"></a>
-<span class="sourceLineNo">112</span>    // Compatible with 1.0: We use latch to make sure that this procedure implementation is<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    // compatible with 1.0 asynchronized operations. We need to lock the table and check<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    // whether the Disable operation could be performed (table exists and online; table state<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    // is ENABLED). Once it is done, we are good to release the latch and the client can<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    // start asynchronously wait for the operation.<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    //<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    // Note: the member syncLatch could be null if we are in failover or recovery scenario.<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    // This is ok for backward compatible, as 1.0 client would not able to peek at procedure.<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    this.syncLatch = syncLatch;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>  }<a name="line.121"></a>
-<span class="sourceLineNo">122</span><a name="line.122"></a>
-<span class="sourceLineNo">123</span>  @Override<a name="line.123"></a>
-<span class="sourceLineNo">124</span>  protected Flow executeFromState(final MasterProcedureEnv env, final DisableTableState state)<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      throws InterruptedException {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    if (isTraceEnabled()) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      LOG.trace(this + " execute state=" + state);<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    }<a name="line.128"></a>
-<span class="sourceLineNo">129</span><a name="line.129"></a>
-<span class="sourceLineNo">130</span>    try {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>      switch (state) {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      case DISABLE_TABLE_PREPARE:<a name="line.132"></a>
-<span class="sourceLineNo">133</span>        if (prepareDisable(env)) {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>          setNextState(DisableTableState.DISABLE_TABLE_PRE_OPERATION);<a name="line.134"></a>
-<span class="sourceLineNo">135</span>        } else {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>          assert isFailed() : "disable should have an exception here";<a name="line.136"></a>
-<span class="sourceLineNo">137</span>          return Flow.NO_MORE_STATE;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>        }<a name="line.138"></a>
-<span class="sourceLineNo">139</span>        break;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>      case DISABLE_TABLE_PRE_OPERATION:<a name="line.140"></a>
-<span class="sourceLineNo">141</span>        preDisable(env, state);<a name="line.141"></a>
-<span class="sourceLineNo">142</span>        setNextState(DisableTableState.DISABLE_TABLE_SET_DISABLING_TABLE_STATE);<a name="line.142"></a>
-<span class="sourceLineNo">143</span>        break;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      case DISABLE_TABLE_SET_DISABLING_TABLE_STATE:<a name="line.144"></a>
-<span class="sourceLineNo">145</span>        setTableStateToDisabling(env, tableName);<a name="line.145"></a>
-<span class="sourceLineNo">146</span>        setNextState(DisableTableState.DISABLE_TABLE_MARK_REGIONS_OFFLINE);<a name="line.146"></a>
-<span class="sourceLineNo">147</span>        break;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>      case DISABLE_TABLE_MARK_REGIONS_OFFLINE:<a name="line.148"></a>
-<span class="sourceLineNo">149</span>        if (markRegionsOffline(env, tableName, true) ==<a name="line.149"></a>
-<span class="sourceLineNo">150</span>            MarkRegionOfflineOpResult.MARK_ALL_REGIONS_OFFLINE_SUCCESSFUL) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>          setNextState(DisableTableState.DISABLE_TABLE_SET_DISABLED_TABLE_STATE);<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        } else {<a name="line.152"></a>
-<span class="sourceLineNo">153</span>          LOG.trace("Retrying later to disable the missing regions");<a name="line.153"></a>
-<span class="sourceLineNo">154</span>        }<a name="line.154"></a>
-<span class="sourceLineNo">155</span>        break;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>      case DISABLE_TABLE_SET_DISABLED_TABLE_STATE:<a name="line.156"></a>
-<span class="sourceLineNo">157</span>        setTableStateToDisabled(env, tableName);<a name="line.157"></a>
-<span class="sourceLineNo">158</span>        setNextState(DisableTableState.DISABLE_TABLE_POST_OPERATION);<a name="line.158"></a>
-<span class="sourceLineNo">159</span>        break;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>      case DISABLE_TABLE_POST_OPERATION:<a name="line.160"></a>
-<span class="sourceLineNo">161</span>        postDisable(env, state);<a name="line.161"></a>
-<span class="sourceLineNo">162</span>        return Flow.NO_MORE_STATE;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      default:<a name="line.163"></a>
-<span class="sourceLineNo">164</span>        throw new UnsupportedOperationException("unhandled state=" + state);<a name="line.164"></a>
-<span class="sourceLineNo">165</span>      }<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    } catch (IOException e) {<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      LOG.warn("Retriable error trying to disable table=" + tableName + " state=" + state, e);<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    }<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    return Flow.HAS_MORE_STATE;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>  }<a name="line.170"></a>
-<span class="sourceLineNo">171</span><a name="line.171"></a>
-<span class="sourceLineNo">172</span>  @Override<a name="line.172"></a>
-<span class="sourceLineNo">173</span>  protected void rollbackState(final MasterProcedureEnv env, final DisableTableState state)<a name="line.173"></a>
-<span class="sourceLineNo">174</span>      throws IOException {<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    if (state == DisableTableState.DISABLE_TABLE_PREPARE) {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      // nothing to rollback, prepare-disable is just table-state checks.<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      // We can fail if the table does not exist or is not disabled.<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      ProcedurePrepareLatch.releaseLatch(syncLatch, this);<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      return;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    }<a name="line.180"></a>
-<span class="sourceLineNo">181</span><a name="line.181"></a>
-<span class="sourceLineNo">182</span>    // The delete doesn't have a rollback. The execution will succeed, at some point.<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    throw new UnsupportedOperationException("unhandled state=" + state);<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  }<a name="line.184"></a>
-<span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span>  @Override<a name="line.186"></a>
-<span class="sourceLineNo">187</span>  protected DisableTableState getState(final int stateId) {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    return DisableTableState.valueOf(stateId);<a name="line.188"></a>
-<span class="sourceLineNo">189</span>  }<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>  @Override<a name="line.191"></a>
-<span class="sourceLineNo">192</span>  protected int getStateId(final DisableTableState state) {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    return state.getNumber();<a name="line.193"></a>
-<span class="sourceLineNo">194</span>  }<a name="line.194"></a>
-<span class="sourceLineNo">195</span><a name="line.195"></a>
-<span class="sourceLineNo">196</span>  @Override<a name="line.196"></a>
-<span class="sourceLineNo">197</span>  protected DisableTableState getInitialState() {<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    return DisableTableState.DISABLE_TABLE_PREPARE;<a name="line.198"></a>
-<span class="sourceLineNo">199</span>  }<a name="line.199"></a>
-<span class="sourceLineNo">200</span><a name="line.200"></a>
-<span class="sourceLineNo">201</span>  @Override<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  protected void setNextState(final DisableTableState state) {<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    if (aborted.get()) {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      setAbortFailure("disable-table", "abort requested");<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    } else {<a name="line.205"></a>
-<span class="sourceLineNo">206</span>      super.setNextState(state);<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    }<a name="line.207"></a>
-<span class="sourceLineNo">208</span>  }<a name="line.208"></a>
-<span class="sourceLineNo">209</span><a name="line.209"></a>
-<span class="sourceLineNo">210</span>  @Override<a name="line.210"></a>
-<span class="sourceLineNo">211</span>  public boolean abort(final MasterProcedureEnv env) {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    aborted.set(true);<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    return true;<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  }<a name="line.214"></a>
-<span class="sourceLineNo">215</span><a name="line.215"></a>
-<span class="sourceLineNo">216</span>  @Override<a name="line.216"></a>
-<span class="sourceLineNo">217</span>  protected boolean acquireLock(final MasterProcedureEnv env) {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    if (!env.isInitialized()) return false;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    return env.getProcedureQueue().tryAcquireTableExclusiveLock(<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      tableName,<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      EventType.C_M_DISABLE_TABLE.toString());<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>  @Override<a name="line.224"></a>
-<span class="sourceLineNo">225</span>  protected void releaseLock(final MasterProcedureEnv env) {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    env.getProcedureQueue().releaseTableExclusiveLock(tableName);<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  }<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  @Override<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  public void serializeStateData(final OutputStream stream) throws IOException {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    super.serializeStateData(stream);<a name="line.231"></a>
-<span class="sourceLineNo">232</span><a name="line.232"></a>
-<span class="sourceLineNo">233</span>    MasterProcedureProtos.DisableTableStateData.Builder disableTableMsg =<a name="line.233"></a>
-<span class="sourceLineNo">234</span>        MasterProcedureProtos.DisableTableStateData.newBuilder()<a name="line.234"></a>
-<span class="sourceLineNo">235</span>            .setUserInfo(MasterProcedureUtil.toProtoUserInfo(user))<a name="line.235"></a>
-<span class="sourceLineNo">236</span>            .setTableName(ProtobufUtil.toProtoTableName(tableName))<a name="line.236"></a>
-<span class="sourceLineNo">237</span>            .setSkipTableStateCheck(skipTableStateCheck);<a name="line.237"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.master.AssignmentManager;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.master.BulkAssigner;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.master.MasterCoprocessorHost;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.master.RegionState;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.master.RegionStates;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.master.TableStateManager;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.procedure2.StateMachineProcedure;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.htrace.Trace;<a name="line.51"></a>
+<span class="sourceLineNo">052</span><a name="line.52"></a>
+<span class="sourceLineNo">053</span>@InterfaceAudience.Private<a name="line.53"></a>
+<span class="sourceLineNo">054</span>public class DisableTableProcedure<a name="line.54"></a>
+<span class="sourceLineNo">055</span>    extends StateMachineProcedure&lt;MasterProcedureEnv, DisableTableState&gt;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>    implements TableProcedureInterface {<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  private static final Log LOG = LogFactory.getLog(DisableTableProcedure.class);<a name="line.57"></a>
+<span class="sourceLineNo">058</span><a name="line.58"></a>
+<span class="sourceLineNo">059</span>  private final AtomicBoolean aborted = new AtomicBoolean(false);<a name="line.59"></a>
+<span class="sourceLineNo">060</span><a name="line.60"></a>
+<span class="sourceLineNo">061</span>  // This is for back compatible with 1.0 asynchronized operations.<a name="line.61"></a>
+<span class="sourceLineNo">062</span>  private final ProcedurePrepareLatch syncLatch;<a name="line.62"></a>
+<span class="sourceLineNo">063</span><a name="line.63"></a>
+<span class="sourceLineNo">064</span>  private TableName tableName;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>  private boolean skipTableStateCheck;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  private UserGroupInformation user;<a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span>  private Boolean traceEnabled = null;<a name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span>  enum MarkRegionOfflineOpResult {<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    MARK_ALL_REGIONS_OFFLINE_SUCCESSFUL,<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    BULK_ASSIGN_REGIONS_FAILED,<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    MARK_ALL_REGIONS_OFFLINE_INTERRUPTED,<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  }<a name="line.74"></a>
+<span class="sourceLineNo">075</span><a name="line.75"></a>
+<span class="sourceLineNo">076</span>  public DisableTableProcedure() {<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    syncLatch = null;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  }<a name="line.78"></a>
+<span class="sourceLineNo">079</span><a name="line.79"></a>
+<span class="sourceLineNo">080</span>  /**<a name="line.80"></a>
+<span class="sourceLineNo">081</span>   * Constructor<a name="line.81"></a>
+<span class="sourceLineNo">082</span>   * @param env MasterProcedureEnv<a name="line.82"></a>
+<span class="sourceLineNo">083</span>   * @param tableName the table to operate on<a name="line.83"></a>
+<span class="sourceLineNo">084</span>   * @param skipTableStateCheck whether to check table state<a name="line.84"></a>
+<span class="sourceLineNo">085</span>   * @throws IOException<a name="line.85"></a>
+<span class="sourceLineNo">086</span>   */<a name="line.86"></a>
+<span class="sourceLineNo">087</span>  public DisableTableProcedure(<a name="line.87"></a>
+<span class="sourceLineNo">088</span>      final MasterProcedureEnv env,<a name="line.88"></a>
+<span class="sourceLineNo">089</span>      final TableName tableName,<a name="line.89"></a>
+<span class="sourceLineNo">090</span>      final boolean skipTableStateCheck) throws IOException {<a name="line.90"></a>
+<span class="sourceLineNo">091</span>    this(env, tableName, skipTableStateCheck, null);<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  }<a name="line.92"></a>
+<span class="sourceLineNo">093</span><a name="line.93"></a>
+<span class="sourceLineNo">094</span>  /**<a name="line.94"></a>
+<span class="sourceLineNo">095</span>   * Constructor<a name="line.95"></a>
+<span class="sourceLineNo">096</span>   * @param env MasterProcedureEnv<a name="line.96"></a>
+<span class="sourceLineNo">097</span>   * @param tableName the table to operate on<a name="line.97"></a>
+<span class="sourceLineNo">098</span>   * @param skipTableStateCheck whether to check table state<a name="line.98"></a>
+<span class="sourceLineNo">099</span>   * @throws IOException<a name="line.99"></a>
+<span class="sourceLineNo">100</span>   */<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  public DisableTableProcedure(<a name="line.101"></a>
+<span class="sourceLineNo">102</span>      final MasterProcedureEnv env,<a name="line.102"></a>
+<span class="sourceLineNo">103</span>      final TableName tableName,<a name="line.103"></a>
+<span class="sourceLineNo">104</span>      final boolean skipTableStateCheck,<a name="line.104"></a>
+<span class="sourceLineNo">105</span>      final ProcedurePrepareLatch syncLatch) throws IOException {<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    this.tableName = tableName;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    this.skipTableStateCheck = skipTableStateCheck;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    this.user = env.getRequestUser().getUGI();<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    this.setOwner(this.user.getShortUserName());<a name="line.109"></a>
+<span class="sourceLineNo">110</span><a name="line.110"></a>
+<span class="sourceLineNo">111</span>    // Compatible with 1.0: We use latch to make sure that this procedure implementation is<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    // compatible with 1.0 asynchronized operations. We need to lock the table and check<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    // whether the Disable operation could be performed (table exists and online; table state<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    // is ENABLED). Once it is done, we are good to release the latch and the client can<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    // start asynchronously wait for the operation.<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    //<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    // Note: the member syncLatch could be null if we are in failover or recovery scenario.<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    // This is ok for backward compatible, as 1.0 client would not able to peek at procedure.<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    this.syncLatch = syncLatch;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  }<a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121"></a>
+<span class="sourceLineNo">122</span>  @Override<a name="line.122"></a>
+<span class="sourceLineNo">123</span>  protected Flow executeFromState(final MasterProcedureEnv env, final DisableTableState state)<a name="line.123"></a>
+<span class="sourceLineNo">124</span>      throws InterruptedException {<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    if (isTraceEnabled()) {<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      LOG.trace(this + " execute state=" + state);<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>    try {<a name="line.129"></a>
+<span class="sourceLineNo">130</span>      switch (state) {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      case DISABLE_TABLE_PREPARE:<a name="line.131"></a>
+<span class="sourceLineNo">132</span>        if (prepareDisable(env)) {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>          setNextState(DisableTableState.DISABLE_TABLE_PRE_OPERATION);<a name="line.133"></a>
+<span class="sourceLineNo">134</span>        } else {<a name="line.134"></a>
+<span class="sourceLineNo">135</span>          assert isFailed() : "disable should have an exception here";<a name="line.135"></a>
+<span class="sourceLineNo">136</span>          return Flow.NO_MORE_STATE;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>        }<a name="line.137"></a>
+<span class="sourceLineNo">138</span>        break;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      case DISABLE_TABLE_PRE_OPERATION:<a name="line.139"></a>
+<span class="sourceLineNo">140</span>        preDisable(env, state);<a name="line.140"></a>
+<span class="sourceLineNo">141</span>        setNextState(DisableTableState.DISABLE_TABLE_SET_DISABLING_TABLE_STATE);<a name="line.141"></a>
+<span class="sourceLineNo">142</span>        break;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>      case DISABLE_TABLE_SET_DISABLING_TABLE_STATE:<a name="line.143"></a>
+<span class="sourceLineNo">144</span>        setTableStateToDisabling(env, tableName);<a name="line.144"></a>
+<span class="sourceLineNo">145</span>        setNextState(DisableTableState.DISABLE_TABLE_MARK_REGIONS_OFFLINE);<a name="line.145"></a>
+<span class="sourceLineNo">146</span>        break;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>      case DISABLE_TABLE_MARK_REGIONS_OFFLINE:<a name="line.147"></a>
+<span class="sourceLineNo">148</span>        if (markRegionsOffline(env, tableName, true) ==<a name="line.148"></a>
+<span class="sourceLineNo">149</span>            MarkRegionOfflineOpResult.MARK_ALL_REGIONS_OFFLINE_SUCCESSFUL) {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>          setNextState(DisableTableState.DISABLE_TABLE_SET_DISABLED_TABLE_STATE);<a name="line.150"></a>
+<span class="sourceLineNo">151</span>        } else {<a name="line.151"></a>
+<span class="sourceLineNo">152</span>          LOG.trace("Retrying later to disable the missing regions");<a name="line.152"></a>
+<span class="sourceLineNo">153</span>        }<a name="line.153"></a>
+<span class="sourceLineNo">154</span>        break;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>      case DISABLE_TABLE_SET_DISABLED_TABLE_STATE:<a name="line.155"></a>
+<span class="sourceLineNo">156</span>        setTableStateToDisabled(env, tableName);<a name="line.156"></a>
+<span class="sourceLineNo">157</span>        setNextState(DisableTableState.DISABLE_TABLE_POST_OPERATION);<a name="line.157"></a>
+<span class="sourceLineNo">158</span>        break;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>      case DISABLE_TABLE_POST_OPERATION:<a name="line.159"></a>
+<span class="sourceLineNo">160</span>        postDisable(env, state);<a name="line.160"></a>
+<span class="sourceLineNo">161</span>        return Flow.NO_MORE_STATE;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>      default:<a name="line.162"></a>
+<span class="sourceLineNo">163</span>        throw new UnsupportedOperationException("unhandled state=" + state);<a name="line.163"></a>
+<span class="sourceLineNo">164</span>      }<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    } catch (IOException e) {<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      LOG.warn("Retriable error trying to disable table=" + tableName + " state=" + state, e);<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    }<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    return Flow.HAS_MORE_STATE;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>  }<a name="line.169"></a>
+<span class="sourceLineNo">170</span><a name="line.170"></a>
+<span class="sourceLineNo">171</span>  @Override<a name="line.171"></a>
+<span class="sourceLineNo">172</span>  protected void rollbackState(final MasterProcedureEnv env, final DisableTableState state)<a name="line.172"></a>
+<span class="sourceLineNo">173</span>      throws IOException {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    if (state == DisableTableState.DISABLE_TABLE_PREPARE) {<a name="line.174"></a>
+<span class="sourceLineNo">175</span>      // nothing to rollback, prepare-disable is just table-state checks.<a name="line.175"></a>
+<span class="sourceLineNo">176</span>      // We can fail if the table does not exist or is not disabled.<a name="line.176"></a>
+<span class="sourceLineNo">177</span>      ProcedurePrepareLatch.releaseLatch(syncLatch, this);<a name="line.177"></a>
+<span class="sourceLineNo">178</span>      return;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    }<a name="line.179"></a>
+<span class="sourceLineNo">180</span><a name="line.180"></a>
+<span class="sourceLineNo">181</span>    // The delete doesn't have a rollback. The execution will succeed, at some point.<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    throw new UnsupportedOperationException("unhandled state=" + state);<a name="line.182"></a>
+<span class="sourceLineNo">183</span>  }<a name="line.183"></a>
+<span class="sourceLineNo">184</span><a name="line.184"></a>
+<span class="sourceLineNo">185</span>  @Override<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  protected DisableTableState getState(final int stateId) {<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    return DisableTableState.valueOf(stateId);<a name="line.187"></a>
+<span class="sourceLineNo">188</span>  }<a name="line.188"></a>
+<span class="sourceLineNo">189</span><a name="line.189"></a>
+<span class="sourceLineNo">190</span>  @Override<a name="line.190"></a>
+<span class="sourceLineNo">191</span>  protected int getStateId(final DisableTableState state) {<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    return state.getNumber();<a name="line.192"></a>
+<span class="sourceLineNo">193</span>  }<a name="line.193"></a>
+<span class="sourceLineNo">194</span><a name="line.194"></a>
+<span class="sourceLineNo">195</span>  @Override<a name="line.195"></a>
+<span class="sourceLineNo">196</span>  protected DisableTableState getInitialState() {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    return DisableTableState.DISABLE_TABLE_PREPARE;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>  }<a name="line.198"></a>
+<span class="sourceLineNo">199</span><a name="line.199"></a>
+<span class="sourceLineNo">200</span>  @Override<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  protected void setNextState(final DisableTableState state) {<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    if (aborted.get()) {<a name="line.202"></a>
+<span class="sourceLineNo">203</span>      setAbortFailure("disable-table", "abort requested");<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    } else {<a name="line.204"></a>
+<span class="sourceLineNo">205</span>      super.setNextState(state);<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    }<a name="line.206"></a>
+<span class="sourceLineNo">207</span>  }<a name="line.207"></a>
+<span class="sourceLineNo">208</span><a name="line.208"></a>
+<span class="sourceLineNo">209</span>  @Override<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  public boolean abort(final MasterProcedureEnv env) {<a name="line.210"></a>
+<span class="sourceLineNo">211</span>    aborted.set(true);<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    return true;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>  }<a name="line.213"></a>
+<span class="sourceLineNo">214</span><a name="line.214"></a>
+<span class="sourceLineNo">215</span>  @Override<a name="line.215"></a>
+<span class="sourceLineNo">216</span>  protected boolean acquireLock(final MasterProcedureEnv env) {<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    if (env.waitInitialized(this)) return false;<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    return env.getProcedureQueue().tryAcquireTableExclusiveLock(tableName, "disable table");<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  }<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  @Override<a name="line.221"></a>
+<span class="sourceLineNo">222</span>  protected void releaseLock(final MasterProcedureEnv env) {<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    env.getProcedureQueue().releaseTableExclusiveLock(tableName);<a name="line.223"></a>
+<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span>  @Override<a name="line.226"></a>
+<span class="sourceLineNo">227</span>  public void serializeStateData(final OutputStream stream) throws IOException {<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    super.serializeStateData(stream);<a name="line.228"></a>
+<span class="sourceLineNo">229</span><a name="line.229"></a>
+<span class="sourceLineNo">230</span>    MasterProcedureProtos.DisableTableStateData.Builder disableTableMsg =<a name="line.230"></a>
+<span class="sourceLineNo">231</span>        MasterProcedureProtos.DisableTableStateData.newBuilder()<a name="line.231"></a>
+<span class="sourceLineNo">232</span>            .setUserInfo(MasterProcedureUtil.toProtoUserInfo(user))<a name="line.232"></a>
+<span class="sourceLineNo">233</span>            .setTableName(ProtobufUtil.toProtoTableName(tableName))<a name="line.233"></a>
+<span class="sourceLineNo">234</span>            .setSkipTableStateCheck(skipTableStateCheck);<a name="line.234"></a>
+<span class="sourceLineNo">235</span><a name="line.235"></a>
+<span class="sourceLineNo">236</span>    disableTableMsg.build().writeDelimitedTo(stream);<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  }<a name="line.237"></a>
 <span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>    disableTableMsg.build().writeDelimitedTo(stream);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  @Override<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  public void deserializeStateData(final InputStream stream) throws IOException {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    super.deserializeStateData(stream);<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span>    MasterProcedureProtos.DisableTableStateData disableTableMsg =<a name="line.246"></a>
-<span class="sourceLineNo">247</span>        MasterProcedureProtos.DisableTableStateData.parseDelimitedFrom(stream);<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    user = MasterProcedureUtil.toUserInfo(disableTableMsg.getUserInfo());<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    tableName = ProtobufUtil.toTableName(disableTableMsg.getTableName());<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    skipTableStateCheck = disableTableMsg.getSkipTableStateCheck();<a name="line.250"></a>
-<span class="sourceLineNo">251</span>  }<a name="line.251"></a>
-<span class="sourceLineNo">252</span><a name="line.252"></a>
-<span class="sourceLineNo">253</span>  @Override<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  public void toStringClassDetails(StringBuilder sb) {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    sb.append(getClass().getSimpleName());<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    sb.append(" (table=");<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    sb.append(tableName);<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    sb.append(")");<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  }<a name="line.259"></a>
-<span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span>  @Override<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  public TableName getTableName() {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    return tableName;<a name="line.263"></a>
-<span class="sourceLineNo">264</span>  }<a name="line.264"></a>
-<span class="sourceLineNo">265</span><a name="line.265"></a>
-<span class="sourceLineNo">266</span>  @Override<a name="line.266"></a>
-<span class="sourceLineNo">267</span>  public TableOperationType getTableOperationType() {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    return TableOperationType.DISABLE;<a name="line.268"></a>
-<span class="sourceLineNo">269</span>  }<a name="line.269"></a>
-<span class="sourceLineNo">270</span><a name="line.270"></a>
-<span class="sourceLineNo">271</span>  /**<a name="line.271"></a>
-<span class="sourceLineNo">272</span>   * Action before any real action of disabling table. Set the exception in the procedure instead<a name="line.272"></a>
-<span class="sourceLineNo">273</span>   * of throwing it.  This approach is to deal with backward compatible with 1.0.<a name="line.273"></a>
-<span class="sourceLineNo">274</span>   * @param env MasterProcedureEnv<a name="line.274"></a>
-<span class="sourceLineNo">275</span>   * @throws IOException<a name="line.275"></a>
-<span class="sourceLineNo">276</span>   */<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  private boolean prepareDisable(final MasterProcedureEnv env) throws IOException {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    boolean canTableBeDisabled = true;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>    if (tableName.equals(TableName.META_TABLE_NAME)) {<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      setFailure("master-disable-table", new ConstraintException("Cannot disable catalog table"));<a name="line.280"></a>
+<span class="sourceLineNo">239</span>  @Override<a name="line.239"></a>
+<span class="sourceLineNo">240</span>  public void deserializeStateData(final InputStream stream) throws IOException {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    super.deserializeStateData(stream);<a name="line.241"></a>
+<span class="sourceLineNo">242</span><a name="line.242"></a>
+<span class="sourceLineNo">243</span>    MasterProcedureProtos.DisableTableStateData disableTableMsg =<a name="line.243"></a>
+<span class="sourceLineNo">244</span>        MasterProcedureProtos.DisableTableStateData.parseDelimitedFrom(stream);<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    user = MasterProcedureUtil.toUserInfo(disableTableMsg.getUserInfo());<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    tableName = ProtobufUtil.toTableName(disableTableMsg.getTableName());<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    skipTableStateCheck = disableTableMsg.getSkipTableStateCheck();<a name="line.247"></a>
+<span class="sourceLineNo">248</span>  }<a name="line.248"></a>
+<span class="sourceLineNo">249</span><a name="line.249"></a>
+<span class="sourceLineNo">250</span>  @Override<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  public void toStringClassDetails(StringBuilder sb) {<a name="line.251"></a>
+<span class="sourceLineNo">252</span>    sb.append(getClass().getSimpleName());<a name="line.252"></a>
+<span class="sourceLineNo">253</span>    sb.append(" (table=");<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    sb.append(tableName);<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    sb.append(")");<a name="line.255"></a>
+<span class="sourceLineNo">256</span>  }<a name="line.256"></a>
+<span class="sourceLineNo">257</span><a name="line.257"></a>
+<span class="sourceLineNo">258</span>  @Override<a name="line.258"></a>
+<span class="sourceLineNo">259</span>  public TableName getTableName() {<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    return tableName;<a name="line.260"></a>
+<span class="sourceLineNo">261</span>  }<a name="line.261"></a>
+<span class="sourceLineNo">262</span><a name="line.262"></a>
+<span class="sourceLineNo">263</span>  @Override<a name="line.263"></a>
+<span class="sourceLineNo">264</span>  public TableOperationType getTableOperationType() {<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    return TableOperationType.DISABLE;<a name="line.265"></a>
+<span class="sourceLineNo">266</span>  }<a name="line.266"></a>
+<span class="sourceLineNo">267</span><a name="line.267"></a>
+<span class="sourceLineNo">268</span>  /**<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   * Action before any real action of disabling table. Set the exception in the procedure instead<a name="line.269"></a>
+<span class="sourceLineNo">270</span>   * of throwing it.  This approach is to deal with backward compatible with 1.0.<a name="line.270"></a>
+<span class="sourceLineNo">271</span>   * @param env MasterProcedureEnv<a name="line.271"></a>
+<span class="sourceLineNo">272</span>   * @throws IOException<a name="line.272"></a>
+<span class="sourceLineNo">273</span>   */<a name="line.273"></a>
+<span class="sourceLineNo">274</span>  private boolean prepareDisable(final MasterProcedureEnv env) throws IOException {<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    boolean canTableBeDisabled = true;<a name="line.275"></a>
+<span class="sourceLineNo">276</span>    if (tableName.equals(TableName.META_TABLE_NAME)) {<a name="line.276"></a>
+<span class="sourceLineNo">277</span>      setFailure("master-disable-table", new ConstraintException("Cannot disable catalog table"));<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      canTableBeDisabled = false;<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    } else if (!MetaTableAccessor.tableExists(env.getMasterServices().getConnection(), tableName)) {<a name="line.279"></a>
+<span class="sourceLineNo">280</span>      setFailure("master-disable-table", new TableNotFoundException(tableName));<a name="line.280"></a>
 <span class="sourceLineNo">281</span>      canTableBeDisabled = false;<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    } else if (!MetaTableAccessor.tableExists(env.getMasterServices().getConnection(), tableName)) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      setFailure("master-disable-table", new TableNotFoundException(tableName));<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      canTableBeDisabled = false;<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    } else if (!skipTableStateCheck) {<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      // There could be multiple client requests trying to disable or enable<a name="line.286"></a>
-<span class="sourceLineNo">287</span>      // the table at the same time. Ensure only the first request is honored<a name="line.287"></a>
-<span class="sourceLineNo">288</span>      // After that, no other requests can be accepted until the table reaches<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      // DISABLED or ENABLED.<a name="line.289"></a>
-<span class="sourceLineNo">290</span>      //<a name="line.290"></a>
-<span class="sourceLineNo">291</span>      // Note: in 1.0 release, we called TableStateManager.setTableStateIfInStates() to set<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      // the state to DISABLING from ENABLED. The implementation was done before table lock<a name="line.292"></a>
-<span class="sourceLineNo">293</span>      // was implemented. With table lock, there is no need to set the state here (it will<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      // set the state later on). A quick state check should be enough for us to move forward.<a name="line.294"></a>
-<span class="sourceLineNo">295</span>      TableStateManager tsm =<a name="line.295"></a>
-<span class="sourceLineNo">296</span>        env.getMasterServices().getAssignmentManager().getTableStateManager();<a name="line.296"></a>
-<span class="sourceLineNo">297</span>      TableState.State state = tsm.getTableState(tableName);<a name="line.297"></a>
-<span class="sourceLineNo">298</span>      if(!state.equals(TableState.State.ENABLED)){<a name="line.298"></a>
-<span class="sourceLineNo">299</span>        LOG.info("Table " + tableName + " isn't enabled;is "+state.name()+"; skipping disable");<a name="line.299"></a>
-<span class="sourceLineNo">300</span>        setFailure("master-disable-table", new TableNotEnabledException(<a name="line.300"></a>
-<span class="sourceLineNo">301</span>                tableName+" state is "+state.name()));<a name="line.301"></a>
-<span class="sourceLineNo">302</span>        canTableBeDisabled = false;<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">282</span>    } else if (!skipTableStateCheck) {<a name="line.282"></a>
+<span class="sourceLineNo">283</span>      // There could be multiple client requests trying to disable or enable<a name="line.283"></a>
+<span class="sourceLineNo">284</span>      // the table at the same time. Ensure only the first request is honored<a name="line.284"></a>
+<span class="sourceLineNo">285</span>      // After that, no other requests can be accepted until the table reaches<a name="line.285"></a>
+<span class="sourceLineNo">286</span>      // DISABLED or ENABLED.<a name="line.286"></a>
+<span class="sourceLineNo">287</span>      //<a name="line.287"></a>
+<span class="sourceLineNo">288</span>      // Note: in 1.0 release, we called TableStateManager.setTableStateIfInStates() to set<a name="line.288"></a>
+<span class="sourceLineNo">289</span>      // the state to DISABLING from ENABLED. The implementation was done before table lock<a name="line.289"></a>
+<span class="sourceLineNo">290</span>      // was implemented. With table lock, there is no need to set the state here (it will<a name="line.290"></a>
+<span class="sourceLineNo">291</span>      // set the state later on). A quick state check should be enough for us to move forward.<a name="line.291"></a>
+<span class="sourceLineNo">292</span>      TableStateManager tsm =<a name="line.292"></a>
+<span class="sourceLineNo">293</span>        env.getMasterServices().getAssignmentManager().getTableStateManager();<a name="line.293"></a>
+<span class="sourceLineNo">294</span>      TableState.State state = tsm.getTableState(tableName);<a name="line.294"></a>
+<span class="sourceLineNo">295</span>      if(!state.equals(TableState.State.ENABLED)){<a name="line.295"></a>
+<span class="sourceLineNo">296</span>        LOG.info("Table " + tableName + " isn't enabled;is "+state.name()+"; skipping disable");<a name="line.296"></a>
+<span class="sourceLineNo">297</span>        setFailure("master-disable-table", new TableNotEnabledException(<a name="line.297"></a>
+<span class="sourceLineNo">298</span>                tableName+" state is "+state.name()));<a name="line.298"></a>
+<span class="sourceLineNo">299</span>        canTableBeDisabled = false;<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      }<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    }<a name="line.301"></a>
+<span class="sourceLineNo">302</span><a name="line.302"></a>
+<span class="sourceLineNo">303</span>    // We are done the check. Future actions in this procedure could be done asynchronously.<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    ProcedurePrepareLatch.releaseLatch(syncLatch, this);<a name="line.304"></a>
 <span class="sourceLineNo">305</span><a name="line.305"></a>
-<span class="sourceLineNo">306</span>    // We are done the check. Future actions in this procedure could be done asynchronously.<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    ProcedurePrepareLatch.releaseLatch(syncLatch, this);<a name="line.307"></a>
+<span class="sourceLineNo">306</span>    return canTableBeDisabled;<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>    return canTableBeDisabled;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>  }<a name="line.310"></a>
-<span class="sourceLineNo">311</span><a name="line.311"></a>
-<span class="sourceLineNo">312</span>  /**<a name="line.312"></a>
-<span class="sourceLineNo">313</span>   * Action before disabling table.<a name="line.313"></a>
-<span class="sourceLineNo">314</span>   * @param env MasterProcedureEnv<a name="line.314"></a>
-<span class="sourceLineNo">315</span>   * @param state the procedure state<a name="line.315"></a>
-<span class="sourceLineNo">316</span>   * @throws IOException<a name="line.316"></a>
-<span class="sourceLineNo">317</span>   * @throws InterruptedException<a name="line.317"></a>
-<span class="sourceLineNo">318</span>   */<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  protected void preDisable(final MasterProcedureEnv env, final DisableTableState state)<a name="line.319"></a>
-<span class="sourceLineNo">320</span>      throws IOException, InterruptedException {<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    runCoprocessorAction(env, state);<a name="line.321"></a>
-<span class="sourceLineNo">322</span>  }<a name="line.322"></a>
-<span class="sourceLineNo">323</span><a name="line.323"></a>
-<span class="sourceLineNo">324</span>  /**<a name="line.324"></a>
-<span class="sourceLineNo">325</span>   * Mark table state to Disabling<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   * @param env MasterProcedureEnv<a name="line.326"></a>
-<span class="sourceLineNo">327</span>   * @throws IOException<a name="line.327"></a>
-<span class="sourceLineNo">328</span>   */<a name="line.328"></a>
-<span class="sourceLineNo">329</span>  protected static void setTableStateToDisabling(<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      final MasterProcedureEnv env,<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      final TableName tableName) throws IOException {<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    // Set table disabling flag up in zk.<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    env.getMasterServices().getAssignmentManager().getTableStateManager().setTableState(<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      tableName,<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      TableState.State.DISABLING);<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>   * Mark regions of the table offline with retries<a name="line.339"></a>
-<span class="sourceLineNo">340</span>   * @param env MasterProcedureEnv<a name="line.340"></a>
-<span class="sourceLineNo">341</span>   * @param tableName the target table<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * @param retryRequired whether to retry if the first run failed<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   * @return whether the operation is fully completed or being interrupted.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   * @throws IOException<a name="line.344"></a>
-<span class="sourceLineNo">345</span>   */<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  protected static MarkRegionOfflineOpResult markRegionsOffline(<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      final MasterProcedureEnv env,<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      final TableName tableName,<a name="line.348"></a>
-<span class="sourceLineNo">349</span>      final Boolean retryRequired) throws IOException {<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    // Dev consideration: add a config to control max number of retry. For now, it is hard coded.<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    int maxTry = (retryRequired ? 10 : 1);<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    MarkRegionOfflineOpResult operationResult =<a name="line.352"></a>
-<span class="sourceLineNo">353</span>        MarkRegionOfflineOpResult.BULK_ASSIGN_REGIONS_FAILED;<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    do {<a name="line.354"></a>
-<span class="sourceLineNo">355</span>      try {<a name="line.355"></a>
-<span class="sourceLineNo">356</span>        operationResult = markRegionsOffline(env, tableName);<a name="line.356"></a>
-<span class="sourceLineNo">357</span>        if (operationResult == MarkRegionOfflineOpResult.MARK_ALL_REGIONS_OFFLINE_SUCCESSFUL) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>          break;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>        }<a name="line.359"></a>
+<span class="sourceLineNo">309</span>  /**<a name="line.309"></a>
+<span class="sourceLineNo">310</span>   * Action before disabling table.<a name="line.310"></a>
+<span class="sourceLineNo">311</span>   * @param env MasterProcedureEnv<a name="line.311"></a>
+<span class="sourceLineNo">312</span>   * @param state the procedure state<a name="line.312"></a>
+<span class="sourceLineNo">313</span>   * @throws IOException<a name="line.313"></a>
+<span class="sourceLineNo">314</span>   * @throws InterruptedException<a name="line.314"></a>
+<span class="sourceLineNo">315</span>   */<a name="line.315"></a>
+<span class="sourceLineNo">316</span>  protected void preDisable(final MasterProcedureEnv env, final DisableTableState state)<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      throws IOException, InterruptedException {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    runCoprocessorAction(env, state);<a name="line.318"></a>
+<span class="sourceLineNo">319</span>  }<a name="line.319"></a>
+<span class="sourceLineNo">320</span><a name="line.320"></a>
+<span class="sourceLineNo">321</span>  /**<a name="line.321"></a>
+<span class="sourceLineNo">322</span>   * Mark table state to Disabling<a name="line.322"></a>
+<span class="sourceLineNo">323</span>   * @param env MasterProcedureEnv<a name="line.323"></a>
+<span class="sourceLineNo">324</span>   * @throws IOException<a name="line.324"></a>
+<span class="sourceLineNo">325</span>   */<a name="line.325"></a>
+<span class="sourceLineNo">326</span>  protected static void setTableStateToDisabling(<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      final MasterProcedureEnv env,<a name="line.327"></a>
+<span class="sourceLineNo">328</span>      final TableName tableName) throws IOException {<a name="line.328"></a>
+<span class="sourceLineNo">329</span>    // Set table disabling flag up in zk.<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    env.getMasterServices().getAssignmentManager().getTableStateManager().setTableState(<a name="line.330"></a>
+<span class="sourceLineNo">331</span>      tableName,<a name="line.331"></a>
+<span class="sourceLineNo">332</span>      TableState.State.DISABLING);<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>   * Mark regions of the table offline with retries<a name="line.336"></a>
+<span class="sourceLineNo">337</span>   * @param env MasterProcedureEnv<a name="line.337"></a>
+<span class="sourceLineNo">338</span>   * @param tableName the target table<a name="line.338"></a>
+<span class="sourceLineNo">339</span>   * @param retryRequired whether to retry if the first run failed<a name="line.339"></a>
+<span class="sourceLineNo">340</span>   * @return whether the operation is fully completed or being interrupted.<a name="line.340"></a>
+<span class="sourceLineNo">341</span>   * @throws IOException<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   */<a name="line.342"></a>
+<span class="sourceLineNo">343</span>  protected static MarkRegionOfflineOpResult markRegionsOffline(<a name="line.343"></a>
+<span class="sourceLineNo">344</span>      final MasterProcedureEnv env,<a name="line.344"></a>
+<span class="sourceLineNo">345</span>      final TableName tableName,<a name="line.345"></a>
+<span class="sourceLineNo">346</span>      final Boolean retryRequired) throws IOException {<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    // Dev consideration: add a config to control max number of retry. For now, it is hard coded.<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    int maxTry = (retryRequired ? 10 : 1);<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    MarkRegionOfflineOpResult operationResult =<a name="line.349"></a>
+<span class="sourceLineNo">350</span>        MarkRegionOfflineOpResult.BULK_ASSIGN_REGIONS_FAILED;<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    do {<a name="line.351"></a>
+<span class="sourceLineNo">352</span>      try {<a name="line.352"></a>
+<span class="sourceLineNo">353</span>        operationResult = markRegionsOffline(env, tableName);<a name="line.353"></a>
+<span class="sourceLineNo">354</span>        if (operationResult == MarkRegionOfflineOpResult.MARK_ALL_REGIONS_OFFLINE_SUCCESSFUL) {<a name="line.354"></a>
+<span class="sourceLineNo">355</span>          break;<a name="line.355"></a>
+<span class="sourceLineNo">356</span>        }<a name="line.356"></a>
+<span class="sourceLineNo">357</span>        maxTry--;<a name="line.357"></a>
+<span class="sourceLineNo">358</span>      } catch (Exception e) {<a name="line.358"></a>
+<span class="sourceLineNo">359</span>        LOG.warn("Received exception while marking regions online. tries left: " + maxTry, e);<a name="line.359"></a>
 <span class="sourceLineNo">360</span>        maxTry--;<a name="line.360"></a>
-<span class="sourceLineNo">361</span>      } catch (Exception e) {<a name="line.361"></a>
-<span class="sourceLineNo">362</span>        LOG.warn("Received exception while marking regions online. tries left: " + maxTry, e);<a name="line.362"></a>
-<span class="sourceLineNo">363</span>        maxTry--;<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        if (maxTry &gt; 0) {<a name="line.364"></a>
-<span class="sourceLineNo">365</span>          continue; // we still have some retry left, try again.<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        }<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        throw e;<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      }<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    } while (maxTry &gt; 0);<a name="line.369"></a>
-<span class="sourceLineNo">370</span><a name="line.370"></a>
-<span class="sourceLineNo">371</span>    if (operationResult != MarkRegionOfflineOpResult.MARK_ALL_REGIONS_OFFLINE_SUCCESSFUL) {<a name="line.371"></a>
-<span class="sourceLineNo">372</span>      LOG.warn("Some or all regions of the Table '" + tableName + "' were still online");<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    }<a name="line.373"></a>
+<span class="sourceLineNo">361</span>        if (maxTry &gt; 0) {<a name="line.361"></a>
+<span class="sourceLineNo">362</span>          continue; // we still have some retry left, try again.<a name="line.362"></a>
+<span class="sourceLineNo">363</span>        }<a name="line.363"></a>
+<span class="sourceLineNo">364</span>        throw e;<a name="line.364"></a>
+<span class="sourceLineNo">365</span>      }<a name="line.365"></a>
+<span class="sourceLineNo">366</span>    } while (maxTry &gt; 0);<a name="line.366"></a>
+<span class="sourceLineNo">367</span><a name="line.367"></a>
+<span class="sourceLineNo">368</span>    if (operationResult != MarkRegionOfflineOpResult.MARK_ALL_REGIONS_OFFLINE_SUCCESSFUL) {<a name="line.368"></a>
+<span class="sourceLineNo">369</span>      LOG.warn("Some or all regions of the Table '" + tableName + "' were still online");<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>    return operationResult;<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>    return operationResult;<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  }<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>  /**<a name="line.378"></a>
-<span class="sourceLineNo">379</span>   * Mark regions of the table offline<a name="line.379"></a>
-<span class="sourceLineNo">380</span>   * @param env MasterProcedureEnv<a name="line.380"></a>
-<span class="sourceLineNo">381</span>   * @param tableName the target table<a name="line.381"></a>
-<span class="sourceLineNo">382</span>   * @return whether the operation is fully completed or being interrupted.<a name="line.382"></a>
-<span class="sourceLineNo">383</span>   * @throws IOException<a name="line.383"></a>
-<span class="sourceLineNo">384</span>   */<a name="line.384"></a>
-<span class="sourceLineNo">385</span>  private static MarkRegionOfflineOpResult markRegionsOffline(<a name="line.385"></a>
-<span class="sourceLineNo">386</span>      final MasterProcedureEnv env,<a name="line.386"></a>
-<span class="sourceLineNo">387</span>      final TableName tableName) throws IOException {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>    // Get list of online regions that are of this table.  Regions that are<a name="line.388"></a>
-<span class="sourceLineNo">389</span>    // already closed will not be included in this list; i.e. the returned<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    // list is not ALL regions in a table, its all online regions according<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    // to the in-memory state on this master.<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    MarkRegionOfflineOpResult operationResult =<a name="line.392"></a>
-<span class="sourceLineNo">393</span>        MarkRegionOfflineOpResult.MARK_ALL_REGIONS_OFFLINE_SUCCESSFUL;<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    final List&lt;HRegionInfo&gt; regions =<a name="line.394"></a>
-<span class="sourceLineNo">395</span>        env.getMasterServices().getAssignmentManager().getRegionStates()<a name="line.395"></a>
-<span class="sourceLineNo">396</span>            .getRegionsOfTable(tableName);<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    if (regions.size() &gt; 0) {<a name="line.397"></a>
-<span class="sourceLineNo">398</span>      LOG.info("Offlining " + regions.size() + " regions.");<a name="line.398"></a>
-<span class="sourceLineNo">399</span><a name="line.399"></a>
-<span class="sourceLineNo">400</span>      BulkDisabler bd = new BulkDisabler(env, tableName, regions);<a name="line.400"></a>
-<span class="sourceLineNo">401</span>      try {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>        if (!bd.bulkAssign()) {<a name="line.402"></a>
-<span class="sourceLineNo">403</span>          operationResult = MarkRegionOfflineOpResult.BULK_ASSIGN_REGIONS_FAILED;<a name="line.403"></a>
-<span class="sourceLineNo">404</span>        }<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      } catch (InterruptedException e) {<a name="line.405"></a>
-<span class="sourceLineNo">406</span>        LOG.warn("Disable was interrupted");<a name="line.406"></a>
-<span class="sourceLineNo">407</span>        // Preserve the interrupt.<a name="line.407"></a>
-<span class="sourceLineNo">408</span>        Thread.currentThread().interrupt();<a name="line.408"></a>
-<span class="sourceLineNo">409</span>        operationResult = MarkRegionOfflineOpResult.MARK_ALL_REGIONS_OFFLINE_INTERRUPTED;<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>    return operationResult;<a name="line.412"></a>
-<span class="sourceLineNo">413</span>  }<a name="line.413"></a>
-<span class="sourceLineNo">414</span><a name="line.414"></a>
-<span class="sourceLineNo">415</span>  /**<a name="line.415"></a>
-<span class="sourceLineNo">416</span>   * Mark table state to Disabled<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * @param env MasterProcedureEnv<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   * @throws IOException<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   */<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  protected static void setTableStateToDisabled(<a name="line.420"></a>
-<span class="sourceLineNo">421</span>      final MasterProcedureEnv env,<a name="line.421"></a>
-<span class="sourceLineNo">422</span>      final TableName tableName) throws IOException {<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    // Flip the table to disabled<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    env.getMasterServices().getAssignmentManager().getTableStateManager().setTableState(<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      tableName,<a name="line.425"></a>
-<span class="sourceLineNo">426</span>      TableState.State.DISABLED);<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    LOG.info("Disabled table, " + tableName + ", is completed.");<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>   * Action after disabling table.<a name="line.431"></a>
-<span class="sourceLineNo">432</span>   * @param env MasterProcedureEnv<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * @param state the procedure state<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * @throws IOException<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * @throws InterruptedException<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   */<a name="line.436"></a>
-<span class="sourceLineNo">437</span>  protected void postDisable(final MasterProcedureEnv env, final DisableTableState state)<a name="line.437"></a>
-<span class="sourceLineNo">438</span>      throws IOException, InterruptedException {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    runCoprocessorAction(env, state);<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>   * The procedure could be restarted from a different machine. If the variable is null, we need to<a name="line.443"></a>
-<span class="sourceLineNo">444</span>   * retrieve it.<a name="line.444"></a>
-<span class="sourceLineNo">445</span>   * @return traceEnabled<a name="line.445"></a>
-<span class="sourceLineNo">446</span>   */<a name="line.446"></a>
-<span class="sourceLineNo">447</span>  private Boolean isTraceEnabled() {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    if (traceEnabled == null) {<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      traceEnabled = LOG.isTraceEnabled();<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    }<a name="line.450"></a>
-<span class="sourceLineNo">451</span>    return traceEnabled;<a name="line.451"></a>
-<span class="sourceLineNo">452</span>  }<a name="line.452"></a>
-<span class="sourceLineNo">453</span><a name="line.453"></a>
-<span class="sourceLineNo">454</span>  /**<a name="line.454"></a>
-<span class="sourceLineNo">455</span>   * Coprocessor Action.<a name="line.455"></a>
-<span class="sourceLineNo">456</span>   * @param env MasterProcedureEnv<a name="line.456"></a>
-<span class="sourceLineNo">457</span>   * @param state the procedure state<a name="line.457"></a>
-<span class="sourceLineNo">458</span>   * @throws IOException<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   * @throws InterruptedException<a name="line.459"></a>
-<span class="sourceLineNo">460</span>   */<a name="line.460"></a>
-<span class="sourceLineNo">461</span>  private void runCoprocessorAction(final MasterProcedureEnv env, final DisableTableState state)<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      throws IOException, InterruptedException {<a name="line.462"></a>
-<span class="sourceLineNo">463</span>    final MasterCoprocessorHost cpHost = env.getMasterCoprocessorHost();<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    if (cpHost != null) {<a name="line.464"></a>
-<span class="sourceLineNo">465</span>      user.doAs(new PrivilegedExceptionAction&lt;Void&gt;() {<a name="line.465"></a>
-<span class="sourceLineNo">466</span>        @Override<a name="line.466"></a>
-<span class="sourceLineNo">467</span>        public Void run() throws Exception {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>          switch (state) {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>          case DISABLE_TABLE_PRE_OPERATION:<a name="line.469"></a>
-<span class="sourceLineNo">470</span>            cpHost.preDisableTableHandler(tableName);<a name="line.470"></a>
+<span class="sourceLineNo">375</span>  /**<a name="line.375"></a>
+<span class="sourceLineNo">376</span>   * Mark regions of the table offline<a name="line.376"></a>
+<span class="sourceLineNo">377</span>   * @param env MasterProcedureEnv<a name="line.377"></a>
+<span class="sourceLineNo">378</span>   * @param tableName the target table<a name="line.378"></a>
+<span class="sourceLineNo">379</span>   * @return whether the operation is fully completed or being interrupted.<a name="line.379"></a>
+<span class="sourceLineNo">380</span>   * @throws IOException<a name="line.380"></a>
+<span class="sourceLineNo">381</span>   */<a name="line.381"></a>
+<span class="sourceLineNo">382</span>  private static MarkRegionOfflineOpResult markRegionsOffline(<a name="line.382"></a>
+<span class="sourceLineNo">383</span>      final MasterProcedureEnv env,<a name="line.383"></a>
+<span class="sourceLineNo">384</span>      final TableName tableName) throws IOException {<a name="line.384"></a>
+<span class="sourceLineNo">385</span>    // Get list of online regions that are of this table.  Regions that are<a name="line.385"></a>
+<span class="sourceLineNo">386</span>    // already closed will not be included in this list; i.e. the returned<a name="line.386"></a>
+<span class="sourceLineNo">387</span>    // list is not ALL regions in a table, its all online regions according<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    // to the in-memory state on this master.<a name="line.388"></a>
+<span class="sourceLineNo">389</span>    MarkRegionOfflineOpResult operationResult =<a name="line.389"></a>
+<span class="sourceLineNo">390</span>        MarkRegionOfflineOpResult.MARK_ALL_REGIONS_OFFLINE_SUCCESSFUL;<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    final List&lt;HRegionInfo&gt; regions =<a name="line.391"></a>
+<span class="sourceLineNo">392</span>        env.getMasterServices().getAssignmentManager().getRegionStates()<a name="line.392"></a>
+<span class="sourceLineNo">393</span>            .getRegionsOfTable(tableName);<a name="line.393"></a>
+<span class="sourceLineNo">394</span>    if (regions.size() &gt; 0) {<a name="line.394"></a>
+<span class="sourceLineNo">395</span>      LOG.info("Offlining " + regions.size() + " regions.");<a name="line.395"></a>
+<span class="sourceLineNo">396</span><a name="line.396"></a>
+<span class="sourceLineNo">397</span>      BulkDisabler bd = new BulkDisabler(env, tableName, regions);<a name="line.397"></a>
+<span class="sourceLineNo">398</span>      try {<a name="line.398"></a>
+<span class="sourceLineNo">399</span>        if (!bd.bulkAssign()) {<a name="line.399"></a>
+<span class="sourceLineNo">400</span>          operationResult = MarkRegionOfflineOpResult.BULK_ASSIGN_REGIONS_FAILED;<a name="line.400"></a>
+<span class="sourceLineNo">401</span>        }<a name="line.401"></a>
+<span class="sourceLineNo">402</span>      } catch (InterruptedException e) {<a name="line.402"></a>
+<span class="sourceLineNo">403</span>        LOG.warn("Disable was interrupted");<a name="line.403"></a>
+<span class="sourceLineNo">404</span>        // Preserve the interrupt.<a name="line.404"></a>
+<span class="sourceLineNo">405</span>        Thread.currentThread().interrupt();<a name="line.405"></a>
+<span class="sourceLineNo">406</span>        operationResult = MarkRegionOfflineOpResult.MARK_ALL_REGIONS_OFFLINE_INTERRUPTED;<a name="line.406"></a>
+<span class="sourceLineNo">407</span>      }<a name="line.407"></a>
+<span class="sourceLineNo">408</span>    }<a name="line.408"></a>
+<span class="sourceLineNo">409</span>    return operationResult;<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>   * Mark table state to Disabled<a name="line.413"></a>
+<span class="sourceLineNo">414</span>   * @param env MasterProcedureEnv<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>  protected static void setTableStateToDisabled(<a name="line.417"></a>
+<span class="sourceLineNo">418</span>      final MasterProcedureEnv env,<a name="line.418"></a>
+<span class="sourceLineNo">419</span>      final TableName tableName) throws IOException {<a name="line.419"></a>
+<span class="sourceLineNo">420</span>    // Flip the table to disabled<a name="line.420"></a>
+<span class="sourceLineNo">421</span>    env.getMasterServices().getAssignmentManager().getTableStateManager().setTableState(<a name="line.421"></a>
+<span class="sourceLineNo">422</span>      tableName,<a name="line.422"></a>
+<span class="sourceLineNo">423</span>      TableState.State.DISABLED);<a name="line.423"></a>
+<span class="sourceLineNo">424</span>    LOG.info("Disabled table, " + tableName + ", is completed.");<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>  /**<a name="line.427"></a>
+<span class="sourceLineNo">428</span>   * Action after disabling table.<a name="line.428"></a>
+<span class="sourceLineNo">429</span>   * @param env MasterProcedureEnv<a name="line.429"></a>
+<span class="sourceLineNo">430</span>   * @param state the procedure state<a name="line.430"></a>
+<span class="sourceLineNo">431</span>   * @throws IOException<a name="line.431"></a>
+<span class="sourceLineNo">432</span>   * @throws InterruptedException<a name="line.432"></a>
+<span class="sourceLineNo">433</span>   */<a name="line.433"></a>
+<span class="sourceLineNo">434</span>  protected void postDisable(final MasterProcedureEnv env, final DisableTableState state)<a name="line.434"></a>
+<span class="sourceLineNo">435</span>      throws IOException, InterruptedException {<a name="line.435"></a>
+<span class="sourceLineNo">436</span>    runCoprocessorAction(env, state);<a name="line.436"></a>
+<span class="sourceLineNo">437</span>  }<a name="line.437"></a>
+<span class="sourceLineNo">438</span><a name="line.438"></a>
+<span class="sourceLineNo">439</span>  /**<a name="line.439"></a>
+<span class="sourceLineNo">440</span>   * The procedure could be restarted from a different machine. If the variable is null, we need to<a name="line.440"></a>
+<span class="sourceLineNo">441</span>   * retrieve it.<a name="line.441"></a>
+<span class="sourceLineNo">442</span>   * @return traceEnabled<a name="line.442"></a>
+<span class="sourceLineNo">443</span>   */<a name="line.443"></a>
+<span class="sourceLineNo">444</span>  private Boolean isTraceEnabled() {<a name="line.444"></a>
+<span class="sourceLineNo">445</span>    if (traceEnabled == null) {<a name="line.445"></a>
+<span class="sourceLineNo">446</span>      traceEnabled = LOG.isTraceEnabled();<a name="line.446"></a>
+<span class="sourceLineNo">447</span>    }<a name="line.447"></a>
+<span class="sourceLineNo">448</span>    return traceEnabled;<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>   * Coprocessor Action.<a name="line.452"></a>
+<span class="sourceLineNo">453</span>   * @param env MasterProcedureEnv<a name="line.453"></a>
+<span class="sourceLineNo">454</span>   * @param state the procedure state<a name="line.454"></a>
+<span class="sourceLineNo">455</span>   * @throws IOException<a name="line.455"></a>
+<span class="sourceLineNo">456</span>   * @throws InterruptedException<a name="line.456"></a>
+<span class="sourceLineNo">457</span>   */<a name="line.457"></a>
+<span class="sourceLineNo">458</span>  private void runCoprocessorAction(final MasterProcedureEnv env, final DisableTableState state)<a name="line.458"></a>
+<span class="sourceLineNo">459</span>      throws IOException, InterruptedException {<a name="line.459"></a>
+<span class="sourceLineNo">460</span>    final MasterCoprocessorHost cpHost = env.getMasterCoprocessorHost();<a name="line.460"></a>
+<span class="sourceLineNo">461</span>    if (cpHost != null) {<a name="line.461"></a>
+<span class="sourceLineNo">462</span>      user.doAs(new PrivilegedExceptionAction&lt;Void&gt;() {<a name="line.462"></a>
+<span class="sourceLineNo">463</span>        @Override<a name="line.463"></a>
+<span class="sourceLineNo">464</span>        public Void run() throws Exception {<a name="line.464"></a>
+<span class="sourceLineNo">465</span>          switch (state) {<a name="line.465"></a>
+<span class="sourceLineNo">466</span>          case DISABLE_TABLE_PRE_OPERATION:<a name="line.466"></a>
+<span class="sourceLineNo">467</span>            cpHost.preDisableTableHandler(tableName);<a name="line.467"></a>
+<span class="sourceLineNo">468</span>            break;<a name="line.468"></a>
+<span class="sourceLineNo">469</span>          case DISABLE_TABLE_POST_OPERATION:<a name="line.469"></a>
+<span class="sourceLineNo">470</span>            cpHost.postDisableTableHandler(tableName);<a name="line.470"></a>
 <span class="sourceLineNo">471</span>            break;<a name="line.471"></a>
-<span class="sourceLineNo">472</span>          case DISABLE_TABLE_POST_OPERATION:<a name="line.472"></a>
-<span class="sourceLineNo">473</span>            cpHost.postDisableTableHandler(tableName);<a name="line.473"></a>
-<span class="sourceLineNo">474</span>            break;<a name="line.474"></a>
-<span class="sourceLineNo">475</span>          default:<a name="line.475"></a>
-<span class="sourceLineNo">476</span>            throw new UnsupportedOperationException(this + " unhandled state=" + state);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>          }<a name="line.477"></a>
-<span class="sourceLineNo">478</span>          return null;<a name="line.478"></a>
-<span class="sourceLineNo">479</span>        }<a name="line.479"></a>
-<span class="sourceLineNo">480</span>      });<a name="line.480"></a>
-<span class="sourceLineNo">481</span>    }<a name="line.481"></a>
-<span class="sourceLineNo">482</span>  }<a name="line.482"></a>
-<span class="sourceLineNo">483</span><a name="line.483"></a>
-<span class="sourceLineNo">484</span>  /**<a name="line.484"></a>
-<span class="sourceLineNo">485</span>   * Run bulk disable.<a name="line.485"></a>
-<span class="sourceLineNo">486</span>   */<a name="line.486"></a>
-<span class="sourceLineNo">487</span>  private static class BulkDisabler extends BulkAssigner {<a name="line.487"></a>
-<span class="sourceLineNo">488</span>    private final AssignmentManager assignmentManager;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    private final List&lt;HRegionInfo&gt; regions;<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    private final TableName tableName;<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    private final int waitingTimeForEvents;<a name="line.491"></a>
-<span class="sourceLineNo">492</span><a name="line.492"></a>
-<span class="sourceLineNo">493</span>    public BulkDisabler(final MasterProcedureEnv env, final TableName tableName,<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        final List&lt;HRegionInfo&gt; regions) {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      super(env.getMasterServices());<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      this.assignmentManager = env.getMasterServices().getAssignmentManager();<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      this.tableName = tableName;<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      this.regions = regions;<a name="line.498"></a>
-<span class="sourceLineNo">499</span>      this.waitingTimeForEvents =<a name="line.499"></a>
-<span class="sourceLineNo">500</span>          env.getMasterServices().getConfiguration()<a name="line.500"></a>
-<span class="sourceLineNo">501</span>              .getInt("hbase.master.event.waiting.time", 1000);<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    }<a name="line.502"></a>
-<span class="sourceLineNo">503</span><a name="line.503"></a>
-<span class="sourceLineNo">504</span>    @Override<a name="line.504"></a>
-<span class="sourceLineNo">505</span>    protected void populatePool(ExecutorService pool) {<a name="line.505"></a>
-<span class="sourceLineNo">506</span>      RegionStates regionStates = assignmentManager.getRegionStates();<a name="line.506"></a>
-<span class="sourceLineNo">507</span>      for (final HRegionInfo region : regions) {<a name="line.507"></a>
-<span class="sourceLineNo">508</span>        if (regionStates.isRegionInTransition(region)<a name="line.508"></a>
-<span class="sourceLineNo">509</span>            &amp;&amp; !regionStates.isRegionInState(region, RegionState.State.FAILED_CLOSE)) {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>          continue;<a name="line.510"></a>
-<span class="sourceLineNo">511</span>        }<a name="line.511"></a>
-<span class="sourceLineNo">512</span>        pool.execute(Trace.wrap("DisableTableHandler.BulkDisabler", new Runnable() {<a name="line.512"></a>
-<span class="sourceLineNo">513</span>          @Override<a name="line.513"></a>
-<span class="sourceLineNo">514</span>          public voi

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureUtil.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureUtil.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureUtil.html
index 001b08d..9ab4675 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureUtil.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureUtil.html
@@ -35,7 +35,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
 <li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -263,7 +263,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
 <li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html
index 544991e..3955f6f 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html
@@ -110,7 +110,7 @@
 <hr>
 <br>
 <pre><a href="../../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.49">ModifyColumnFamilyProcedure</a>
+public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.48">ModifyColumnFamilyProcedure</a>
 extends <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">StateMachineProcedure</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>,org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyColumnFamilyState&gt;
 implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface</a></pre>
 <div class="block">The procedure to modify a column family from an existing table.</div>
@@ -404,7 +404,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.52">LOG</a></pre>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.51">LOG</a></pre>
 </li>
 </ul>
 <a name="aborted">
@@ -413,7 +413,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>aborted</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.54">aborted</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.53">aborted</a></pre>
 </li>
 </ul>
 <a name="tableName">
@@ -422,7 +422,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>tableName</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.56">tableName</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.55">tableName</a></pre>
 </li>
 </ul>
 <a name="unmodifiedHTableDescriptor">
@@ -431,7 +431,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>unmodifiedHTableDescriptor</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.57">unmodifiedHTableDescriptor</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.56">unmodifiedHTableDescriptor</a></pre>
 </li>
 </ul>
 <a name="cfDescriptor">
@@ -440,7 +440,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>cfDescriptor</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.58">cfDescriptor</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.57">cfDescriptor</a></pre>
 </li>
 </ul>
 <a name="user">
@@ -449,7 +449,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>user</h4>
-<pre>private&nbsp;org.apache.hadoop.security.UserGroupInformation <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.59">user</a></pre>
+<pre>private&nbsp;org.apache.hadoop.security.UserGroupInformation <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.58">user</a></pre>
 </li>
 </ul>
 <a name="traceEnabled">
@@ -458,7 +458,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockListLast">
 <li class="blockList">
 <h4>traceEnabled</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.61">traceEnabled</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.60">traceEnabled</a></pre>
 </li>
 </ul>
 </li>
@@ -475,7 +475,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>ModifyColumnFamilyProcedure</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.63">ModifyColumnFamilyProcedure</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.62">ModifyColumnFamilyProcedure</a>()</pre>
 </li>
 </ul>
 <a name="ModifyColumnFamilyProcedure(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv, org.apache.hadoop.hbase.TableName, org.apache.hadoop.hbase.HColumnDescriptor)">
@@ -484,7 +484,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ModifyColumnFamilyProcedure</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.68">ModifyColumnFamilyProcedure</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.67">ModifyColumnFamilyProcedure</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                            <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                            <a href="../../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&nbsp;cfDescriptor)
                             throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -506,7 +506,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>executeFromState</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2">StateMachineProcedure.Flow</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.81">executeFromState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2">StateMachineProcedure.Flow</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.80">executeFromState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                           org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyColumnFamilyState&nbsp;state)
                                                throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#executeFromState(TEnvironment,%20TState)">StateMachineProcedure</a></code></strong></div>
@@ -527,7 +527,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>rollbackState</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.121">rollbackState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.120">rollbackState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                  org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyColumnFamilyState&nbsp;state)
                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#rollbackState(TEnvironment,%20TState)">StateMachineProcedure</a></code></strong></div>
@@ -546,7 +546,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getState</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyColumnFamilyState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.154">getState</a>(int&nbsp;stateId)</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyColumnFamilyState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.153">getState</a>(int&nbsp;stateId)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getState(int)">StateMachineProcedure</a></code></strong></div>
 <div class="block">Convert an ordinal (or state id) to an Enum (or more descriptive) state object.</div>
 <dl>
@@ -562,7 +562,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getStateId</h4>
-<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.159">getStateId</a>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyColumnFamilyState&nbsp;state)</pre>
+<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.158">getStateId</a>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyColumnFamilyState&nbsp;state)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getStateId(TState)">StateMachineProcedure</a></code></strong></div>
 <div class="block">Convert the Enum (or more descriptive) state object to an ordinal (or state id).</div>
 <dl>
@@ -578,7 +578,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getInitialState</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyColumnFamilyState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.164">getInitialState</a>()</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyColumnFamilyState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.163">getInitialState</a>()</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getInitialState()">StateMachineProcedure</a></code></strong></div>
 <div class="block">Return the initial state object that will be used for the first call to executeFromState().</div>
 <dl>
@@ -593,7 +593,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>setNextState</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.169">setNextState</a>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyColumnFamilyState&nbsp;state)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.168">setNextState</a>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyColumnFamilyState&nbsp;state)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#setNextState(TState)">StateMachineProcedure</a></code></strong></div>
 <div class="block">Set the next state for the procedure.</div>
 <dl>
@@ -608,7 +608,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>abort</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.178">abort</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.177">abort</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#abort(TEnvironment)">Procedure</a></code></strong></div>
 <div class="block">The abort() call is asynchronous and each procedure must decide how to deal
  with that, if they want to be abortable. The simplest implementation
@@ -632,7 +632,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>acquireLock</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.184">acquireLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.183">acquireLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#acquireLock(TEnvironment)">Procedure</a></code></strong></div>
 <div class="block">The user should override this method, and try to take a lock if necessary.
  A lock can be anything, and it is up to the implementor.
@@ -651,7 +651,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>releaseLock</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.192">releaseLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.189">releaseLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#releaseLock(TEnvironment)">Procedure</a></code></strong></div>
 <div class="block">The user should override this method, and release lock if necessary.</div>
 <dl>
@@ -666,7 +666,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>serializeStateData</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.197">serializeStateData</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;stream)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.194">serializeStateData</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;stream)
                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#serializeStateData(java.io.OutputStream)">Procedure</a></code></strong></div>
 <div class="block">The user-level code of the procedure may have some state to
@@ -685,7 +685,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>deserializeStateData</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.213">deserializeStateData</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;stream)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.210">deserializeStateData</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;stream)
                           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#deserializeStateData(java.io.InputStream)">Procedure</a></code></strong></div>
 <div class="block">Called on store load to allow the user to decode the previously serialized
@@ -704,7 +704,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>toStringClassDetails</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.227">toStringClassDetails</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;sb)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.224">toStringClassDetails</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;sb)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringClassDetails(java.lang.StringBuilder)">Procedure</a></code></strong></div>
 <div class="block">Extend the toString() information with the procedure details
  e.g. className and parameters</div>
@@ -720,7 +720,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableName</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.241">getTableName</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.238">getTableName</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html#getTableName()">getTableName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface</a></code></dd>
@@ -733,7 +733,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableOperationType</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface.TableOperationType</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.246">getTableOperationType</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface.TableOperationType</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.243">getTableOperationType</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html#getTableOperationType()">TableProcedureInterface</a></code></strong></div>
 <div class="block">Given an operation type we can take decisions about what to do with pending operations.
  e.g. if we get a delete and we have some table operation pending (e.g. add column)
@@ -750,7 +750,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>prepareModify</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.255">prepareModify</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.252">prepareModify</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Action before any real action of modifying column family.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>env</code> - MasterProcedureEnv</dd>
@@ -764,7 +764,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>preModify</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.276">preModify</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.273">preModify</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
              org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyColumnFamilyState&nbsp;state)
                 throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                        <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
@@ -781,7 +781,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>updateTableDescriptor</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.284">updateTableDescriptor</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.281">updateTableDescriptor</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                             throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Modify the column family from the file system</div>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -794,7 +794,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>restoreTableDescriptor</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.298">restoreTableDescriptor</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.295">restoreTableDescriptor</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                              throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Restore back to the old descriptor</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>env</code> - MasterProcedureEnv</dd>
@@ -808,7 +808,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>postModify</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.312">postModify</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.309">postModify</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
               org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyColumnFamilyState&nbsp;state)
                  throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                         <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
@@ -825,7 +825,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>reOpenAllRegionsIfTableIsOnline</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.322">reOpenAllRegionsIfTableIsOnline</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.319">reOpenAllRegionsIfTableIsOnline</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Last action from the procedure - executed when online schema change is supported.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>env</code> - MasterProcedureEnv</dd>
@@ -839,7 +839,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>isTraceEnabled</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.342">isTraceEnabled</a>()</pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.339">isTraceEnabled</a>()</pre>
 <div class="block">The procedure could be restarted from a different machine. If the variable is null, we need to
  retrieve it.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>traceEnabled</dd></dl>
@@ -851,7 +851,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getColumnFamilyName</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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/procedure/ModifyColumnFamilyProcedure.html#line.349">getColumnFamilyName</a>()</pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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/procedure/ModifyColumnFamilyProcedure.html#line.346">getColumnFamilyName</a>()</pre>
 </li>
 </ul>
 <a name="runCoprocessorAction(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv, org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyColumnFamilyState)">
@@ -860,7 +860,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockListLast">
 <li class="blockList">
 <h4>runCoprocessorAction</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.360">runCoprocessorAction</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#line.357">runCoprocessorAction</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                         org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyColumnFamilyState&nbsp;state)
                            throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                   <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html
index c8d4a2d..7bba8b6 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html
@@ -244,95 +244,99 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#getNamespaceName()">getNamespaceName</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>protected org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyNamespaceState</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#getState(int)">getState</a></strong>(int&nbsp;stateId)</code>
 <div class="block">Convert an ordinal (or state id) to an Enum (or more descriptive) state object.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#getStateId(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyNamespaceState)">getStateId</a></strong>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyNamespaceState&nbsp;state)</code>
 <div class="block">Convert the Enum (or more descriptive) state object to an ordinal (or state id).</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#getTableName()">getTableName</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/TableNamespaceManager.html" title="class in org.apache.hadoop.hbase.master">TableNamespaceManager</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#getTableNamespaceManager(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">getTableNamespaceManager</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface.TableOperationType</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#getTableOperationType()">getTableOperationType</a></strong>()</code>
 <div class="block">Given an operation type we can take decisions about what to do with pending operations.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#insertIntoNSTable(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">insertIntoNSTable</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>
 <div class="block">Insert/update the row into namespace table</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#isTraceEnabled()">isTraceEnabled</a></strong>()</code>
 <div class="block">The procedure could be restarted from a different machine.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#prepareModify(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">prepareModify</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>
 <div class="block">Action before any real action of adding namespace.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#releaseLock(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">releaseLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>
 <div class="block">The user should override this method, and release lock if necessary.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#rollbackState(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv,%20org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyNamespaceState)">rollbackState</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                           org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyNamespaceState&nbsp;state)</code>
 <div class="block">called to perform the rollback of the specified state</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#rollbackUpdateInNSTable(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">rollbackUpdateInNSTable</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>
 <div class="block">rollback the row into namespace table</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#rollbackZKNamespaceManagerChange(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">rollbackZKNamespaceManagerChange</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>
 <div class="block">Update Zookeeper during undo.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#serializeStateData(java.io.OutputStream)">serializeStateData</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;stream)</code>
 <div class="block">The user-level code of the procedure may have some state to
  persist (e.g.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#setNextState(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyNamespaceState)">setNextState</a></strong>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyNamespaceState&nbsp;state)</code>
 <div class="block">Set the next state for the procedure.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#toStringClassDetails(java.lang.StringBuilder)">toStringClassDetails</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;sb)</code>
 <div class="block">Extend the toString() information with the procedure details
  e.g.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#updateZKNamespaceManager(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">updateZKNamespaceManager</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>
 <div class="block">Update Zookeeper.</div>
@@ -662,7 +666,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>releaseLock</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#line.199">releaseLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#line.200">releaseLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#releaseLock(TEnvironment)">Procedure</a></code></strong></div>
 <div class="block">The user should override this method, and release lock if necessary.</div>
 <dl>
@@ -677,7 +681,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableName</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#line.204">getTableName</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#line.205">getTableName</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html#getTableName()">getTableName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface</a></code></dd>
@@ -690,7 +694,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableOperationType</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface.TableOperationType</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#line.209">getTableOperationType</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface.TableOperationType</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#line.210">getTableOperationType</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html#getTableOperationType()">TableProcedureInterface</a></code></strong></div>
 <div class="block">Given an operation type we can take decisions about what to do with pending operations.
  e.g. if we get a delete and we have some table operation pending (e.g. add column)
@@ -701,13 +705,22 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <dt><span class="strong">Returns:</span></dt><dd>the operation type that the procedure is executing.</dd></dl>
 </li>
 </ul>
+<a name="getNamespaceName()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNamespaceName</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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/procedure/ModifyNamespaceProcedure.html#line.214">getNamespaceName</a>()</pre>
+</li>
+</ul>
 <a name="prepareModify(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>prepareModify</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#line.218">prepareModify</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#line.223">prepareModify</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Action before any real action of adding namespace.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>env</code> - MasterProcedureEnv</dd>
@@ -721,7 +734,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>insertIntoNSTable</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#line.233">insertIntoNSTable</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#line.238">insertIntoNSTable</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Insert/update the row into namespace table</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>env</code> - MasterProcedureEnv</dd>
@@ -735,7 +748,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>rollbackUpdateInNSTable</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#line.242">rollbackUpdateInNSTable</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#line.247">rollbackUpdateInNSTable</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                               throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">rollback the row into namespace table</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>env</code> - MasterProcedureEnv</dd>
@@ -749,7 +762,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>updateZKNamespaceManager</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#line.253">updateZKNamespaceManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#line.258">updateZKNamespaceManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                                throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Update Zookeeper.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>env</code> - MasterProcedureEnv</dd>
@@ -763,7 +776,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>rollbackZKNamespaceManagerChange</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#line.262">rollbackZKNamespaceManagerChange</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#line.267">rollbackZKNamespaceManagerChange</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                                        throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Update Zookeeper during undo.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>env</code> - MasterProcedureEnv</dd>
@@ -777,7 +790,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableNamespaceManager</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/TableNamespaceManager.html" title="class in org.apache.hadoop.hbase.master">TableNamespaceManager</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#line.268">getTableNamespaceManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/TableNamespaceManager.html" title="class in org.apache.hadoop.hbase.master">TableNamespaceManager</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#line.273">getTableNamespaceManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 </li>
 </ul>
 <a name="isTraceEnabled()">
@@ -786,7 +799,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockListLast">
 <li class="blockList">
 <h4>isTraceEnabled</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#line.277">isTraceEnabled</a>()</pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html#line.282">isTraceEnabled</a>()</pre>
 <div class="block">The procedure could be restarted from a different machine. If the variable is null, we need to
  retrieve it.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>traceEnabled</dd></dl>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html
deleted file mode 100644
index 92dcb34..0000000
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html
+++ /dev/null
@@ -1,650 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
-<title>Source code</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<div class="sourceContainer">
-<pre><span class="sourceLineNo">001</span>/**<a name="line.1"></a>
-<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
-<span class="sourceLineNo">003</span> * or more contributor license agreements.  See the NOTICE file<a name="line.3"></a>
-<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
-<span class="sourceLineNo">005</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.5"></a>
-<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
-<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
-<span class="sourceLineNo">008</span> * with the License.  You may obtain a copy of the License at<a name="line.8"></a>
-<span class="sourceLineNo">009</span> *<a name="line.9"></a>
-<span class="sourceLineNo">010</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
-<span class="sourceLineNo">011</span> *<a name="line.11"></a>
-<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
-<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
-<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
-<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
-<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
-<span class="sourceLineNo">017</span> */<a name="line.17"></a>
-<span class="sourceLineNo">018</span><a name="line.18"></a>
-<span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.master.procedure;<a name="line.19"></a>
-<span class="sourceLineNo">020</span><a name="line.20"></a>
-<span class="sourceLineNo">021</span>import java.io.IOException;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.util.ArrayDeque;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.util.Deque;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.util.concurrent.locks.Condition;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.util.concurrent.locks.ReentrantLock;<a name="line.25"></a>
-<span class="sourceLineNo">026</span><a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.commons.logging.Log;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.commons.logging.LogFactory;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.conf.Configuration;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.ServerName;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.TableName;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.procedure2.Procedure;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.procedure2.ProcedureFairRunQueues;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.procedure2.ProcedureRunnableSet;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.master.TableLockManager;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.master.TableLockManager.TableLock;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.master.procedure.TableProcedureInterface.TableOperationType;<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span>/**<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * ProcedureRunnableSet for the Master Procedures.<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * This RunnableSet tries to provide to the ProcedureExecutor procedures<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * that can be executed without having to wait on a lock.<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * Most of the master operations can be executed concurrently, if they<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * are operating on different tables (e.g. two create table can be performed<a name="line.48"></a>
-<span class="sourceLineNo">049</span> * at the same, time assuming table A and table B) or against two different servers; say<a name="line.49"></a>
-<span class="sourceLineNo">050</span> * two servers that crashed at about the same time.<a name="line.50"></a>
-<span class="sourceLineNo">051</span> *<a name="line.51"></a>
-<span class="sourceLineNo">052</span> * &lt;p&gt;Each procedure should implement an interface providing information for this queue.<a name="line.52"></a>
-<span class="sourceLineNo">053</span> * for example table related procedures should implement TableProcedureInterface.<a name="line.53"></a>
-<span class="sourceLineNo">054</span> * each procedure will be pushed in its own queue, and based on the operation type<a name="line.54"></a>
-<span class="sourceLineNo">055</span> * we may take smarter decision. e.g. we can abort all the operations preceding<a name="line.55"></a>
-<span class="sourceLineNo">056</span> * a delete table, or similar.<a name="line.56"></a>
-<span class="sourceLineNo">057</span> */<a name="line.57"></a>
-<span class="sourceLineNo">058</span>@InterfaceAudience.Private<a name="line.58"></a>
-<span class="sourceLineNo">059</span>@InterfaceStability.Evolving<a name="line.59"></a>
-<span class="sourceLineNo">060</span>public class MasterProcedureQueue implements ProcedureRunnableSet {<a name="line.60"></a>
-<span class="sourceLineNo">061</span>  private static final Log LOG = LogFactory.getLog(MasterProcedureQueue.class);<a name="line.61"></a>
-<span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>  // Two queues to ensure that server procedures run ahead of table precedures always.<a name="line.63"></a>
-<span class="sourceLineNo">064</span>  private final ProcedureFairRunQueues&lt;TableName, RunQueue&gt; tableFairQ;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  /**<a name="line.65"></a>
-<span class="sourceLineNo">066</span>   * Rely on basic fair q. ServerCrashProcedure will yield if meta is not assigned. This way, the<a name="line.66"></a>
-<span class="sourceLineNo">067</span>   * server that was carrying meta should rise to the top of the queue (this is how it used to<a name="line.67"></a>
-<span class="sourceLineNo">068</span>   * work when we had handlers and ServerShutdownHandler ran). TODO: special handling of servers<a name="line.68"></a>
-<span class="sourceLineNo">069</span>   * that were carrying system tables on crash; do I need to have these servers have priority?<a name="line.69"></a>
-<span class="sourceLineNo">070</span>   *<a name="line.70"></a>
-<span class="sourceLineNo">071</span>   * &lt;p&gt;Apart from the special-casing of meta and system tables, fairq is what we want<a name="line.71"></a>
-<span class="sourceLineNo">072</span>   */<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  private final ProcedureFairRunQueues&lt;ServerName, RunQueue&gt; serverFairQ;<a name="line.73"></a>
-<span class="sourceLineNo">074</span><a name="line.74"></a>
-<span class="sourceLineNo">075</span>  private final ReentrantLock lock = new ReentrantLock();<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  private final Condition waitCond = lock.newCondition();<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  private final TableLockManager lockManager;<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>  private final int metaTablePriority;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  private final int userTablePriority;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  private final int sysTablePriority;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>  private static final int DEFAULT_SERVER_PRIORITY = 1;<a name="line.82"></a>
-<span class="sourceLineNo">083</span><a name="line.83"></a>
-<span class="sourceLineNo">084</span>  /**<a name="line.84"></a>
-<span class="sourceLineNo">085</span>   * Keeps count across server and table queues.<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   */<a name="line.86"></a>
-<span class="sourceLineNo">087</span>  private int queueSize;<a name="line.87"></a>
-<span class="sourceLineNo">088</span><a name="line.88"></a>
-<span class="sourceLineNo">089</span>  public MasterProcedureQueue(final Configuration conf, final TableLockManager lockManager) {<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    this.tableFairQ = new ProcedureFairRunQueues&lt;TableName, RunQueue&gt;(1);<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    this.serverFairQ = new ProcedureFairRunQueues&lt;ServerName, RunQueue&gt;(1);<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    this.lockManager = lockManager;<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>    // TODO: should this be part of the HTD?<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    metaTablePriority = conf.getInt("hbase.master.procedure.queue.meta.table.priority", 3);<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    sysTablePriority = conf.getInt("hbase.master.procedure.queue.system.table.priority", 2);<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    userTablePriority = conf.getInt("hbase.master.procedure.queue.user.table.priority", 1);<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  }<a name="line.98"></a>
-<span class="sourceLineNo">099</span><a name="line.99"></a>
-<span class="sourceLineNo">100</span>  @Override<a name="line.100"></a>
-<span class="sourceLineNo">101</span>  public void addFront(final Procedure proc) {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    lock.lock();<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    try {<a name="line.103"></a>
-<span class="sourceLineNo">104</span>      getRunQueueOrCreate(proc).addFront(proc);<a name="line.104"></a>
-<span class="sourceLineNo">105</span>      queueSize++;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      waitCond.signal();<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    } finally {<a name="line.107"></a>
-<span class="sourceLineNo">108</span>      lock.unlock();<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    }<a name="line.109"></a>
-<span class="sourceLineNo">110</span>  }<a name="line.110"></a>
-<span class="sourceLineNo">111</span><a name="line.111"></a>
-<span class="sourceLineNo">112</span>  @Override<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  public void addBack(final Procedure proc) {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    lock.lock();<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    try {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      getRunQueueOrCreate(proc).addBack(proc);<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      queueSize++;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      waitCond.signal();<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    } finally {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      lock.unlock();<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>  }<a name="line.122"></a>
-<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span>  @Override<a name="line.124"></a>
-<span class="sourceLineNo">125</span>  public void yield(final Procedure proc) {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    addBack(proc);<a name="line.126"></a>
-<span class="sourceLineNo">127</span>  }<a name="line.127"></a>
-<span class="sourceLineNo">128</span><a name="line.128"></a>
-<span class="sourceLineNo">129</span>  @Override<a name="line.129"></a>
-<span class="sourceLineNo">130</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings("WA_AWAIT_NOT_IN_LOOP")<a name="line.130"></a>
-<span class="sourceLineNo">131</span>  public Long poll() {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    Long pollResult = null;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    lock.lock();<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    try {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      if (queueSize == 0) {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>        waitCond.await();<a name="line.136"></a>
-<span class="sourceLineNo">137</span>        if (queueSize == 0) {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>          return null;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>        }<a name="line.139"></a>
-<span class="sourceLineNo">140</span>      }<a name="line.140"></a>
-<span class="sourceLineNo">141</span>      // For now, let server handling have precedence over table handling; presumption is that it<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      // is more important handling crashed servers than it is running the<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      // enabling/disabling tables, etc.<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      pollResult = doPoll(serverFairQ.poll());<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      if (pollResult == null) {<a name="line.145"></a>
-<span class="sourceLineNo">146</span>        pollResult = doPoll(tableFairQ.poll());<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      }<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    } catch (InterruptedException e) {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      Thread.currentThread().interrupt();<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    } finally {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      lock.unlock();<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    }<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    return pollResult;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  }<a name="line.154"></a>
-<span class="sourceLineNo">155</span><a name="line.155"></a>
-<span class="sourceLineNo">156</span>  private Long doPoll(final RunQueue rq) {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    if (rq == null || !rq.isAvailable()) return null;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    this.queueSize--;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    return rq.poll();<a name="line.159"></a>
-<span class="sourceLineNo">160</span>  }<a name="line.160"></a>
-<span class="sourceLineNo">161</span><a name="line.161"></a>
-<span class="sourceLineNo">162</span>  @Override<a name="line.162"></a>
-<span class="sourceLineNo">163</span>  public void signalAll() {<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    lock.lock();<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    try {<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      waitCond.signalAll();<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    } finally {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>      lock.unlock();<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    }<a name="line.169"></a>
-<span class="sourceLineNo">170</span>  }<a name="line.170"></a>
-<span class="sourceLineNo">171</span><a name="line.171"></a>
-<span class="sourceLineNo">172</span>  @Override<a name="line.172"></a>
-<span class="sourceLineNo">173</span>  public void clear() {<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    lock.lock();<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    try {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      serverFairQ.clear();<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      tableFairQ.clear();<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      queueSize = 0;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    } finally {<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      lock.unlock();<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><a name="line.183"></a>
-<span class="sourceLineNo">184</span>  @Override<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  public int size() {<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    lock.lock();<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    try {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      return queueSize;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    } finally {<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      lock.unlock();<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>  @Override<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  public String toString() {<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    lock.lock();<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    try {<a name="line.197"></a>
-<span class="sourceLineNo">198</span>      return "MasterProcedureQueue size=" + queueSize + ": tableFairQ: " + tableFairQ +<a name="line.198"></a>
-<span class="sourceLineNo">199</span>        ", serverFairQ: " + serverFairQ;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    } finally {<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      lock.unlock();<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    }<a name="line.202"></a>
-<span class="sourceLineNo">203</span>  }<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>  @Override<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  public void completionCleanup(Procedure proc) {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    if (proc instanceof TableProcedureInterface) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span>      TableProcedureInterface iProcTable = (TableProcedureInterface)proc;<a name="line.208"></a>
-<span class="sourceLineNo">209</span>      boolean tableDeleted;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      if (proc.hasException()) {<a name="line.210"></a>
-<span class="sourceLineNo">211</span>        IOException procEx =  proc.getException().unwrapRemoteException();<a name="line.211"></a>
-<span class="sourceLineNo">212</span>        if (iProcTable.getTableOperationType() == TableOperationType.CREATE) {<a name="line.212"></a>
-<span class="sourceLineNo">213</span>          // create failed because the table already exist<a name="line.213"></a>
-<span class="sourceLineNo">214</span>          tableDeleted = !(procEx instanceof TableExistsException);<a name="line.214"></a>
-<span class="sourceLineNo">215</span>        } else {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>          // the operation failed because the table does not exist<a name="line.216"></a>
-<span class="sourceLineNo">217</span>          tableDeleted = (procEx instanceof TableNotFoundException);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>        }<a name="line.218"></a>
-<span class="sourceLineNo">219</span>      } else {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>        // the table was deleted<a name="line.220"></a>
-<span class="sourceLineNo">221</span>        tableDeleted = (iProcTable.getTableOperationType() == TableOperationType.DELETE);<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      }<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      if (tableDeleted) {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>        markTableAsDeleted(iProcTable.getTableName());<a name="line.224"></a>
-<span class="sourceLineNo">225</span>      }<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    }<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    // No cleanup for ServerProcedureInterface types, yet.<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>  private RunQueue getRunQueueOrCreate(final Procedure proc) {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    if (proc instanceof TableProcedureInterface) {<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      final TableName table = ((TableProcedureInterface)proc).getTableName();<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      return getRunQueueOrCreate(table);<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    if (proc instanceof ServerProcedureInterface) {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      return getRunQueueOrCreate((ServerProcedureInterface)proc);<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    }<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    // TODO: at the moment we only have Table and Server procedures<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    // if you are implementing a non-table/non-server procedure, you have two options: create<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    // a group for all the non-table/non-server procedures or try to find a key for your<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    // non-table/non-server procedures and implement something similar to the TableRunQueue.<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    throw new UnsupportedOperationException("RQs for non-table procedures are not implemented yet");<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  }<a name="line.243"></a>
-<span class="sourceLineNo">244</span><a name="line.244"></a>
-<span class="sourceLineNo">245</span>  private TableRunQueue getRunQueueOrCreate(final TableName table) {<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    final TableRunQueue queue = getRunQueue(table);<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    if (queue != null) return queue;<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    return (TableRunQueue)tableFairQ.add(table, createTableRunQueue(table));<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>  private ServerRunQueue getRunQueueOrCreate(final ServerProcedureInterface spi) {<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    final ServerRunQueue queue = getRunQueue(spi.getServerName());<a name="line.252"></a>
-<span class="sourceLineNo">253</span>    if (queue != null) return queue;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    return (ServerRunQueue)serverFairQ.add(spi.getServerName(), createServerRunQueue(spi));<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>  private TableRunQueue createTableRunQueue(final TableName table) {<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    int priority = userTablePriority;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    if (table.equals(TableName.META_TABLE_NAME)) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      priority = metaTablePriority;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>    } else if (table.isSystemTable()) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      priority = sysTablePriority;<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    }<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    return new TableRunQueue(priority);<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>  private ServerRunQueue createServerRunQueue(final ServerProcedureInterface spi) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    return new ServerRunQueue(DEFAULT_SERVER_PRIORITY);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>  }<a name="line.269"></a>
-<span class="sourceLineNo">270</span><a name="line.270"></a>
-<span class="sourceLineNo">271</span>  private TableRunQueue getRunQueue(final TableName table) {<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    return (TableRunQueue)tableFairQ.get(table);<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  }<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  private ServerRunQueue getRunQueue(final ServerName sn) {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    return (ServerRunQueue)serverFairQ.get(sn);<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  }<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>  /**<a name="line.279"></a>
-<span class="sourceLineNo">280</span>   * Try to acquire the write lock on the specified table.<a name="line.280"></a>
-<span class="sourceLineNo">281</span>   * other operations in the table-queue will be executed after the lock is released.<a name="line.281"></a>
-<span class="sourceLineNo">282</span>   * @param table Table to lock<a name="line.282"></a>
-<span class="sourceLineNo">283</span>   * @param purpose Human readable reason for locking the table<a name="line.283"></a>
-<span class="sourceLineNo">284</span>   * @return true if we were able to acquire the lock on the table, otherwise false.<a name="line.284"></a>
-<span class="sourceLineNo">285</span>   */<a name="line.285"></a>
-<span class="sourceLineNo">286</span>  public boolean tryAcquireTableExclusiveLock(final TableName table, final String purpose) {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    return getRunQueueOrCreate(table).tryExclusiveLock(lockManager, table, purpose);<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>   * Release the write lock taken with tryAcquireTableWrite()<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   * @param table the name of the table that has the write lock<a name="line.292"></a>
-<span class="sourceLineNo">293</span>   */<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  public void releaseTableExclusiveLock(final TableName table) {<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    getRunQueue(table).releaseExclusiveLock(lockManager, table);<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>   * Try to acquire the read lock on the specified table.<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * other read operations in the table-queue may be executed concurrently,<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   * otherwise they have to wait until all the read-locks are released.<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   * @param table Table to lock<a name="line.302"></a>
-<span class="sourceLineNo">303</span>   * @param purpose Human readable reason for locking the table<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   * @return true if we were able to acquire the lock on the table, otherwise false.<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   */<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  public boolean tryAcquireTableSharedLock(final TableName table, final String purpose) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    return getRunQueueOrCreate(table).trySharedLock(lockManager, table, purpose);<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  }<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>  /**<a name="line.310"></a>
-<span class="sourceLineNo">311</span>   * Release the read lock taken with tryAcquireTableRead()<a name="line.311"></a>
-<span class="sourceLineNo">312</span>   * @param table the name of the table that has the read lock<a name="line.312"></a>
-<span class="sourceLineNo">313</span>   */<a name="line.313"></a>
-<span class="sourceLineNo">314</span>  public void releaseTableSharedLock(final TableName table) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    getRunQueue(table).releaseSharedLock(lockManager, table);<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  }<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>  /**<a name="line.318"></a>
-<span class="sourceLineNo">319</span>   * Try to acquire the write lock on the specified server.<a name="line.319"></a>
-<span class="sourceLineNo">320</span>   * @see #releaseServerExclusiveLock(ServerProcedureInterface)<a name="line.320"></a>
-<span class="sourceLineNo">321</span>   * @param spi Server to lock<a name="line.321"></a>
-<span class="sourceLineNo">322</span>   * @return true if we were able to acquire the lock on the server, otherwise false.<a name="line.322"></a>
-<span class="sourceLineNo">323</span>   */<a name="line.323"></a>
-<span class="sourceLineNo">324</span>  public boolean tryAcquireServerExclusiveLock(final ServerProcedureInterface spi) {<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    return getRunQueueOrCreate(spi).tryExclusiveLock();<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>   * Release the write lock<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * @see #tryAcquireServerExclusiveLock(ServerProcedureInterface)<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   * @param spi the server that has the write lock<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   */<a name="line.332"></a>
-<span class="sourceLineNo">333</span>  public void releaseServerExclusiveLock(final ServerProcedureInterface spi) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    getRunQueue(spi.getServerName()).releaseExclusiveLock();<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>   * Try to acquire the read lock on the specified server.<a name="line.338"></a>
-<span class="sourceLineNo">339</span>   * @see #releaseServerSharedLock(ServerProcedureInterface)<a name="line.339"></a>
-<span class="sourceLineNo">340</span>   * @param spi Server to lock<a name="line.340"></a>
-<span class="sourceLineNo">341</span>   * @return true if we were able to acquire the lock on the server, otherwise false.<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   */<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  public boolean tryAcquireServerSharedLock(final ServerProcedureInterface spi) {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    return getRunQueueOrCreate(spi).trySharedLock();<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>   * Release the read lock taken<a name="line.348"></a>
-<span class="sourceLineNo">349</span>   * @see #tryAcquireServerSharedLock(ServerProcedureInterface)<a name="line.349"></a>
-<span class="sourceLineNo">350</span>   * @param spi the server that has the read lock<a name="line.350"></a>
-<span class="sourceLineNo">351</span>   */<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  public void releaseServerSharedLock(final ServerProcedureInterface spi) {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    getRunQueue(spi.getServerName()).releaseSharedLock();<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>   * Tries to remove the queue and the table-lock of the specified table.<a name="line.357"></a>
-<span class="sourceLineNo">358</span>   * If there are new operations pending (e.g. a new create),<a name="line.358"></a>
-<span class="sourceLineNo">359</span>   * the remove will not be performed.<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * @param table the name of the table that should be marked as deleted<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   * @return true if deletion succeeded, false otherwise meaning that there are<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   *    other new operations pending for that table (e.g. a new create).<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   */<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  protected boolean markTableAsDeleted(final TableName table) {<a name="line.364"></a>
-<span class="sourceLineNo">365</span>    TableRunQueue queue = getRunQueue(table);<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    if (queue != null) {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      lock.lock();<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      try {<a name="line.368"></a>
-<span class="sourceLineNo">369</span>        if (queue.isEmpty() &amp;&amp; queue.acquireDeleteLock()) {<a name="line.369"></a>
-<span class="sourceLineNo">370</span>          tableFairQ.remove(table);<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span>          // Remove the table lock<a name="line.372"></a>
-<span class="sourceLineNo">373</span>          try {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>            lockManager.tableDeleted(table);<a name="line.374"></a>
-<span class="sourceLineNo">375</span>          } catch (IOException e) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>            LOG.warn("Received exception from TableLockManager.tableDeleted:", e); //not critical<a name="line.376"></a>
-<span class="sourceLineNo">377</span>          }<a name="line.377"></a>
-<span class="sourceLineNo">378</span>        } else {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>          // TODO: If there are no create, we can drop all the other ops<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          return false;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>        }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      } finally {<a name="line.382"></a>
-<span class="sourceLineNo">383</span>        lock.unlock();<a name="line.383"></a>
-<span class="sourceLineNo">384</span>      }<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    }<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    return true;<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>  private interface RunQueue extends ProcedureFairRunQueues.FairObject {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    void addFront(Procedure proc);<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    void addBack(Procedure proc);<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    Long poll();<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    boolean acquireDeleteLock();<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>   * Base abstract class for RunQueue implementations.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   * Be careful honoring synchronizations in subclasses. In here we protect access but if you are<a name="line.398"></a>
-<span class="sourceLineNo">399</span>   * acting on a state found in here, be sure dependent code keeps synchronization.<a name="line.399"></a>
-<span class="sourceLineNo">400</span>   * Implements basic in-memory read/write locking mechanism to prevent procedure steps being run<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   * in parallel.<a name="line.401"></a>
-<span class="sourceLineNo">402</span>   */<a name="line.402"></a>
-<span class="sourceLineNo">403</span>  private static abstract class AbstractRunQueue implements RunQueue {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    // All modification of runnables happens with #lock held.<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    private final Deque&lt;Long&gt; runnables = new ArrayDeque&lt;Long&gt;();<a name="line.405"></a>
-<span class="sourceLineNo">406</span>    private final int priority;<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    private boolean exclusiveLock = false;<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    private int sharedLock = 0;<a name="line.408"></a>
-<span class="sourceLineNo">409</span><a name="line.409"></a>
-<span class="sourceLineNo">410</span>    public AbstractRunQueue(int priority) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      this.priority = priority;<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>    boolean isEmpty() {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      return this.runnables.isEmpty();<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    }<a name="line.416"></a>
-<span class="sourceLineNo">417</span><a name="line.417"></a>
-<span class="sourceLineNo">418</span>    @Override<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    public boolean isAvailable() {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      synchronized (this) {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>        return !exclusiveLock &amp;&amp; !runnables.isEmpty();<a name="line.421"></a>
-<span class="sourceLineNo">422</span>      }<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    }<a name="line.423"></a>
-<span class="sourceLineNo">424</span><a name="line.424"></a>
-<span class="sourceLineNo">425</span>    @Override<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    public int getPriority() {<a name="line.426"></a>
-<span class="sourceLineNo">427</span>      return this.priority;<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>    @Override<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    public void addFront(Procedure proc) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>      this.runnables.addFirst(proc.getProcId());<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>    @Override<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    public void addBack(Procedure proc) {<a name="line.436"></a>
-<span class="sourceLineNo">437</span>      this.runnables.addLast(proc.getProcId());<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>    @Override<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    public Long poll() {<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      return this.runnables.poll();<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>    @Override<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    public synchronized boolean acquireDeleteLock() {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>      return tryExclusiveLock();<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 synchronized boolean isLocked() {<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      return isExclusiveLock() || sharedLock &gt; 0;<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 synchronized boolean isExclusiveLock() {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      return this.exclusiveLock;<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 synchronized boolean trySharedLock() {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>      if (isExclusiveLock()) return false;<a name="line.459"></a>
-<span class="sourceLineNo">460</span>      sharedLock++;<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      return true;<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    }<a name="line.462"></a>
-<span class="sourceLineNo">463</span><a name="line.463"></a>
-<span class="sourceLineNo">464</span>    public synchronized void releaseSharedLock() {<a name="line.464"></a>
-<span class="sourceLineNo">465</span>      sharedLock--;<a name="line.465"></a>
-<span class="sourceLineNo">466</span>    }<a name="line.466"></a>
-<span class="sourceLineNo">467</span><a name="line.467"></a>
-<span class="sourceLineNo">468</span>    /**<a name="line.468"></a>
-<span class="sourceLineNo">469</span>     * @return True if only one instance of a shared lock outstanding.<a name="line.469"></a>
-<span class="sourceLineNo">470</span>     */<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    synchronized boolean isSingleSharedLock() {<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      return sharedLock == 1;<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    }<a name="line.473"></a>
-<span class="sourceLineNo">474</span><a name="line.474"></a>
-<span class="sourceLineNo">475</span>    public synchronized boolean tryExclusiveLock() {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      if (isLocked()) return false;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      exclusiveLock = true;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      return true;<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 synchronized void releaseExclusiveLock() {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>      exclusiveLock = false;<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    }<a name="line.483"></a>
-<span class="sourceLineNo">484</span><a name="line.484"></a>
-<span class="sourceLineNo">485</span>    @Override<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    public String toString() {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      return this.runnables.toString();<a name="line.487"></a>
-<span class="sourceLineNo">488</span>    }<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  }<a name="line.489"></a>
-<span class="sourceLineNo">490</span><a name="line.490"></a>
-<span class="sourceLineNo">491</span>  /**<a name="line.491"></a>
-<span class="sourceLineNo">492</span>   * Run Queue for Server procedures.<a name="line.492"></a>
-<span class="sourceLineNo">493</span>   */<a name="line.493"></a>
-<span class="sourceLineNo">494</span>  private static class ServerRunQueue extends AbstractRunQueue {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    public ServerRunQueue(int priority) {<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      super(priority);<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><a name="line.499"></a>
-<span class="sourceLineNo">500</span>  /**<a name="line.500"></a>
-<span class="sourceLineNo">501</span>   * Run Queue for a Table. It contains a read-write lock that is used by the<a name="line.501"></a>
-<span class="sourceLineNo">502</span>   * MasterProcedureQueue to decide if we should fetch an item from this queue<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * or skip to another one which will be able to run without waiting for locks.<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   */<a name="line.504"></a>
-<span class="sourceLineNo">505</span>  private static class TableRunQueue extends AbstractRunQueue {<a name="line.505"></a>
-<span class="sourceLineNo">506</span>    private TableLock tableLock = null;<a name="line.506"></a>
-<span class="sourceLineNo">507</span><a name="line.507"></a>
-<span class="sourceLineNo">508</span>    public TableRunQueue(int priority) {<a name="line.508"></a>
-<span class="sourceLineNo">509</span>      super(priority);<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    }<a name="line.510"></a>
-<span class="sourceLineNo">511</span><a name="line.511"></a>
-<span class="sourceLineNo">512</span>    // TODO: Improve run-queue push with TableProcedureInterface.getType()<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    //       we can take smart decisions based on the type of the operation (e.g. create/delete)<a name="line.513"></a>
-<span class="sourceLineNo">514</span>    @Override<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    public void addBack(final Procedure proc) {<a name="line.515"></a>
-<span class="sourceLineNo">516</span>      super.addBack(proc);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    }<a name="line.517"></a>
-<span class="sourceLineNo">518</span><a name="line.518"></a>
-<span class="sourceLineNo">519</span>    public synchronized boolean trySharedLock(final TableLockManager lockManager,<a name="line.519"></a>
-<span class="sourceLineNo">520</span>        final TableName tableName, final String purpose) {<a name="line.520"></a>
-<span class="sourceLineNo">521</span>      if (isExclusiveLock()) return false;<a name="line.521"></a>
-<span class="sourceLineNo">522</span><a name="line.522"></a>
-<span class="sourceLineNo">523</span>      // Take zk-read-lock<a name="line.523"></a>
-<span class="sourceLineNo">524</span>      tableLock = lockManager.readLock(tableName, purpose);<a name="line.524"></a>
-<span class="sourceLineNo">525</span>      try {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>        tableLock.acquire();<a name="line.526"></a>
-<span class="sourceLineNo">527</span>      } catch (IOException e) {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>        LOG.error("failed acquire read lock on " + tableName, e);<a name="line.528"></a>
-<span class="sourceLineNo">529</span>        tableLock = null;<a name="line.529"></a>
-<span class="sourceLineNo">530</span>        return false;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>      }<a name="line.531"></a>
-<span class="sourceLineNo">532</span>      trySharedLock();<a name="line.532"></a>
-<span class="sourceLineNo">533</span>      return true;<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 synchronized void releaseSharedLock(final TableLockManager lockManager,<a name="line.536"></a>
-<span class="sourceLineNo">537</span>        final TableName tableName) {<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      releaseTableLock(lockManager, isSingleSharedLock());<a name="line.538"></a>
-<span class="sourceLineNo">539</span>      releaseSharedLock();<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>    public synchronized boolean tryExclusiveLock(final TableLockManager lockManager,<a name="line.542"></a>
-<span class="sourceLineNo">543</span>        final TableName tableName, final String purpose) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      if (isLocked()) return false;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      // Take zk-write-lock<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      tableLock = lockManager.writeLock(tableName, purpose);<a name="line.546"></a>
-<span class="sourceLineNo">547</span>      try {<a name="line.547"></a>
-<span class="sourceLineNo">548</span>        tableLock.acquire();<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      } catch (IOException e) {<a name="line.549"></a>
-<span class="sourceLineNo">550</span>        LOG.error("failed acquire write lock on " + tableName, e);<a name="line.550"></a>
-<span class="sourceLineNo">551</span>        tableLock = null;<a name="line.551"></a>
-<span class="sourceLineNo">552</span>        return false;<a name="line.552"></a>
-<span class="sourceLineNo">553</span>      }<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      tryExclusiveLock();<a name="line.554"></a>
-<span class="sourceLineNo">555</span>      return true;<a name="line.555"></a>
-<span class="sourceLineNo">556</span>    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span><a name="line.557"></a>
-<span class="sourceLineNo">558</span>    public synchronized void releaseExclusiveLock(final TableLockManager lockManager,<a name="line.558"></a>
-<span class="sourceLineNo">559</span>        final TableName tableName) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      releaseTableLock(lockManager, true);<a name="line.560"></a>
-<span class="sourceLineNo">561</span>      releaseExclusiveLock();<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>    private void releaseTableLock(final TableLockManager lockManager, boolean reset) {<a name="line.564"></a>
-<span class="sourceLineNo">565</span>      for (int i = 0; i &lt; 3; ++i) {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>        try {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>          tableLock.release();<a name="line.567"></a>
-<span class="sourceLineNo">568</span>          if (reset) {<a name="line.568"></a>
-<span class="sourceLineNo">569</span>            tableLock = null;<a name="line.569"></a>
-<span class="sourceLineNo">570</span>          }<a name="line.570"></a>
-<span class="sourceLineNo">571</span>          break;<a name="line.571"></a>
-<span class="sourceLineNo">572</span>        } catch (IOException e) {<a name="line.572"></a>
-<span class="sourceLineNo">573</span>          LOG.warn("Could not release the table write-lock", e);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>        }<a name="line.574"></a>
-<span class="sourceLineNo">575</span>      }<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    }<a name="line.576"></a>
-<span class="sourceLineNo">577</span>  }<a name="line.577"></a>
-<span class="sourceLineNo">578</span>}<a name="line.578"></a>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</pre>
-</div>
-</body>
-</html>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html
index 58e6695..0928e9f 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html
@@ -35,7 +35,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
 <li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -207,7 +207,7 @@ public interface <a href="../../../../../../src-html/org/apache/hadoop/hbase/mas
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
 <li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.AbstractRunQueue.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.AbstractRunQueue.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.AbstractRunQueue.html
deleted file mode 100644
index a41072d..0000000
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.AbstractRunQueue.html
+++ /dev/null
@@ -1,163 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue.AbstractRunQueue (Apache HBase 2.0.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue.AbstractRunQueue (Apache HBase 2.0.0-SNAPSHOT API)";
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar_top">
-<!--   -->
-</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.AbstractRunQueue.html" target="_top">Frames</a></li>
-<li><a href="MasterProcedureQueue.AbstractRunQueue.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip-navbar_top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue.AbstractRunQueue" class="title">Uses of Class<br>org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue.AbstractRunQueue</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.AbstractRunQueue</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.hadoop.hbase.master.procedure">org.apache.hadoop.hbase.master.procedure</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.hadoop.hbase.master.procedure">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.AbstractRunQueue</a> in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a></h3>
-<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
-<caption><span>Subclasses of <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.AbstractRunQueue</a> in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>private static class&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.ServerRunQueue</a></strong></code>
-<div class="block">Run Queue for Server procedures.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private static class&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.TableRunQueue</a></strong></code>
-<div class="block">Run Queue for a Table.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar_bottom">
-<!--   -->
-</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.AbstractRunQueue.html" target="_top">Frames</a></li>
-<li><a href="MasterProcedureQueue.AbstractRunQueue.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip-navbar_bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.RunQueue.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.RunQueue.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.RunQueue.html
deleted file mode 100644
index 1a84c84..0000000
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.RunQueue.html
+++ /dev/null
@@ -1,214 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue.RunQueue (Apache HBase 2.0.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Uses of Interface org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue.RunQueue (Apache HBase 2.0.0-SNAPSHOT API)";
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar_top">
-<!--   -->
-</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.RunQueue.html" target="_top">Frames</a></li>
-<li><a href="MasterProcedureQueue.RunQueue.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip-navbar_top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Interface org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue.RunQueue" class="title">Uses of Interface<br>org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue.RunQueue</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.hadoop.hbase.master.procedure">org.apache.hadoop.hbase.master.procedure</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.hadoop.hbase.master.procedure">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a> in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a></h3>
-<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a> that implement <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>private static class&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.AbstractRunQueue</a></strong></code>
-<div class="block">Base abstract class for RunQueue implementations.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private static class&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.ServerRunQueue</a></strong></code>
-<div class="block">Run Queue for Server procedures.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private static class&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.TableRunQueue</a></strong></code>
-<div class="block">Run Queue for a Table.</div>
-</td>
-</tr>
-</tbody>
-</table>
-<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
-<caption><span>Fields in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a> with type parameters of type <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Field and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>,<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a>&gt;</code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#serverFairQ">serverFairQ</a></strong></code>
-<div class="block">Rely on basic fair q.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a>&gt;</code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#tableFairQ">tableFairQ</a></strong></code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a> that return <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a></code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#getRunQueueOrCreate(org.apache.hadoop.hbase.procedure2.Procedure)">getRunQueueOrCreate</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a> with parameters of type <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a></code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#doPoll(org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue.RunQueue)">doPoll</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a>&nbsp;rq)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar_bottom">
-<!--   -->
-</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.RunQueue.html" target="_top">Frames</a></li>
-<li><a href="MasterProcedureQueue.RunQueue.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip-navbar_bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.ServerRunQueue.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.ServerRunQueue.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.ServerRunQueue.html
deleted file mode 100644
index 5a64507..0000000
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.ServerRunQueue.html
+++ /dev/null
@@ -1,163 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue.ServerRunQueue (Apache HBase 2.0.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue.ServerRunQueue (Apache HBase 2.0.0-SNAPSHOT API)";
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar_top">
-<!--   -->
-</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.ServerRunQueue.html" target="_top">Frames</a></li>
-<li><a href="MasterProcedureQueue.ServerRunQueue.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip-navbar_top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue.ServerRunQueue" class="title">Uses of Class<br>org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue.ServerRunQueue</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.ServerRunQueue</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.hadoop.hbase.master.procedure">org.apache.hadoop.hbase.master.procedure</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.hadoop.hbase.master.procedure">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.ServerRunQueue</a> in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a></h3>
-<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a> that return <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.ServerRunQueue</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.ServerRunQueue</a></code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#createServerRunQueue(org.apache.hadoop.hbase.master.procedure.ServerProcedureInterface)">createServerRunQueue</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface</a>&nbsp;spi)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.ServerRunQueue</a></code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#getRunQueue(org.apache.hadoop.hbase.ServerName)">getRunQueue</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.ServerRunQueue</a></code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#getRunQueueOrCreate(org.apache.hadoop.hbase.master.procedure.ServerProcedureInterface)">getRunQueueOrCreate</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface</a>&nbsp;spi)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar_bottom">
-<!--   -->
-</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.ServerRunQueue.html" target="_top">Frames</a></li>
-<li><a href="MasterProcedureQueue.ServerRunQueue.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip-navbar_bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.TableRunQueue.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.TableRunQueue.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.TableRunQueue.html
deleted file mode 100644
index 09f45d2..0000000
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.TableRunQueue.html
+++ /dev/null
@@ -1,163 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue.TableRunQueue (Apache HBase 2.0.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue.TableRunQueue (Apache HBase 2.0.0-SNAPSHOT API)";
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar_top">
-<!--   -->
-</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.TableRunQueue.html" target="_top">Frames</a></li>
-<li><a href="MasterProcedureQueue.TableRunQueue.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip-navbar_top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue.TableRunQueue" class="title">Uses of Class<br>org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue.TableRunQueue</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.TableRunQueue</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.hadoop.hbase.master.procedure">org.apache.hadoop.hbase.master.procedure</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.hadoop.hbase.master.procedure">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.TableRunQueue</a> in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a></h3>
-<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a> that return <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.TableRunQueue</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.TableRunQueue</a></code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#createTableRunQueue(org.apache.hadoop.hbase.TableName)">createTableRunQueue</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.TableRunQueue</a></code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#getRunQueue(org.apache.hadoop.hbase.TableName)">getRunQueue</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.TableRunQueue</a></code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#getRunQueueOrCreate(org.apache.hadoop.hbase.TableName)">getRunQueueOrCreate</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar_bottom">
-<!--   -->
-</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.TableRunQueue.html" target="_top">Frames</a></li>
-<li><a href="MasterProcedureQueue.TableRunQueue.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip-navbar_bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.html
deleted file mode 100644
index 7129e51..0000000
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.html
+++ /dev/null
@@ -1,168 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue (Apache HBase 2.0.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue (Apache HBase 2.0.0-SNAPSHOT API)";
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar_top">
-<!--   -->
-</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.html" target="_top">Frames</a></li>
-<li><a href="MasterProcedureQueue.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip-navbar_top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue" class="title">Uses of Class<br>org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.hadoop.hbase.master.procedure">org.apache.hadoop.hbase.master.procedure</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.hadoop.hbase.master.procedure">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a> in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a></h3>
-<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
-<caption><span>Fields in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a> declared as <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Field and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a></code></td>
-<td class="colLast"><span class="strong">MasterProcedureEnv.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#procQueue">procQueue</a></strong></code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a> that return <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a></code></td>
-<td class="colLast"><span class="strong">MasterProcedureEnv.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#getProcedureQueue()">getProcedureQueue</a></strong>()</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar_bottom">
-<!--   -->
-</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.html" target="_top">Frames</a></li>
-<li><a href="MasterProcedureQueue.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip-navbar_bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.AvlTree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.AvlTree.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.AvlTree.html
new file mode 100644
index 0000000..61a7b6d
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.AvlTree.html
@@ -0,0 +1,115 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.AvlTree (Apache HBase 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.AvlTree (Apache HBase 2.0.0-SNAPSHOT API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html" title="class in org.apache.hadoop.hbase.master.procedure">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.AvlTree.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.AvlTree.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.AvlTree" class="title">Uses of Class<br>org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.AvlTree</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.AvlTree</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html" title="class in org.apache.hadoop.hbase.master.procedure">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.AvlTree.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.AvlTree.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip-navbar_bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.FairQueue.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.FairQueue.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.FairQueue.html
new file mode 100644
index 0000000..6ba4289
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.FairQueue.html
@@ -0,0 +1,194 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.FairQueue (Apache HBase 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.FairQueue (Apache HBase 2.0.0-SNAPSHOT API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.FairQueue.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.FairQueue.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.FairQueue" class="title">Uses of Class<br>org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.FairQueue</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.master.procedure">org.apache.hadoop.hbase.master.procedure</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.hadoop.hbase.master.procedure">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a> in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a></h3>
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a> declared as <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#serverRunQueue">serverRunQueue</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#tableRunQueue">tableRunQueue</a></strong></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a> with parameters of type <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>private &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br>void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#addToRunQueue(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.FairQueue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">addToRunQueue</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a>&lt;T&gt;&nbsp;fairq,
+                          <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;queue)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br>void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#clear(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.FairQueue)">clear</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;treeMap,
+          <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a>&lt;T&gt;&nbsp;fairq)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br>void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#doAdd(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.FairQueue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20org.apache.hadoop.hbase.procedure2.Procedure,%20boolean)">doAdd</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a>&lt;T&gt;&nbsp;fairq,
+          <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;queue,
+          <a href="../../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc,
+          boolean&nbsp;addFront)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#doPoll(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.FairQueue)">doPoll</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a>&lt;T&gt;&nbsp;fairq)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br>void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#removeFromRunQueue(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.FairQueue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">removeFromRunQueue</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a>&lt;T&gt;&nbsp;fairq,
+                                    <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;queue)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.FairQueue.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.FairQueue.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip-navbar_bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.IterableList.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.IterableList.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.IterableList.html
new file mode 100644
index 0000000..2090956
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.IterableList.html
@@ -0,0 +1,115 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.IterableList (Apache HBase 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.IterableList (Apache HBase 2.0.0-SNAPSHOT API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html" title="class in org.apache.hadoop.hbase.master.procedure">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.IterableList.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.IterableList.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.IterableList" class="title">Uses of Class<br>org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.IterableList</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.IterableList</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html" title="class in org.apache.hadoop.hbase.master.procedure">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.IterableList.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.IterableList.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip-navbar_bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html
index 33c3cf4..20f6d32 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html
@@ -1421,7 +1421,7 @@
 <span class="sourceLineNo">1413</span>              }<a name="line.1413"></a>
 <span class="sourceLineNo">1414</span>              saslServer = Sasl.createSaslServer(AuthMethod.DIGEST<a name="line.1414"></a>
 <span class="sourceLineNo">1415</span>                  .getMechanismName(), null, SaslUtil.SASL_DEFAULT_REALM,<a name="line.1415"></a>
-<span class="sourceLineNo">1416</span>                  SaslUtil.SASL_PROPS, new SaslDigestCallbackHandler(<a name="line.1416"></a>
+<span class="sourceLineNo">1416</span>                  HBaseSaslRpcServer.getSaslProps(), new SaslDigestCallbackHandler(<a name="line.1416"></a>
 <span class="sourceLineNo">1417</span>                      secretManager, this));<a name="line.1417"></a>
 <span class="sourceLineNo">1418</span>              break;<a name="line.1418"></a>
 <span class="sourceLineNo">1419</span>            default:<a name="line.1419"></a>
@@ -1441,7 +1441,7 @@
 <span class="sourceLineNo">1433</span>                public Object run() throws SaslException {<a name="line.1433"></a>
 <span class="sourceLineNo">1434</span>                  saslServer = Sasl.createSaslServer(AuthMethod.KERBEROS<a name="line.1434"></a>
 <span class="sourceLineNo">1435</span>                      .getMechanismName(), names[0], names[1],<a name="line.1435"></a>
-<span class="sourceLineNo">1436</span>                      SaslUtil.SASL_PROPS, new SaslGssCallbackHandler());<a name="line.1436"></a>
+<span class="sourceLineNo">1436</span>                      HBaseSaslRpcServer.getSaslProps(), new SaslGssCallbackHandler());<a name="line.1436"></a>
 <span class="sourceLineNo">1437</span>                  return null;<a name="line.1437"></a>
 <span class="sourceLineNo">1438</span>                }<a name="line.1438"></a>
 <span class="sourceLineNo">1439</span>              });<a name="line.1439"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html
index 33c3cf4..20f6d32 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html
@@ -1421,7 +1421,7 @@
 <span class="sourceLineNo">1413</span>              }<a name="line.1413"></a>
 <span class="sourceLineNo">1414</span>              saslServer = Sasl.createSaslServer(AuthMethod.DIGEST<a name="line.1414"></a>
 <span class="sourceLineNo">1415</span>                  .getMechanismName(), null, SaslUtil.SASL_DEFAULT_REALM,<a name="line.1415"></a>
-<span class="sourceLineNo">1416</span>                  SaslUtil.SASL_PROPS, new SaslDigestCallbackHandler(<a name="line.1416"></a>
+<span class="sourceLineNo">1416</span>                  HBaseSaslRpcServer.getSaslProps(), new SaslDigestCallbackHandler(<a name="line.1416"></a>
 <span class="sourceLineNo">1417</span>                      secretManager, this));<a name="line.1417"></a>
 <span class="sourceLineNo">1418</span>              break;<a name="line.1418"></a>
 <span class="sourceLineNo">1419</span>            default:<a name="line.1419"></a>
@@ -1441,7 +1441,7 @@
 <span class="sourceLineNo">1433</span>                public Object run() throws SaslException {<a name="line.1433"></a>
 <span class="sourceLineNo">1434</span>                  saslServer = Sasl.createSaslServer(AuthMethod.KERBEROS<a name="line.1434"></a>
 <span class="sourceLineNo">1435</span>                      .getMechanismName(), names[0], names[1],<a name="line.1435"></a>
-<span class="sourceLineNo">1436</span>                      SaslUtil.SASL_PROPS, new SaslGssCallbackHandler());<a name="line.1436"></a>
+<span class="sourceLineNo">1436</span>                      HBaseSaslRpcServer.getSaslProps(), new SaslGssCallbackHandler());<a name="line.1436"></a>
 <span class="sourceLineNo">1437</span>                  return null;<a name="line.1437"></a>
 <span class="sourceLineNo">1438</span>                }<a name="line.1438"></a>
 <span class="sourceLineNo">1439</span>              });<a name="line.1439"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.CallQueueTooBigException.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.CallQueueTooBigException.html b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.CallQueueTooBigException.html
index 33c3cf4..20f6d32 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.CallQueueTooBigException.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.CallQueueTooBigException.html
@@ -1421,7 +1421,7 @@
 <span class="sourceLineNo">1413</span>              }<a name="line.1413"></a>
 <span class="sourceLineNo">1414</span>              saslServer = Sasl.createSaslServer(AuthMethod.DIGEST<a name="line.1414"></a>
 <span class="sourceLineNo">1415</span>                  .getMechanismName(), null, SaslUtil.SASL_DEFAULT_REALM,<a name="line.1415"></a>
-<span class="sourceLineNo">1416</span>                  SaslUtil.SASL_PROPS, new SaslDigestCallbackHandler(<a name="line.1416"></a>
+<span class="sourceLineNo">1416</span>                  HBaseSaslRpcServer.getSaslProps(), new SaslDigestCallbackHandler(<a name="line.1416"></a>
 <span class="sourceLineNo">1417</span>                      secretManager, this));<a name="line.1417"></a>
 <span class="sourceLineNo">1418</span>              break;<a name="line.1418"></a>
 <span class="sourceLineNo">1419</span>            default:<a name="line.1419"></a>
@@ -1441,7 +1441,7 @@
 <span class="sourceLineNo">1433</span>                public Object run() throws SaslException {<a name="line.1433"></a>
 <span class="sourceLineNo">1434</span>                  saslServer = Sasl.createSaslServer(AuthMethod.KERBEROS<a name="line.1434"></a>
 <span class="sourceLineNo">1435</span>                      .getMechanismName(), names[0], names[1],<a name="line.1435"></a>
-<span class="sourceLineNo">1436</span>                      SaslUtil.SASL_PROPS, new SaslGssCallbackHandler());<a name="line.1436"></a>
+<span class="sourceLineNo">1436</span>                      HBaseSaslRpcServer.getSaslProps(), new SaslGssCallbackHandler());<a name="line.1436"></a>
 <span class="sourceLineNo">1437</span>                  return null;<a name="line.1437"></a>
 <span class="sourceLineNo">1438</span>                }<a name="line.1438"></a>
 <span class="sourceLineNo">1439</span>              });<a name="line.1439"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html
index 33c3cf4..20f6d32 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html
@@ -1421,7 +1421,7 @@
 <span class="sourceLineNo">1413</span>              }<a name="line.1413"></a>
 <span class="sourceLineNo">1414</span>              saslServer = Sasl.createSaslServer(AuthMethod.DIGEST<a name="line.1414"></a>
 <span class="sourceLineNo">1415</span>                  .getMechanismName(), null, SaslUtil.SASL_DEFAULT_REALM,<a name="line.1415"></a>
-<span class="sourceLineNo">1416</span>                  SaslUtil.SASL_PROPS, new SaslDigestCallbackHandler(<a name="line.1416"></a>
+<span class="sourceLineNo">1416</span>                  HBaseSaslRpcServer.getSaslProps(), new SaslDigestCallbackHandler(<a name="line.1416"></a>
 <span class="sourceLineNo">1417</span>                      secretManager, this));<a name="line.1417"></a>
 <span class="sourceLineNo">1418</span>              break;<a name="line.1418"></a>
 <span class="sourceLineNo">1419</span>            default:<a name="line.1419"></a>
@@ -1441,7 +1441,7 @@
 <span class="sourceLineNo">1433</span>                public Object run() throws SaslException {<a name="line.1433"></a>
 <span class="sourceLineNo">1434</span>                  saslServer = Sasl.createSaslServer(AuthMethod.KERBEROS<a name="line.1434"></a>
 <span class="sourceLineNo">1435</span>                      .getMechanismName(), names[0], names[1],<a name="line.1435"></a>
-<span class="sourceLineNo">1436</span>                      SaslUtil.SASL_PROPS, new SaslGssCallbackHandler());<a name="line.1436"></a>
+<span class="sourceLineNo">1436</span>                      HBaseSaslRpcServer.getSaslProps(), new SaslGssCallbackHandler());<a name="line.1436"></a>
 <span class="sourceLineNo">1437</span>                  return null;<a name="line.1437"></a>
 <span class="sourceLineNo">1438</span>                }<a name="line.1438"></a>
 <span class="sourceLineNo">1439</span>              });<a name="line.1439"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html
index 33c3cf4..20f6d32 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html
@@ -1421,7 +1421,7 @@
 <span class="sourceLineNo">1413</span>              }<a name="line.1413"></a>
 <span class="sourceLineNo">1414</span>              saslServer = Sasl.createSaslServer(AuthMethod.DIGEST<a name="line.1414"></a>
 <span class="sourceLineNo">1415</span>                  .getMechanismName(), null, SaslUtil.SASL_DEFAULT_REALM,<a name="line.1415"></a>
-<span class="sourceLineNo">1416</span>                  SaslUtil.SASL_PROPS, new SaslDigestCallbackHandler(<a name="line.1416"></a>
+<span class="sourceLineNo">1416</span>                  HBaseSaslRpcServer.getSaslProps(), new SaslDigestCallbackHandler(<a name="line.1416"></a>
 <span class="sourceLineNo">1417</span>                      secretManager, this));<a name="line.1417"></a>
 <span class="sourceLineNo">1418</span>              break;<a name="line.1418"></a>
 <span class="sourceLineNo">1419</span>            default:<a name="line.1419"></a>
@@ -1441,7 +1441,7 @@
 <span class="sourceLineNo">1433</span>                public Object run() throws SaslException {<a name="line.1433"></a>
 <span class="sourceLineNo">1434</span>                  saslServer = Sasl.createSaslServer(AuthMethod.KERBEROS<a name="line.1434"></a>
 <span class="sourceLineNo">1435</span>                      .getMechanismName(), names[0], names[1],<a name="line.1435"></a>
-<span class="sourceLineNo">1436</span>                      SaslUtil.SASL_PROPS, new SaslGssCallbackHandler());<a name="line.1436"></a>
+<span class="sourceLineNo">1436</span>                      HBaseSaslRpcServer.getSaslProps(), new SaslGssCallbackHandler());<a name="line.1436"></a>
 <span class="sourceLineNo">1437</span>                  return null;<a name="line.1437"></a>
 <span class="sourceLineNo">1438</span>                }<a name="line.1438"></a>
 <span class="sourceLineNo">1439</span>              });<a name="line.1439"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html
index 33c3cf4..20f6d32 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html
@@ -1421,7 +1421,7 @@
 <span class="sourceLineNo">1413</span>              }<a name="line.1413"></a>
 <span class="sourceLineNo">1414</span>              saslServer = Sasl.createSaslServer(AuthMethod.DIGEST<a name="line.1414"></a>
 <span class="sourceLineNo">1415</span>                  .getMechanismName(), null, SaslUtil.SASL_DEFAULT_REALM,<a name="line.1415"></a>
-<span class="sourceLineNo">1416</span>                  SaslUtil.SASL_PROPS, new SaslDigestCallbackHandler(<a name="line.1416"></a>
+<span class="sourceLineNo">1416</span>                  HBaseSaslRpcServer.getSaslProps(), new SaslDigestCallbackHandler(<a name="line.1416"></a>
 <span class="sourceLineNo">1417</span>                      secretManager, this));<a name="line.1417"></a>
 <span class="sourceLineNo">1418</span>              break;<a name="line.1418"></a>
 <span class="sourceLineNo">1419</span>            default:<a name="line.1419"></a>
@@ -1441,7 +1441,7 @@
 <span class="sourceLineNo">1433</span>                public Object run() throws SaslException {<a name="line.1433"></a>
 <span class="sourceLineNo">1434</span>                  saslServer = Sasl.createSaslServer(AuthMethod.KERBEROS<a name="line.1434"></a>
 <span class="sourceLineNo">1435</span>                      .getMechanismName(), names[0], names[1],<a name="line.1435"></a>
-<span class="sourceLineNo">1436</span>                      SaslUtil.SASL_PROPS, new SaslGssCallbackHandler());<a name="line.1436"></a>
+<span class="sourceLineNo">1436</span>                      HBaseSaslRpcServer.getSaslProps(), new SaslGssCallbackHandler());<a name="line.1436"></a>
 <span class="sourceLineNo">1437</span>                  return null;<a name="line.1437"></a>
 <span class="sourceLineNo">1438</span>                }<a name="line.1438"></a>
 <span class="sourceLineNo">1439</span>              });<a name="line.1439"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html
index 33c3cf4..20f6d32 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html
@@ -1421,7 +1421,7 @@
 <span class="sourceLineNo">1413</span>              }<a name="line.1413"></a>
 <span class="sourceLineNo">1414</span>              saslServer = Sasl.createSaslServer(AuthMethod.DIGEST<a name="line.1414"></a>
 <span class="sourceLineNo">1415</span>                  .getMechanismName(), null, SaslUtil.SASL_DEFAULT_REALM,<a name="line.1415"></a>
-<span class="sourceLineNo">1416</span>                  SaslUtil.SASL_PROPS, new SaslDigestCallbackHandler(<a name="line.1416"></a>
+<span class="sourceLineNo">1416</span>                  HBaseSaslRpcServer.getSaslProps(), new SaslDigestCallbackHandler(<a name="line.1416"></a>
 <span class="sourceLineNo">1417</span>                      secretManager, this));<a name="line.1417"></a>
 <span class="sourceLineNo">1418</span>              break;<a name="line.1418"></a>
 <span class="sourceLineNo">1419</span>            default:<a name="line.1419"></a>
@@ -1441,7 +1441,7 @@
 <span class="sourceLineNo">1433</span>                public Object run() throws SaslException {<a name="line.1433"></a>
 <span class="sourceLineNo">1434</span>                  saslServer = Sasl.createSaslServer(AuthMethod.KERBEROS<a name="line.1434"></a>
 <span class="sourceLineNo">1435</span>                      .getMechanismName(), names[0], names[1],<a name="line.1435"></a>
-<span class="sourceLineNo">1436</span>                      SaslUtil.SASL_PROPS, new SaslGssCallbackHandler());<a name="line.1436"></a>
+<span class="sourceLineNo">1436</span>                      HBaseSaslRpcServer.getSaslProps(), new SaslGssCallbackHandler());<a name="line.1436"></a>
 <span class="sourceLineNo">1437</span>                  return null;<a name="line.1437"></a>
 <span class="sourceLineNo">1438</span>                }<a name="line.1438"></a>
 <span class="sourceLineNo">1439</span>              });<a name="line.1439"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.html b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.html
index 33c3cf4..20f6d32 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.html
@@ -1421,7 +1421,7 @@
 <span class="sourceLineNo">1413</span>              }<a name="line.1413"></a>
 <span class="sourceLineNo">1414</span>              saslServer = Sasl.createSaslServer(AuthMethod.DIGEST<a name="line.1414"></a>
 <span class="sourceLineNo">1415</span>                  .getMechanismName(), null, SaslUtil.SASL_DEFAULT_REALM,<a name="line.1415"></a>
-<span class="sourceLineNo">1416</span>                  SaslUtil.SASL_PROPS, new SaslDigestCallbackHandler(<a name="line.1416"></a>
+<span class="sourceLineNo">1416</span>                  HBaseSaslRpcServer.getSaslProps(), new SaslDigestCallbackHandler(<a name="line.1416"></a>
 <span class="sourceLineNo">1417</span>                      secretManager, this));<a name="line.1417"></a>
 <span class="sourceLineNo">1418</span>              break;<a name="line.1418"></a>
 <span class="sourceLineNo">1419</span>            default:<a name="line.1419"></a>
@@ -1441,7 +1441,7 @@
 <span class="sourceLineNo">1433</span>                public Object run() throws SaslException {<a name="line.1433"></a>
 <span class="sourceLineNo">1434</span>                  saslServer = Sasl.createSaslServer(AuthMethod.KERBEROS<a name="line.1434"></a>
 <span class="sourceLineNo">1435</span>                      .getMechanismName(), names[0], names[1],<a name="line.1435"></a>
-<span class="sourceLineNo">1436</span>                      SaslUtil.SASL_PROPS, new SaslGssCallbackHandler());<a name="line.1436"></a>
+<span class="sourceLineNo">1436</span>                      HBaseSaslRpcServer.getSaslProps(), new SaslGssCallbackHandler());<a name="line.1436"></a>
 <span class="sourceLineNo">1437</span>                  return null;<a name="line.1437"></a>
 <span class="sourceLineNo">1438</span>                }<a name="line.1438"></a>
 <span class="sourceLineNo">1439</span>              });<a name="line.1439"></a>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/security/class-use/AuthMethod.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/class-use/AuthMethod.html b/devapidocs/org/apache/hadoop/hbase/security/class-use/AuthMethod.html
index a756f5f..cb4b704 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/class-use/AuthMethod.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/class-use/AuthMethod.html
@@ -207,9 +207,7 @@ the order they are declared.</div>
                                   boolean&nbsp;fallbackAllowed,
                                   <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;rpcProtection,
                                   <a href="../../../../../../org/apache/hadoop/hbase/security/SaslClientHandler.SaslExceptionHandler.html" title="interface in org.apache.hadoop.hbase.security">SaslClientHandler.SaslExceptionHandler</a>&nbsp;exceptionHandler,
-                                  <a href="../../../../../../org/apache/hadoop/hbase/security/SaslClientHandler.SaslSuccessfulConnectHandler.html" title="interface in org.apache.hadoop.hbase.security">SaslClientHandler.SaslSuccessfulConnectHandler</a>&nbsp;successfulConnectHandler)</code>
-<div class="block">Constructor</div>
-</td>
+                                  <a href="../../../../../../org/apache/hadoop/hbase/security/SaslClientHandler.SaslSuccessfulConnectHandler.html" title="interface in org.apache.hadoop.hbase.security">SaslClientHandler.SaslSuccessfulConnectHandler</a>&nbsp;successfulConnectHandler)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/security/class-use/SaslClientHandler.SaslExceptionHandler.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/class-use/SaslClientHandler.SaslExceptionHandler.html b/devapidocs/org/apache/hadoop/hbase/security/class-use/SaslClientHandler.SaslExceptionHandler.html
index f403438..6ba471e 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/class-use/SaslClientHandler.SaslExceptionHandler.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/class-use/SaslClientHandler.SaslExceptionHandler.html
@@ -114,9 +114,7 @@
                                   boolean&nbsp;fallbackAllowed,
                                   <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;rpcProtection,
                                   <a href="../../../../../../org/apache/hadoop/hbase/security/SaslClientHandler.SaslExceptionHandler.html" title="interface in org.apache.hadoop.hbase.security">SaslClientHandler.SaslExceptionHandler</a>&nbsp;exceptionHandler,
-                                  <a href="../../../../../../org/apache/hadoop/hbase/security/SaslClientHandler.SaslSuccessfulConnectHandler.html" title="interface in org.apache.hadoop.hbase.security">SaslClientHandler.SaslSuccessfulConnectHandler</a>&nbsp;successfulConnectHandler)</code>
-<div class="block">Constructor</div>
-</td>
+                                  <a href="../../../../../../org/apache/hadoop/hbase/security/SaslClientHandler.SaslSuccessfulConnectHandler.html" title="interface in org.apache.hadoop.hbase.security">SaslClientHandler.SaslSuccessfulConnectHandler</a>&nbsp;successfulConnectHandler)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/security/class-use/SaslClientHandler.SaslSuccessfulConnectHandler.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/class-use/SaslClientHandler.SaslSuccessfulConnectHandler.html b/devapidocs/org/apache/hadoop/hbase/security/class-use/SaslClientHandler.SaslSuccessfulConnectHandler.html
index a6f621f..7428426 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/class-use/SaslClientHandler.SaslSuccessfulConnectHandler.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/class-use/SaslClientHandler.SaslSuccessfulConnectHandler.html
@@ -114,9 +114,7 @@
                                   boolean&nbsp;fallbackAllowed,
                                   <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;rpcProtection,
                                   <a href="../../../../../../org/apache/hadoop/hbase/security/SaslClientHandler.SaslExceptionHandler.html" title="interface in org.apache.hadoop.hbase.security">SaslClientHandler.SaslExceptionHandler</a>&nbsp;exceptionHandler,
-                                  <a href="../../../../../../org/apache/hadoop/hbase/security/SaslClientHandler.SaslSuccessfulConnectHandler.html" title="interface in org.apache.hadoop.hbase.security">SaslClientHandler.SaslSuccessfulConnectHandler</a>&nbsp;successfulConnectHandler)</code>
-<div class="block">Constructor</div>
-</td>
+                                  <a href="../../../../../../org/apache/hadoop/hbase/security/SaslClientHandler.SaslSuccessfulConnectHandler.html" title="interface in org.apache.hadoop.hbase.security">SaslClientHandler.SaslSuccessfulConnectHandler</a>&nbsp;successfulConnectHandler)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/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 cfd1df0..92b652b 100644
--- a/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
@@ -159,8 +159,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/ThriftServerRunner.ImplType.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="strong">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="strong">ThriftMetrics.ThriftServerType</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="strong">ThriftServerRunner.ImplType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="strong">MetricsThriftServerSourceFactoryImpl.FactoryStorage</span></a></li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
index fcac908..cfa167b 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
@@ -379,58 +379,58 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.110">m_master</a></pre>
 </li>
 </ul>
-<a name="m_deadServers">
+<a name="m_catalogJanitorEnabled">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_deadServers</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.122">m_deadServers</a></pre>
+<h4>m_catalogJanitorEnabled</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.122">m_catalogJanitorEnabled</a></pre>
 </li>
 </ul>
-<a name="m_deadServers__IsNotDefault">
+<a name="m_catalogJanitorEnabled__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_deadServers__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.127">m_deadServers__IsNotDefault</a></pre>
+<h4>m_catalogJanitorEnabled__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.127">m_catalogJanitorEnabled__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_servers">
+<a name="m_filter">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_servers</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.139">m_servers</a></pre>
+<h4>m_filter</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.139">m_filter</a></pre>
 </li>
 </ul>
-<a name="m_servers__IsNotDefault">
+<a name="m_filter__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_servers__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.144">m_servers__IsNotDefault</a></pre>
+<h4>m_filter__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.144">m_filter__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_frags">
+<a name="m_metaLocation">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_frags</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.156">m_frags</a></pre>
+<h4>m_metaLocation</h4>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.156">m_metaLocation</a></pre>
 </li>
 </ul>
-<a name="m_frags__IsNotDefault">
+<a name="m_metaLocation__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_frags__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.161">m_frags__IsNotDefault</a></pre>
+<h4>m_metaLocation__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.161">m_metaLocation__IsNotDefault</a></pre>
 </li>
 </ul>
 <a name="m_serverManager">
@@ -451,76 +451,76 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.178">m_serverManager__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_format">
+<a name="m_deadServers">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_format</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.190">m_format</a></pre>
+<h4>m_deadServers</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.190">m_deadServers</a></pre>
 </li>
 </ul>
-<a name="m_format__IsNotDefault">
+<a name="m_deadServers__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_format__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.195">m_format__IsNotDefault</a></pre>
+<h4>m_deadServers__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.195">m_deadServers__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_catalogJanitorEnabled">
+<a name="m_frags">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_catalogJanitorEnabled</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.207">m_catalogJanitorEnabled</a></pre>
+<h4>m_frags</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.207">m_frags</a></pre>
 </li>
 </ul>
-<a name="m_catalogJanitorEnabled__IsNotDefault">
+<a name="m_frags__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_catalogJanitorEnabled__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.212">m_catalogJanitorEnabled__IsNotDefault</a></pre>
+<h4>m_frags__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.212">m_frags__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_filter">
+<a name="m_format">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_filter</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.224">m_filter</a></pre>
+<h4>m_format</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.224">m_format</a></pre>
 </li>
 </ul>
-<a name="m_filter__IsNotDefault">
+<a name="m_format__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_filter__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.229">m_filter__IsNotDefault</a></pre>
+<h4>m_format__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.229">m_format__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_metaLocation">
+<a name="m_servers">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_metaLocation</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.241">m_metaLocation</a></pre>
+<h4>m_servers</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.241">m_servers</a></pre>
 </li>
 </ul>
-<a name="m_metaLocation__IsNotDefault">
+<a name="m_servers__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_metaLocation__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.246">m_metaLocation__IsNotDefault</a></pre>
+<h4>m_servers__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.246">m_servers__IsNotDefault</a></pre>
 </li>
 </ul>
 <a name="m_assignmentManager">
@@ -584,85 +584,85 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>public&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/tmpl/master/MasterStatusTmpl.ImplData.html#line.106">getMaster</a>()</pre>
 </li>
 </ul>
-<a name="setDeadServers(java.util.Set)">
+<a name="setCatalogJanitorEnabled(boolean)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setDeadServers</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.112">setDeadServers</a>(<a href="http://docs.oracle.com/javase/7/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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;deadServers)</pre>
+<h4>setCatalogJanitorEnabled</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.112">setCatalogJanitorEnabled</a>(boolean&nbsp;catalogJanitorEnabled)</pre>
 </li>
 </ul>
-<a name="getDeadServers()">
+<a name="getCatalogJanitorEnabled()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getDeadServers</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.118">getDeadServers</a>()</pre>
+<h4>getCatalogJanitorEnabled</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.118">getCatalogJanitorEnabled</a>()</pre>
 </li>
 </ul>
-<a name="getDeadServers__IsNotDefault()">
+<a name="getCatalogJanitorEnabled__IsNotDefault()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getDeadServers__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.123">getDeadServers__IsNotDefault</a>()</pre>
+<h4>getCatalogJanitorEnabled__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.123">getCatalogJanitorEnabled__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setServers(java.util.List)">
+<a name="setFilter(java.lang.String)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setServers</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.129">setServers</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;servers)</pre>
+<h4>setFilter</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.129">setFilter</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filter)</pre>
 </li>
 </ul>
-<a name="getServers()">
+<a name="getFilter()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getServers</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/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/tmpl/master/MasterStatusTmpl.ImplData.html#line.135">getServers</a>()</pre>
+<h4>getFilter</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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/tmpl/master/MasterStatusTmpl.ImplData.html#line.135">getFilter</a>()</pre>
 </li>
 </ul>
-<a name="getServers__IsNotDefault()">
+<a name="getFilter__IsNotDefault()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getServers__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.140">getServers__IsNotDefault</a>()</pre>
+<h4>getFilter__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.140">getFilter__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setFrags(java.util.Map)">
+<a name="setMetaLocation(org.apache.hadoop.hbase.ServerName)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFrags</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.146">setFrags</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;frags)</pre>
+<h4>setMetaLocation</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.146">setMetaLocation</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;metaLocation)</pre>
 </li>
 </ul>
-<a name="getFrags()">
+<a name="getMetaLocation()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFrags</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/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/tmpl/master/MasterStatusTmpl.ImplData.html#line.152">getFrags</a>()</pre>
+<h4>getMetaLocation</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/tmpl/master/MasterStatusTmpl.ImplData.html#line.152">getMetaLocation</a>()</pre>
 </li>
 </ul>
-<a name="getFrags__IsNotDefault()">
+<a name="getMetaLocation__IsNotDefault()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFrags__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.157">getFrags__IsNotDefault</a>()</pre>
+<h4>getMetaLocation__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.157">getMetaLocation__IsNotDefault</a>()</pre>
 </li>
 </ul>
 <a name="setServerManager(org.apache.hadoop.hbase.master.ServerManager)">
@@ -692,112 +692,112 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.174">getServerManager__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setFormat(java.lang.String)">
+<a name="setDeadServers(java.util.Set)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFormat</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.180">setFormat</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;format)</pre>
+<h4>setDeadServers</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.180">setDeadServers</a>(<a href="http://docs.oracle.com/javase/7/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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;deadServers)</pre>
 </li>
 </ul>
-<a name="getFormat()">
+<a name="getDeadServers()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFormat</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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/tmpl/master/MasterStatusTmpl.ImplData.html#line.186">getFormat</a>()</pre>
+<h4>getDeadServers</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.186">getDeadServers</a>()</pre>
 </li>
 </ul>
-<a name="getFormat__IsNotDefault()">
+<a name="getDeadServers__IsNotDefault()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFormat__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.191">getFormat__IsNotDefault</a>()</pre>
+<h4>getDeadServers__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.191">getDeadServers__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setCatalogJanitorEnabled(boolean)">
+<a name="setFrags(java.util.Map)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setCatalogJanitorEnabled</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.197">setCatalogJanitorEnabled</a>(boolean&nbsp;catalogJanitorEnabled)</pre>
+<h4>setFrags</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.197">setFrags</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;frags)</pre>
 </li>
 </ul>
-<a name="getCatalogJanitorEnabled()">
+<a name="getFrags()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getCatalogJanitorEnabled</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.203">getCatalogJanitorEnabled</a>()</pre>
+<h4>getFrags</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/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/tmpl/master/MasterStatusTmpl.ImplData.html#line.203">getFrags</a>()</pre>
 </li>
 </ul>
-<a name="getCatalogJanitorEnabled__IsNotDefault()">
+<a name="getFrags__IsNotDefault()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getCatalogJanitorEnabled__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.208">getCatalogJanitorEnabled__IsNotDefault</a>()</pre>
+<h4>getFrags__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.208">getFrags__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setFilter(java.lang.String)">
+<a name="setFormat(java.lang.String)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFilter</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.214">setFilter</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filter)</pre>
+<h4>setFormat</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.214">setFormat</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;format)</pre>
 </li>
 </ul>
-<a name="getFilter()">
+<a name="getFormat()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFilter</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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/tmpl/master/MasterStatusTmpl.ImplData.html#line.220">getFilter</a>()</pre>
+<h4>getFormat</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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/tmpl/master/MasterStatusTmpl.ImplData.html#line.220">getFormat</a>()</pre>
 </li>
 </ul>
-<a name="getFilter__IsNotDefault()">
+<a name="getFormat__IsNotDefault()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFilter__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.225">getFilter__IsNotDefault</a>()</pre>
+<h4>getFormat__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.225">getFormat__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setMetaLocation(org.apache.hadoop.hbase.ServerName)">
+<a name="setServers(java.util.List)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setMetaLocation</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.231">setMetaLocation</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;metaLocation)</pre>
+<h4>setServers</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.231">setServers</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;servers)</pre>
 </li>
 </ul>
-<a name="getMetaLocation()">
+<a name="getServers()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getMetaLocation</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/tmpl/master/MasterStatusTmpl.ImplData.html#line.237">getMetaLocation</a>()</pre>
+<h4>getServers</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/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/tmpl/master/MasterStatusTmpl.ImplData.html#line.237">getServers</a>()</pre>
 </li>
 </ul>
-<a name="getMetaLocation__IsNotDefault()">
+<a name="getServers__IsNotDefault()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getMetaLocation__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.242">getMetaLocation__IsNotDefault</a>()</pre>
+<h4>getServers__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.242">getServers__IsNotDefault</a>()</pre>
 </li>
 </ul>
 <a name="setAssignmentManager(org.apache.hadoop.hbase.master.AssignmentManager)">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
index 48e9d72..05397f9 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
@@ -323,31 +323,31 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <!--   -->
 </a>
 <h3>Field Detail</h3>
-<a name="deadServers">
+<a name="catalogJanitorEnabled">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>deadServers</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.275">deadServers</a></pre>
+<h4>catalogJanitorEnabled</h4>
+<pre>protected&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.275">catalogJanitorEnabled</a></pre>
 </li>
 </ul>
-<a name="servers">
+<a name="filter">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>servers</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.282">servers</a></pre>
+<h4>filter</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.282">filter</a></pre>
 </li>
 </ul>
-<a name="frags">
+<a name="metaLocation">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>frags</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.289">frags</a></pre>
+<h4>metaLocation</h4>
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.289">metaLocation</a></pre>
 </li>
 </ul>
 <a name="serverManager">
@@ -359,40 +359,40 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.296">serverManager</a></pre>
 </li>
 </ul>
-<a name="format">
+<a name="deadServers">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>format</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.303">format</a></pre>
+<h4>deadServers</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.303">deadServers</a></pre>
 </li>
 </ul>
-<a name="catalogJanitorEnabled">
+<a name="frags">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>catalogJanitorEnabled</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.310">catalogJanitorEnabled</a></pre>
+<h4>frags</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.310">frags</a></pre>
 </li>
 </ul>
-<a name="filter">
+<a name="format">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>filter</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.317">filter</a></pre>
+<h4>format</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.317">format</a></pre>
 </li>
 </ul>
-<a name="metaLocation">
+<a name="servers">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>metaLocation</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.324">metaLocation</a></pre>
+<h4>servers</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.324">servers</a></pre>
 </li>
 </ul>
 <a name="assignmentManager">
@@ -473,31 +473,31 @@ extends org.jamon.AbstractTemplateProxy</pre>
 </dl>
 </li>
 </ul>
-<a name="setDeadServers(java.util.Set)">
+<a name="setCatalogJanitorEnabled(boolean)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setDeadServers</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.276">setDeadServers</a>(<a href="http://docs.oracle.com/javase/7/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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;p_deadServers)</pre>
+<h4>setCatalogJanitorEnabled</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.276">setCatalogJanitorEnabled</a>(boolean&nbsp;p_catalogJanitorEnabled)</pre>
 </li>
 </ul>
-<a name="setServers(java.util.List)">
+<a name="setFilter(java.lang.String)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setServers</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.283">setServers</a>(<a href="http://docs.oracle.com/javase/7/docs/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;p_servers)</pre>
+<h4>setFilter</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.283">setFilter</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_filter)</pre>
 </li>
 </ul>
-<a name="setFrags(java.util.Map)">
+<a name="setMetaLocation(org.apache.hadoop.hbase.ServerName)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFrags</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.290">setFrags</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;p_frags)</pre>
+<h4>setMetaLocation</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.290">setMetaLocation</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;p_metaLocation)</pre>
 </li>
 </ul>
 <a name="setServerManager(org.apache.hadoop.hbase.master.ServerManager)">
@@ -509,40 +509,40 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.297">setServerManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;p_serverManager)</pre>
 </li>
 </ul>
-<a name="setFormat(java.lang.String)">
+<a name="setDeadServers(java.util.Set)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFormat</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.304">setFormat</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_format)</pre>
+<h4>setDeadServers</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.304">setDeadServers</a>(<a href="http://docs.oracle.com/javase/7/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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;p_deadServers)</pre>
 </li>
 </ul>
-<a name="setCatalogJanitorEnabled(boolean)">
+<a name="setFrags(java.util.Map)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setCatalogJanitorEnabled</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.311">setCatalogJanitorEnabled</a>(boolean&nbsp;p_catalogJanitorEnabled)</pre>
+<h4>setFrags</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.311">setFrags</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;p_frags)</pre>
 </li>
 </ul>
-<a name="setFilter(java.lang.String)">
+<a name="setFormat(java.lang.String)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFilter</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.318">setFilter</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_filter)</pre>
+<h4>setFormat</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.318">setFormat</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_format)</pre>
 </li>
 </ul>
-<a name="setMetaLocation(org.apache.hadoop.hbase.ServerName)">
+<a name="setServers(java.util.List)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setMetaLocation</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.325">setMetaLocation</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;p_metaLocation)</pre>
+<h4>setServers</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.325">setServers</a>(<a href="http://docs.oracle.com/javase/7/docs/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;p_servers)</pre>
 </li>
 </ul>
 <a name="setAssignmentManager(org.apache.hadoop.hbase.master.AssignmentManager)">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
index cd3cf03..d46d896 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
@@ -264,31 +264,31 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/Master
 <pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.62">master</a></pre>
 </li>
 </ul>
-<a name="deadServers">
+<a name="catalogJanitorEnabled">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>deadServers</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.63">deadServers</a></pre>
+<h4>catalogJanitorEnabled</h4>
+<pre>private final&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.63">catalogJanitorEnabled</a></pre>
 </li>
 </ul>
-<a name="servers">
+<a name="filter">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>servers</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.64">servers</a></pre>
+<h4>filter</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.64">filter</a></pre>
 </li>
 </ul>
-<a name="frags">
+<a name="metaLocation">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>frags</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.65">frags</a></pre>
+<h4>metaLocation</h4>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.65">metaLocation</a></pre>
 </li>
 </ul>
 <a name="serverManager">
@@ -300,40 +300,40 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/Master
 <pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.66">serverManager</a></pre>
 </li>
 </ul>
-<a name="format">
+<a name="deadServers">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>format</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.67">format</a></pre>
+<h4>deadServers</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.67">deadServers</a></pre>
 </li>
 </ul>
-<a name="catalogJanitorEnabled">
+<a name="frags">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>catalogJanitorEnabled</h4>
-<pre>private final&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.68">catalogJanitorEnabled</a></pre>
+<h4>frags</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.68">frags</a></pre>
 </li>
 </ul>
-<a name="filter">
+<a name="format">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>filter</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.69">filter</a></pre>
+<h4>format</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.69">format</a></pre>
 </li>
 </ul>
-<a name="metaLocation">
+<a name="servers">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>metaLocation</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.70">metaLocation</a></pre>
+<h4>servers</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.70">servers</a></pre>
 </li>
 </ul>
 <a name="assignmentManager">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
index 4cc2ce5..6f37c59 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
@@ -279,76 +279,76 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.71">m_regionServer</a></pre>
 </li>
 </ul>
-<a name="m_filter">
+<a name="m_bcv">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_filter</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.83">m_filter</a></pre>
+<h4>m_bcv</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.83">m_bcv</a></pre>
 </li>
 </ul>
-<a name="m_filter__IsNotDefault">
+<a name="m_bcv__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_filter__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.88">m_filter__IsNotDefault</a></pre>
+<h4>m_bcv__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.88">m_bcv__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_bcv">
+<a name="m_bcn">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_bcv</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.100">m_bcv</a></pre>
+<h4>m_bcn</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.100">m_bcn</a></pre>
 </li>
 </ul>
-<a name="m_bcv__IsNotDefault">
+<a name="m_bcn__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_bcv__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.105">m_bcv__IsNotDefault</a></pre>
+<h4>m_bcn__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.105">m_bcn__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_bcn">
+<a name="m_format">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_bcn</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.117">m_bcn</a></pre>
+<h4>m_format</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.117">m_format</a></pre>
 </li>
 </ul>
-<a name="m_bcn__IsNotDefault">
+<a name="m_format__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_bcn__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.122">m_bcn__IsNotDefault</a></pre>
+<h4>m_format__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.122">m_format__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_format">
+<a name="m_filter">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_format</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.134">m_format</a></pre>
+<h4>m_filter</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.134">m_filter</a></pre>
 </li>
 </ul>
-<a name="m_format__IsNotDefault">
+<a name="m_filter__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>m_format__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.139">m_format__IsNotDefault</a></pre>
+<h4>m_filter__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.139">m_filter__IsNotDefault</a></pre>
 </li>
 </ul>
 </li>
@@ -394,112 +394,112 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.67">getRegionServer</a>()</pre>
 </li>
 </ul>
-<a name="setFilter(java.lang.String)">
+<a name="setBcv(java.lang.String)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFilter</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.73">setFilter</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filter)</pre>
+<h4>setBcv</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.73">setBcv</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;bcv)</pre>
 </li>
 </ul>
-<a name="getFilter()">
+<a name="getBcv()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFilter</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.79">getFilter</a>()</pre>
+<h4>getBcv</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.79">getBcv</a>()</pre>
 </li>
 </ul>
-<a name="getFilter__IsNotDefault()">
+<a name="getBcv__IsNotDefault()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFilter__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.84">getFilter__IsNotDefault</a>()</pre>
+<h4>getBcv__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.84">getBcv__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setBcv(java.lang.String)">
+<a name="setBcn(java.lang.String)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setBcv</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.90">setBcv</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;bcv)</pre>
+<h4>setBcn</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.90">setBcn</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;bcn)</pre>
 </li>
 </ul>
-<a name="getBcv()">
+<a name="getBcn()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getBcv</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.96">getBcv</a>()</pre>
+<h4>getBcn</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.96">getBcn</a>()</pre>
 </li>
 </ul>
-<a name="getBcv__IsNotDefault()">
+<a name="getBcn__IsNotDefault()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getBcv__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.101">getBcv__IsNotDefault</a>()</pre>
+<h4>getBcn__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.101">getBcn__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setBcn(java.lang.String)">
+<a name="setFormat(java.lang.String)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setBcn</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.107">setBcn</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;bcn)</pre>
+<h4>setFormat</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.107">setFormat</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;format)</pre>
 </li>
 </ul>
-<a name="getBcn()">
+<a name="getFormat()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getBcn</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.113">getBcn</a>()</pre>
+<h4>getFormat</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.113">getFormat</a>()</pre>
 </li>
 </ul>
-<a name="getBcn__IsNotDefault()">
+<a name="getFormat__IsNotDefault()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getBcn__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.118">getBcn__IsNotDefault</a>()</pre>
+<h4>getFormat__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.118">getFormat__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setFormat(java.lang.String)">
+<a name="setFilter(java.lang.String)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFormat</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.124">setFormat</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;format)</pre>
+<h4>setFilter</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.124">setFilter</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filter)</pre>
 </li>
 </ul>
-<a name="getFormat()">
+<a name="getFilter()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFormat</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.130">getFormat</a>()</pre>
+<h4>getFilter</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.130">getFilter</a>()</pre>
 </li>
 </ul>
-<a name="getFormat__IsNotDefault()">
+<a name="getFilter__IsNotDefault()">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>getFormat__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.135">getFormat__IsNotDefault</a>()</pre>
+<h4>getFilter__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.135">getFilter__IsNotDefault</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
index 0295426..6d53054 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
@@ -283,40 +283,40 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <!--   -->
 </a>
 <h3>Field Detail</h3>
-<a name="filter">
+<a name="bcv">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>filter</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.151">filter</a></pre>
+<h4>bcv</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.151">bcv</a></pre>
 </li>
 </ul>
-<a name="bcv">
+<a name="bcn">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>bcv</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.158">bcv</a></pre>
+<h4>bcn</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.158">bcn</a></pre>
 </li>
 </ul>
-<a name="bcn">
+<a name="format">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>bcn</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.165">bcn</a></pre>
+<h4>format</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.165">format</a></pre>
 </li>
 </ul>
-<a name="format">
+<a name="filter">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>format</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.172">format</a></pre>
+<h4>filter</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.172">filter</a></pre>
 </li>
 </ul>
 </li>
@@ -388,22 +388,13 @@ extends org.jamon.AbstractTemplateProxy</pre>
 </dl>
 </li>
 </ul>
-<a name="setFilter(java.lang.String)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setFilter</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.152">setFilter</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_filter)</pre>
-</li>
-</ul>
 <a name="setBcv(java.lang.String)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>setBcv</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.159">setBcv</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_bcv)</pre>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.152">setBcv</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_bcv)</pre>
 </li>
 </ul>
 <a name="setBcn(java.lang.String)">
@@ -412,7 +403,7 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>setBcn</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.166">setBcn</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_bcn)</pre>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.159">setBcn</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_bcn)</pre>
 </li>
 </ul>
 <a name="setFormat(java.lang.String)">
@@ -421,7 +412,16 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>setFormat</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.173">setFormat</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_format)</pre>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.166">setFormat</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_format)</pre>
+</li>
+</ul>
+<a name="setFilter(java.lang.String)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setFilter</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.173">setFilter</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_filter)</pre>
 </li>
 </ul>
 <a name="constructImpl(java.lang.Class)">


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/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 532ea13..4d7b0c5 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/HMaster.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/HMaster.html
@@ -114,7 +114,7 @@
 <hr>
 <br>
 <pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.LimitedPrivate.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.LimitedPrivate</a>(<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.LimitedPrivate.html#value()">value</a>="Tools")
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.186">HMaster</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.187">HMaster</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></pre>
 <div class="block">HMaster is the "master server" for HBase. An HBase cluster has one active
@@ -249,7 +249,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>(package private) boolean</code></td>
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#initialized">initialized</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
@@ -355,7 +355,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#rsFatals">rsFatals</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>private boolean</code></td>
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#serverCrashProcessingEnabled">serverCrashProcessingEnabled</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
@@ -669,122 +669,130 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getHFileCleaner()">getHFileCleaner</a></strong>()</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getInitializedEvent()">getInitializedEvent</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getLastMajorCompactionTimestamp(org.apache.hadoop.hbase.TableName)">getLastMajorCompactionTimestamp</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getLastMajorCompactionTimestampForRegion(byte[])">getLastMajorCompactionTimestampForRegion</a></strong>(byte[]&nbsp;regionName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getLoadBalancerClassName()">getLoadBalancerClassName</a></strong>()</code>
 <div class="block">Fetch the configured <a href="../../../../../org/apache/hadoop/hbase/master/LoadBalancer.html" title="interface in org.apache.hadoop.hbase.master"><code>LoadBalancer</code></a> class name.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getLoadedCoprocessors()">getLoadedCoprocessors</a></strong>()</code>
 <div class="block">The set of loaded coprocessors is stored in a static set.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterActiveTime()">getMasterActiveTime</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterCoprocessorHost()">getMasterCoprocessorHost</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterCoprocessors()">getMasterCoprocessors</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterFileSystem.html" title="class in org.apache.hadoop.hbase.master">MasterFileSystem</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterFileSystem()">getMasterFileSystem</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/master/MetricsMaster.html" title="class in org.apache.hadoop.hbase.master">MetricsMaster</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterMetrics()">getMasterMetrics</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureExecutor</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterProcedureExecutor()">getMasterProcedureExecutor</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterQuotaManager()">getMasterQuotaManager</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html" title="class in org.apache.hadoop.hbase.master">MasterRpcServices</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterRpcServices()">getMasterRpcServices</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterStartTime()">getMasterStartTime</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMergePlanCount()">getMergePlanCount</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMobCompactionState(org.apache.hadoop.hbase.TableName)">getMobCompactionState</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Gets the mob file compaction state for a specific table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getNamespace(java.lang.String)">getNamespace</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Get a Namespace</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getNamespaces()">getNamespaces</a></strong>()</code>
 <div class="block">Get all Namespaces</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getNumWALFiles()">getNumWALFiles</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getPreviouselyFailedMetaServersFromZK()">getPreviouselyFailedMetaServersFromZK</a></strong>()</code>
 <div class="block">This function returns a set of region server names under hbase:meta recovering region ZK node</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getProcessName()">getProcessName</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/normalizer/RegionNormalizer.html" title="interface in org.apache.hadoop.hbase.master.normalizer">RegionNormalizer</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRegionNormalizer()">getRegionNormalizer</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/zookeeper/RegionNormalizerTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">RegionNormalizerTracker</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRegionNormalizerTracker()">getRegionNormalizerTracker</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/monitoring/MemoryBoundedLogMessageBuffer.html" title="class in org.apache.hadoop.hbase.monitoring">MemoryBoundedLogMessageBuffer</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRegionServerFatalLogBuffer()">getRegionServerFatalLogBuffer</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRegionServerInfoPort(org.apache.hadoop.hbase.ServerName)">getRegionServerInfoPort</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRegionServerVersion(org.apache.hadoop.hbase.ServerName)">getRegionServerVersion</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetAddress.html?is-external=true" title="class or interface in java.net">InetAddress</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRemoteInetAddress(int,%20long)">getRemoteInetAddress</a></strong>(int&nbsp;port,
                                         long&nbsp;serverStartCode)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getServerCrashProcessingEnabledEvent()">getServerCrashProcessingEnabledEvent</a></strong>()</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getServerManager()">getServerManager</a></strong>()</code>&nbsp;</td>
@@ -1024,47 +1032,51 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#setServerCrashProcessingEnabled(boolean)">setServerCrashProcessingEnabled</a></strong>(boolean&nbsp;b)</code>&nbsp;</td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#setInitialized(boolean)">setInitialized</a></strong>(boolean&nbsp;isInitialized)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#shutdown()">shutdown</a></strong>()</code>&nbsp;</td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#setServerCrashProcessingEnabled(boolean)">setServerCrashProcessingEnabled</a></strong>(boolean&nbsp;b)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#shutdown()">shutdown</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#splitMetaLogBeforeAssignment(org.apache.hadoop.hbase.ServerName)">splitMetaLogBeforeAssignment</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;currentMetaServer)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#startActiveMasterManager(int)">startActiveMasterManager</a></strong>(int&nbsp;infoPort)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#startProcedureExecutor()">startProcedureExecutor</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#startServiceThreads()">startServiceThreads</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#stopChores()">stopChores</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#stopMaster()">stopMaster</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#stopProcedureExecutor()">stopProcedureExecutor</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#stopServiceThreads()">stopServiceThreads</a></strong>()</code>
 <div class="block">Wait on all threads to finish.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#truncateTable(org.apache.hadoop.hbase.TableName,%20boolean,%20long,%20long)">truncateTable</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                           boolean&nbsp;preserveSplits,
@@ -1073,19 +1085,19 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <div class="block">Truncate a table</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#unassignExcessMetaReplica(org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher,%20int)">unassignExcessMetaReplica</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZooKeeperWatcher</a>&nbsp;zkw,
                                                   int&nbsp;numMetaReplicasConfigured)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#waitForMasterActive()">waitForMasterActive</a></strong>()</code>
 <div class="block">If configured to put regions on active master,
  wait till a backup master becomes active.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private static void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#warnOrThrowExceptionForFailure(boolean,%20java.lang.String,%20java.lang.String,%20java.lang.Exception)">warnOrThrowExceptionForFailure</a></strong>(boolean&nbsp;logWarn,
                                                             <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;confKey,
@@ -1162,7 +1174,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.187">LOG</a></pre>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.188">LOG</a></pre>
 </li>
 </ul>
 <a name="MASTER">
@@ -1171,7 +1183,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>MASTER</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.243">MASTER</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.244">MASTER</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.HMaster.MASTER">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1181,7 +1193,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>activeMasterManager</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ActiveMasterManager.html" title="class in org.apache.hadoop.hbase.master">ActiveMasterManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.246">activeMasterManager</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ActiveMasterManager.html" title="class in org.apache.hadoop.hbase.master">ActiveMasterManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.247">activeMasterManager</a></pre>
 </li>
 </ul>
 <a name="regionServerTracker">
@@ -1190,7 +1202,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>regionServerTracker</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/zookeeper/RegionServerTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">RegionServerTracker</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.248">regionServerTracker</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/zookeeper/RegionServerTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">RegionServerTracker</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.249">regionServerTracker</a></pre>
 </li>
 </ul>
 <a name="drainingServerTracker">
@@ -1199,7 +1211,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>drainingServerTracker</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/DrainingServerTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">DrainingServerTracker</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.250">drainingServerTracker</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/DrainingServerTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">DrainingServerTracker</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.251">drainingServerTracker</a></pre>
 </li>
 </ul>
 <a name="loadBalancerTracker">
@@ -1208,7 +1220,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>loadBalancerTracker</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/zookeeper/LoadBalancerTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">LoadBalancerTracker</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.252">loadBalancerTracker</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/zookeeper/LoadBalancerTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">LoadBalancerTracker</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.253">loadBalancerTracker</a></pre>
 </li>
 </ul>
 <a name="regionNormalizerTracker">
@@ -1217,7 +1229,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>regionNormalizerTracker</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/RegionNormalizerTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">RegionNormalizerTracker</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.255">regionNormalizerTracker</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/RegionNormalizerTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">RegionNormalizerTracker</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.256">regionNormalizerTracker</a></pre>
 </li>
 </ul>
 <a name="clusterSchemaService">
@@ -1226,7 +1238,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>clusterSchemaService</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ClusterSchemaService.html" title="interface in org.apache.hadoop.hbase.master">ClusterSchemaService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.257">clusterSchemaService</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ClusterSchemaService.html" title="interface in org.apache.hadoop.hbase.master">ClusterSchemaService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.258">clusterSchemaService</a></pre>
 </li>
 </ul>
 <a name="metricsMaster">
@@ -1235,7 +1247,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>metricsMaster</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MetricsMaster.html" title="class in org.apache.hadoop.hbase.master">MetricsMaster</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.260">metricsMaster</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MetricsMaster.html" title="class in org.apache.hadoop.hbase.master">MetricsMaster</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.261">metricsMaster</a></pre>
 </li>
 </ul>
 <a name="fileSystemManager">
@@ -1244,7 +1256,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>fileSystemManager</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterFileSystem.html" title="class in org.apache.hadoop.hbase.master">MasterFileSystem</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.262">fileSystemManager</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterFileSystem.html" title="class in org.apache.hadoop.hbase.master">MasterFileSystem</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.263">fileSystemManager</a></pre>
 </li>
 </ul>
 <a name="serverManager">
@@ -1253,7 +1265,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>serverManager</h4>
-<pre>volatile&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.265">serverManager</a></pre>
+<pre>volatile&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.266">serverManager</a></pre>
 </li>
 </ul>
 <a name="assignmentManager">
@@ -1262,7 +1274,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>assignmentManager</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.268">assignmentManager</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.269">assignmentManager</a></pre>
 </li>
 </ul>
 <a name="rsFatals">
@@ -1271,7 +1283,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>rsFatals</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/monitoring/MemoryBoundedLogMessageBuffer.html" title="class in org.apache.hadoop.hbase.monitoring">MemoryBoundedLogMessageBuffer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.273">rsFatals</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/monitoring/MemoryBoundedLogMessageBuffer.html" title="class in org.apache.hadoop.hbase.monitoring">MemoryBoundedLogMessageBuffer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.274">rsFatals</a></pre>
 </li>
 </ul>
 <a name="isActiveMaster">
@@ -1280,7 +1292,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>isActiveMaster</h4>
-<pre>private volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.276">isActiveMaster</a></pre>
+<pre>private volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.277">isActiveMaster</a></pre>
 </li>
 </ul>
 <a name="initialized">
@@ -1289,7 +1301,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>initialized</h4>
-<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.280">initialized</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.281">initialized</a></pre>
 </li>
 </ul>
 <a name="serviceStarted">
@@ -1298,7 +1310,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>serviceStarted</h4>
-<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.284">serviceStarted</a></pre>
+<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.285">serviceStarted</a></pre>
 </li>
 </ul>
 <a name="serverCrashProcessingEnabled">
@@ -1307,7 +1319,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>serverCrashProcessingEnabled</h4>
-<pre>private volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.287">serverCrashProcessingEnabled</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.288">serverCrashProcessingEnabled</a></pre>
 </li>
 </ul>
 <a name="balancer">
@@ -1316,7 +1328,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>balancer</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/master/LoadBalancer.html" title="interface in org.apache.hadoop.hbase.master">LoadBalancer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.289">balancer</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/master/LoadBalancer.html" title="interface in org.apache.hadoop.hbase.master">LoadBalancer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.291">balancer</a></pre>
 </li>
 </ul>
 <a name="normalizer">
@@ -1325,7 +1337,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>normalizer</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/normalizer/RegionNormalizer.html" title="interface in org.apache.hadoop.hbase.master.normalizer">RegionNormalizer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.290">normalizer</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/normalizer/RegionNormalizer.html" title="interface in org.apache.hadoop.hbase.master.normalizer">RegionNormalizer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.292">normalizer</a></pre>
 </li>
 </ul>
 <a name="balancerChore">
@@ -1334,7 +1346,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>balancerChore</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/balancer/BalancerChore.html" title="class in org.apache.hadoop.hbase.master.balancer">BalancerChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.291">balancerChore</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/balancer/BalancerChore.html" title="class in org.apache.hadoop.hbase.master.balancer">BalancerChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.293">balancerChore</a></pre>
 </li>
 </ul>
 <a name="normalizerChore">
@@ -1343,7 +1355,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>normalizerChore</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/normalizer/RegionNormalizerChore.html" title="class in org.apache.hadoop.hbase.master.normalizer">RegionNormalizerChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.292">normalizerChore</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/normalizer/RegionNormalizerChore.html" title="class in org.apache.hadoop.hbase.master.normalizer">RegionNormalizerChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.294">normalizerChore</a></pre>
 </li>
 </ul>
 <a name="clusterStatusChore">
@@ -1352,7 +1364,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>clusterStatusChore</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/balancer/ClusterStatusChore.html" title="class in org.apache.hadoop.hbase.master.balancer">ClusterStatusChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.293">clusterStatusChore</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/balancer/ClusterStatusChore.html" title="class in org.apache.hadoop.hbase.master.balancer">ClusterStatusChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.295">clusterStatusChore</a></pre>
 </li>
 </ul>
 <a name="clusterStatusPublisherChore">
@@ -1361,7 +1373,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>clusterStatusPublisherChore</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ClusterStatusPublisher.html" title="class in org.apache.hadoop.hbase.master">ClusterStatusPublisher</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.294">clusterStatusPublisherChore</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ClusterStatusPublisher.html" title="class in org.apache.hadoop.hbase.master">ClusterStatusPublisher</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.296">clusterStatusPublisherChore</a></pre>
 </li>
 </ul>
 <a name="catalogJanitorChore">
@@ -1370,7 +1382,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>catalogJanitorChore</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/master/CatalogJanitor.html" title="class in org.apache.hadoop.hbase.master">CatalogJanitor</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.296">catalogJanitorChore</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/master/CatalogJanitor.html" title="class in org.apache.hadoop.hbase.master">CatalogJanitor</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.298">catalogJanitorChore</a></pre>
 </li>
 </ul>
 <a name="logCleaner">
@@ -1379,7 +1391,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>logCleaner</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/cleaner/LogCleaner.html" title="class in org.apache.hadoop.hbase.master.cleaner">LogCleaner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.297">logCleaner</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/cleaner/LogCleaner.html" title="class in org.apache.hadoop.hbase.master.cleaner">LogCleaner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.299">logCleaner</a></pre>
 </li>
 </ul>
 <a name="hfileCleaner">
@@ -1388,7 +1400,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>hfileCleaner</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/cleaner/HFileCleaner.html" title="class in org.apache.hadoop.hbase.master.cleaner">HFileCleaner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.298">hfileCleaner</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/cleaner/HFileCleaner.html" title="class in org.apache.hadoop.hbase.master.cleaner">HFileCleaner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.300">hfileCleaner</a></pre>
 </li>
 </ul>
 <a name="expiredMobFileCleanerChore">
@@ -1397,7 +1409,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>expiredMobFileCleanerChore</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ExpiredMobFileCleanerChore.html" title="class in org.apache.hadoop.hbase.master">ExpiredMobFileCleanerChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.299">expiredMobFileCleanerChore</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ExpiredMobFileCleanerChore.html" title="class in org.apache.hadoop.hbase.master">ExpiredMobFileCleanerChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.301">expiredMobFileCleanerChore</a></pre>
 </li>
 </ul>
 <a name="mobCompactChore">
@@ -1406,7 +1418,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>mobCompactChore</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MobCompactionChore.html" title="class in org.apache.hadoop.hbase.master">MobCompactionChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.300">mobCompactChore</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MobCompactionChore.html" title="class in org.apache.hadoop.hbase.master">MobCompactionChore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.302">mobCompactChore</a></pre>
 </li>
 </ul>
 <a name="mobCompactThread">
@@ -1415,7 +1427,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>mobCompactThread</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterMobCompactionThread.html" title="class in org.apache.hadoop.hbase.master">MasterMobCompactionThread</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.301">mobCompactThread</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterMobCompactionThread.html" title="class in org.apache.hadoop.hbase.master">MasterMobCompactionThread</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.303">mobCompactThread</a></pre>
 </li>
 </ul>
 <a name="mobCompactionLock">
@@ -1424,7 +1436,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>mobCompactionLock</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/IdLock.html" title="class in org.apache.hadoop.hbase.util">IdLock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.303">mobCompactionLock</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/IdLock.html" title="class in org.apache.hadoop.hbase.util">IdLock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.305">mobCompactionLock</a></pre>
 </li>
 </ul>
 <a name="mobCompactionStates">
@@ -1433,7 +1445,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>mobCompactionStates</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.306">mobCompactionStates</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.308">mobCompactionStates</a></pre>
 </li>
 </ul>
 <a name="cpHost">
@@ -1442,7 +1454,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>cpHost</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.308">cpHost</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.310">cpHost</a></pre>
 </li>
 </ul>
 <a name="preLoadTableDescriptors">
@@ -1451,7 +1463,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>preLoadTableDescriptors</h4>
-<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.310">preLoadTableDescriptors</a></pre>
+<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.312">preLoadTableDescriptors</a></pre>
 </li>
 </ul>
 <a name="masterActiveTime">
@@ -1460,7 +1472,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>masterActiveTime</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.313">masterActiveTime</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.315">masterActiveTime</a></pre>
 </li>
 </ul>
 <a name="masterCheckCompression">
@@ -1469,7 +1481,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>masterCheckCompression</h4>
-<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.316">masterCheckCompression</a></pre>
+<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.318">masterCheckCompression</a></pre>
 </li>
 </ul>
 <a name="masterCheckEncryption">
@@ -1478,7 +1490,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>masterCheckEncryption</h4>
-<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.319">masterCheckEncryption</a></pre>
+<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.321">masterCheckEncryption</a></pre>
 </li>
 </ul>
 <a name="coprocessorServiceHandlers">
@@ -1487,7 +1499,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>coprocessorServiceHandlers</h4>
-<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,com.google.protobuf.Service&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.321">coprocessorServiceHandlers</a></pre>
+<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,com.google.protobuf.Service&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.323">coprocessorServiceHandlers</a></pre>
 </li>
 </ul>
 <a name="snapshotManager">
@@ -1496,7 +1508,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>snapshotManager</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html" title="class in org.apache.hadoop.hbase.master.snapshot">SnapshotManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.324">snapshotManager</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html" title="class in org.apache.hadoop.hbase.master.snapshot">SnapshotManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.326">snapshotManager</a></pre>
 </li>
 </ul>
 <a name="mpmHost">
@@ -1505,7 +1517,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>mpmHost</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/procedure/MasterProcedureManagerHost.html" title="class in org.apache.hadoop.hbase.procedure">MasterProcedureManagerHost</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.326">mpmHost</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/procedure/MasterProcedureManagerHost.html" title="class in org.apache.hadoop.hbase.procedure">MasterProcedureManagerHost</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.328">mpmHost</a></pre>
 </li>
 </ul>
 <a name="quotaManager">
@@ -1514,7 +1526,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>quotaManager</h4>
-<pre>private volatile&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.329">quotaManager</a></pre>
+<pre>private volatile&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.331">quotaManager</a></pre>
 </li>
 </ul>
 <a name="procedureExecutor">
@@ -1523,7 +1535,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>procedureExecutor</h4>
-<pre>private&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; <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.331">procedureExecutor</a></pre>
+<pre>private&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; <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.333">procedureExecutor</a></pre>
 </li>
 </ul>
 <a name="procedureStore">
@@ -1532,7 +1544,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>procedureStore</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.html" title="class in org.apache.hadoop.hbase.procedure2.store.wal">WALProcedureStore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.332">procedureStore</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.html" title="class in org.apache.hadoop.hbase.procedure2.store.wal">WALProcedureStore</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.334">procedureStore</a></pre>
 </li>
 </ul>
 <a name="tableStateManager">
@@ -1541,7 +1553,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>tableStateManager</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/TableStateManager.html" title="class in org.apache.hadoop.hbase.master">TableStateManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.335">tableStateManager</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/TableStateManager.html" title="class in org.apache.hadoop.hbase.master">TableStateManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.337">tableStateManager</a></pre>
 </li>
 </ul>
 <a name="splitPlanCount">
@@ -1550,7 +1562,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>splitPlanCount</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.337">splitPlanCount</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.339">splitPlanCount</a></pre>
 </li>
 </ul>
 <a name="mergePlanCount">
@@ -1559,7 +1571,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>mergePlanCount</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.338">mergePlanCount</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.340">mergePlanCount</a></pre>
 </li>
 </ul>
 <a name="initializationBeforeMetaAssignment">
@@ -1568,7 +1580,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>initializationBeforeMetaAssignment</h4>
-<pre>private volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.341">initializationBeforeMetaAssignment</a></pre>
+<pre>private volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.343">initializationBeforeMetaAssignment</a></pre>
 <div class="block">flag used in test cases in order to simulate RS failures during master initialization</div>
 </li>
 </ul>
@@ -1578,7 +1590,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockListLast">
 <li class="blockList">
 <h4>masterJettyServer</h4>
-<pre>private&nbsp;org.mortbay.jetty.Server <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.344">masterJettyServer</a></pre>
+<pre>private&nbsp;org.mortbay.jetty.Server <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.346">masterJettyServer</a></pre>
 <div class="block">jetty server for master to redirect requests to regionserver infoServer</div>
 </li>
 </ul>
@@ -1596,7 +1608,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HMaster</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.372">HMaster</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.374">HMaster</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
        <a href="../../../../../org/apache/hadoop/hbase/CoordinatedStateManager.html" title="interface in org.apache.hadoop.hbase">CoordinatedStateManager</a>&nbsp;csm)
         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                org.apache.zookeeper.KeeperException</pre>
@@ -1629,7 +1641,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>putUpJettyServer</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.434">putUpJettyServer</a>()
+<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.436">putUpJettyServer</a>()
                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -1641,7 +1653,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getFsTableDescriptors</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html" title="interface in org.apache.hadoop.hbase">TableDescriptors</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.475">getFsTableDescriptors</a>()
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html" title="interface in org.apache.hadoop.hbase">TableDescriptors</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.477">getFsTableDescriptors</a>()
                                           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
@@ -1656,7 +1668,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>login</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.483">login</a>(<a href="../../../../../org/apache/hadoop/hbase/security/UserProvider.html" title="class in org.apache.hadoop.hbase.security">UserProvider</a>&nbsp;user,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.485">login</a>(<a href="../../../../../org/apache/hadoop/hbase/security/UserProvider.html" title="class in org.apache.hadoop.hbase.security">UserProvider</a>&nbsp;user,
          <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;host)
               throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">For compatibility, if failed with regionserver credentials, try the master one</div>
@@ -1673,7 +1685,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>waitForMasterActive</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.498">waitForMasterActive</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.500">waitForMasterActive</a>()</pre>
 <div class="block">If configured to put regions on active master,
  wait till a backup master becomes active.
  Otherwise, loop till the server is stopped or aborted.</div>
@@ -1689,7 +1701,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterRpcServices</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html" title="class in org.apache.hadoop.hbase.master">MasterRpcServices</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.507">getMasterRpcServices</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html" title="class in org.apache.hadoop.hbase.master">MasterRpcServices</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.509">getMasterRpcServices</a>()</pre>
 </li>
 </ul>
 <a name="balanceSwitch(boolean)">
@@ -1698,7 +1710,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>balanceSwitch</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.511">balanceSwitch</a>(boolean&nbsp;b)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.513">balanceSwitch</a>(boolean&nbsp;b)
                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -1710,7 +1722,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getProcessName</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/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.516">getProcessName</a>()</pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/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.518">getProcessName</a>()</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getProcessName()">getProcessName</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a></code></dd>
@@ -1723,7 +1735,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>canCreateBaseZNode</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.521">canCreateBaseZNode</a>()</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.523">canCreateBaseZNode</a>()</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#canCreateBaseZNode()">canCreateBaseZNode</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a></code></dd>
@@ -1736,7 +1748,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>canUpdateTableDescriptor</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.526">canUpdateTableDescriptor</a>()</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.528">canUpdateTableDescriptor</a>()</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#canUpdateTableDescriptor()">canUpdateTableDescriptor</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a></code></dd>
@@ -1749,7 +1761,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>createRpcServices</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.531">createRpcServices</a>()
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.533">createRpcServices</a>()
                                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
@@ -1764,7 +1776,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>configureInfoServer</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.536">configureInfoServer</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.538">configureInfoServer</a>()</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#configureInfoServer()">configureInfoServer</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a></code></dd>
@@ -1777,7 +1789,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getDumpServlet</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends javax.servlet.http.HttpServlet&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.545">getDumpServlet</a>()</pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends javax.servlet.http.HttpServlet&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.547">getDumpServlet</a>()</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getDumpServlet()">getDumpServlet</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a></code></dd>
@@ -1790,7 +1802,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>doMetrics</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.554">doMetrics</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.556">doMetrics</a>()</pre>
 <div class="block">Emit the HMaster metrics, such as region in transition metrics.
  Surrounding in a try block just to be sure metrics doesn't abort HMaster.</div>
 <dl>
@@ -1805,7 +1817,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterMetrics</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/master/MetricsMaster.html" title="class in org.apache.hadoop.hbase.master">MetricsMaster</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.564">getMasterMetrics</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/master/MetricsMaster.html" title="class in org.apache.hadoop.hbase.master">MetricsMaster</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.566">getMasterMetrics</a>()</pre>
 </li>
 </ul>
 <a name="initializeZKBasedSystemTrackers()">
@@ -1814,7 +1826,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>initializeZKBasedSystemTrackers</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.571">initializeZKBasedSystemTrackers</a>()
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.573">initializeZKBasedSystemTrackers</a>()
                                throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                       <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
                                       org.apache.zookeeper.KeeperException,
@@ -1833,7 +1845,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>finishActiveMasterInitialization</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.625">finishActiveMasterInitialization</a>(<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.627">finishActiveMasterInitialization</a>(<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status)
                                        throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                               <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
                                               org.apache.zookeeper.KeeperException,
@@ -1864,7 +1876,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>createServerManager</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.838">createServerManager</a>(<a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a>&nbsp;master,
+<pre><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.842">createServerManager</a>(<a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a>&nbsp;master,
                                 <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a>&nbsp;services)
                             throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Create a <a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master"><code>ServerManager</code></a> instance.</div>
@@ -1878,7 +1890,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>unassignExcessMetaReplica</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.847">unassignExcessMetaReplica</a>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZooKeeperWatcher</a>&nbsp;zkw,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.851">unassignExcessMetaReplica</a>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZooKeeperWatcher</a>&nbsp;zkw,
                              int&nbsp;numMetaReplicasConfigured)</pre>
 </li>
 </ul>
@@ -1888,7 +1900,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>assignMeta</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.873">assignMeta</a>(<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.877">assignMeta</a>(<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status,
               <a href="http://docs.oracle.com/javase/7/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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;previouslyFailedMetaRSs,
               int&nbsp;replicaId)
           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
@@ -1907,7 +1919,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>initClusterSchemaService</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.943">initClusterSchemaService</a>()
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.947">initClusterSchemaService</a>()
                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -1921,7 +1933,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>initQuotaManager</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.949">initQuotaManager</a>()
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.953">initQuotaManager</a>()
                 throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -1933,7 +1945,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>isCatalogJanitorEnabled</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.956">isCatalogJanitorEnabled</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.960">isCatalogJanitorEnabled</a>()</pre>
 </li>
 </ul>
 <a name="splitMetaLogBeforeAssignment(org.apache.hadoop.hbase.ServerName)">
@@ -1942,7 +1954,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>splitMetaLogBeforeAssignment</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.961">splitMetaLogBeforeAssignment</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;currentMetaServer)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.965">splitMetaLogBeforeAssignment</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;currentMetaServer)
                                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -1954,7 +1966,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>enableCrashedServerProcessing</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.973">enableCrashedServerProcessing</a>(boolean&nbsp;waitForMeta)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.977">enableCrashedServerProcessing</a>(boolean&nbsp;waitForMeta)
                                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                            <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -1968,7 +1980,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getPreviouselyFailedMetaServersFromZK</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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/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.993">getPreviouselyFailedMetaServersFromZK</a>()
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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/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.997">getPreviouselyFailedMetaServersFromZK</a>()
                                                        throws org.apache.zookeeper.KeeperException</pre>
 <div class="block">This function returns a set of region server names under hbase:meta recovering region ZK node</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>Set of meta server names which were recorded in ZK</dd>
@@ -1982,7 +1994,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableDescriptors</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html" title="interface in org.apache.hadoop.hbase">TableDescriptors</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1008">getTableDescriptors</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html" title="interface in org.apache.hadoop.hbase">TableDescriptors</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1012">getTableDescriptors</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getTableDescriptors()">getTableDescriptors</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>
@@ -1997,7 +2009,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getServerManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1013">getServerManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1017">getServerManager</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getServerManager()">getServerManager</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>
@@ -2010,7 +2022,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterFileSystem</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterFileSystem.html" title="class in org.apache.hadoop.hbase.master">MasterFileSystem</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1018">getMasterFileSystem</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterFileSystem.html" title="class in org.apache.hadoop.hbase.master">MasterFileSystem</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1022">getMasterFileSystem</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getMasterFileSystem()">getMasterFileSystem</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>
@@ -2023,7 +2035,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableStateManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/TableStateManager.html" title="class in org.apache.hadoop.hbase.master">TableStateManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1023">getTableStateManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/TableStateManager.html" title="class in org.apache.hadoop.hbase.master">TableStateManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1027">getTableStateManager</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getTableStateManager()">getTableStateManager</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>
@@ -2036,7 +2048,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>startServiceThreads</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1034">startServiceThreads</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.1038">startServiceThreads</a>()
                           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -2048,7 +2060,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>sendShutdownInterrupt</h4>


<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.CallWriteListener.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.CallWriteListener.html b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.CallWriteListener.html
index 16c4a4f..86ba709 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.CallWriteListener.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.CallWriteListener.html
@@ -40,733 +40,724 @@
 <span class="sourceLineNo">032</span>import java.io.IOException;<a name="line.32"></a>
 <span class="sourceLineNo">033</span>import java.net.ConnectException;<a name="line.33"></a>
 <span class="sourceLineNo">034</span>import java.net.InetSocketAddress;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import java.net.SocketException;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import java.nio.ByteBuffer;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import java.security.PrivilegedExceptionAction;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import java.util.ArrayList;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import java.util.HashMap;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import java.util.Iterator;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import java.util.List;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import java.util.Map;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import java.util.Random;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import java.util.concurrent.TimeUnit;<a name="line.44"></a>
-<span class="sourceLineNo">045</span><a name="line.45"></a>
-<span class="sourceLineNo">046</span>import javax.security.sasl.SaslException;<a name="line.46"></a>
-<span class="sourceLineNo">047</span><a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.commons.logging.Log;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.commons.logging.LogFactory;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HConstants;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.client.MetricsConnection;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.exceptions.ConnectionClosingException;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.protobuf.generated.AuthenticationProtos;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.protobuf.generated.TracingProtos;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.security.AuthMethod;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.security.SaslClientHandler;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.security.SaslUtil;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.security.SecurityInfo;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.security.User;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.security.token.AuthenticationTokenSelector;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.io.Text;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.ipc.RemoteException;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.security.SecurityUtil;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.security.token.Token;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.security.token.TokenIdentifier;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.security.token.TokenSelector;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.htrace.Span;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.htrace.Trace;<a name="line.73"></a>
-<span class="sourceLineNo">074</span><a name="line.74"></a>
-<span class="sourceLineNo">075</span>import com.google.protobuf.Descriptors;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import com.google.protobuf.Message;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import com.google.protobuf.RpcCallback;<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>/**<a name="line.79"></a>
-<span class="sourceLineNo">080</span> * Netty RPC channel<a name="line.80"></a>
-<span class="sourceLineNo">081</span> */<a name="line.81"></a>
-<span class="sourceLineNo">082</span>@InterfaceAudience.Private<a name="line.82"></a>
-<span class="sourceLineNo">083</span>public class AsyncRpcChannel {<a name="line.83"></a>
-<span class="sourceLineNo">084</span>  private static final Log LOG = LogFactory.getLog(AsyncRpcChannel.class.getName());<a name="line.84"></a>
-<span class="sourceLineNo">085</span><a name="line.85"></a>
-<span class="sourceLineNo">086</span>  private static final int MAX_SASL_RETRIES = 5;<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>  protected final static Map&lt;AuthenticationProtos.TokenIdentifier.Kind, TokenSelector&lt;? extends<a name="line.88"></a>
-<span class="sourceLineNo">089</span>      TokenIdentifier&gt;&gt; tokenHandlers = new HashMap&lt;&gt;();<a name="line.89"></a>
-<span class="sourceLineNo">090</span><a name="line.90"></a>
-<span class="sourceLineNo">091</span>  static {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    tokenHandlers.put(AuthenticationProtos.TokenIdentifier.Kind.HBASE_AUTH_TOKEN,<a name="line.92"></a>
-<span class="sourceLineNo">093</span>        new AuthenticationTokenSelector());<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  }<a name="line.94"></a>
-<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span>  final AsyncRpcClient client;<a name="line.96"></a>
-<span class="sourceLineNo">097</span><a name="line.97"></a>
-<span class="sourceLineNo">098</span>  // Contains the channel to work with.<a name="line.98"></a>
-<span class="sourceLineNo">099</span>  // Only exists when connected<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  private Channel channel;<a name="line.100"></a>
-<span class="sourceLineNo">101</span><a name="line.101"></a>
-<span class="sourceLineNo">102</span>  String name;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>  final User ticket;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>  final String serviceName;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  final InetSocketAddress address;<a name="line.105"></a>
-<span class="sourceLineNo">106</span><a name="line.106"></a>
-<span class="sourceLineNo">107</span>  private int ioFailureCounter = 0;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>  private int connectFailureCounter = 0;<a name="line.108"></a>
-<span class="sourceLineNo">109</span><a name="line.109"></a>
-<span class="sourceLineNo">110</span>  boolean useSasl;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  AuthMethod authMethod;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  private int reloginMaxBackoff;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  private Token&lt;? extends TokenIdentifier&gt; token;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>  private String serverPrincipal;<a name="line.114"></a>
-<span class="sourceLineNo">115</span><a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>  // NOTE: closed and connected flags below are only changed when a lock on pendingCalls<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  private final Map&lt;Integer, AsyncCall&gt; pendingCalls = new HashMap&lt;Integer, AsyncCall&gt;();<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  private boolean connected = false;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>  private boolean closed = false;<a name="line.120"></a>
+<span class="sourceLineNo">035</span>import java.nio.ByteBuffer;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import java.security.PrivilegedExceptionAction;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import java.util.ArrayList;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.HashMap;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import java.util.Iterator;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import java.util.List;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import java.util.Map;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import java.util.Random;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import java.util.concurrent.TimeUnit;<a name="line.43"></a>
+<span class="sourceLineNo">044</span><a name="line.44"></a>
+<span class="sourceLineNo">045</span>import javax.security.sasl.SaslException;<a name="line.45"></a>
+<span class="sourceLineNo">046</span><a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.commons.logging.Log;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.commons.logging.LogFactory;<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.classification.InterfaceAudience;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.client.MetricsConnection;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.exceptions.ConnectionClosingException;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.protobuf.generated.AuthenticationProtos;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.protobuf.generated.TracingProtos;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.security.AuthMethod;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.security.SaslClientHandler;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.security.SaslUtil;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.security.SecurityInfo;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.security.User;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.security.token.AuthenticationTokenSelector;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.io.Text;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.ipc.RemoteException;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.security.SecurityUtil;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.security.token.Token;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.security.token.TokenIdentifier;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.security.token.TokenSelector;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.htrace.Span;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.htrace.Trace;<a name="line.72"></a>
+<span class="sourceLineNo">073</span><a name="line.73"></a>
+<span class="sourceLineNo">074</span>import com.google.protobuf.Descriptors;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import com.google.protobuf.Message;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import com.google.protobuf.RpcCallback;<a name="line.76"></a>
+<span class="sourceLineNo">077</span><a name="line.77"></a>
+<span class="sourceLineNo">078</span>/**<a name="line.78"></a>
+<span class="sourceLineNo">079</span> * Netty RPC channel<a name="line.79"></a>
+<span class="sourceLineNo">080</span> */<a name="line.80"></a>
+<span class="sourceLineNo">081</span>@InterfaceAudience.Private<a name="line.81"></a>
+<span class="sourceLineNo">082</span>public class AsyncRpcChannel {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>  private static final Log LOG = LogFactory.getLog(AsyncRpcChannel.class.getName());<a name="line.83"></a>
+<span class="sourceLineNo">084</span><a name="line.84"></a>
+<span class="sourceLineNo">085</span>  private static final int MAX_SASL_RETRIES = 5;<a name="line.85"></a>
+<span class="sourceLineNo">086</span><a name="line.86"></a>
+<span class="sourceLineNo">087</span>  protected final static Map&lt;AuthenticationProtos.TokenIdentifier.Kind, TokenSelector&lt;? extends<a name="line.87"></a>
+<span class="sourceLineNo">088</span>      TokenIdentifier&gt;&gt; tokenHandlers = new HashMap&lt;&gt;();<a name="line.88"></a>
+<span class="sourceLineNo">089</span><a name="line.89"></a>
+<span class="sourceLineNo">090</span>  static {<a name="line.90"></a>
+<span class="sourceLineNo">091</span>    tokenHandlers.put(AuthenticationProtos.TokenIdentifier.Kind.HBASE_AUTH_TOKEN,<a name="line.91"></a>
+<span class="sourceLineNo">092</span>        new AuthenticationTokenSelector());<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  }<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span>  final AsyncRpcClient client;<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span>  // Contains the channel to work with.<a name="line.97"></a>
+<span class="sourceLineNo">098</span>  // Only exists when connected<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  private Channel channel;<a name="line.99"></a>
+<span class="sourceLineNo">100</span><a name="line.100"></a>
+<span class="sourceLineNo">101</span>  String name;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  final User ticket;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>  final String serviceName;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>  final InetSocketAddress address;<a name="line.104"></a>
+<span class="sourceLineNo">105</span><a name="line.105"></a>
+<span class="sourceLineNo">106</span>  private int failureCounter = 0;<a name="line.106"></a>
+<span class="sourceLineNo">107</span><a name="line.107"></a>
+<span class="sourceLineNo">108</span>  boolean useSasl;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  AuthMethod authMethod;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>  private int reloginMaxBackoff;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>  private Token&lt;? extends TokenIdentifier&gt; token;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>  private String serverPrincipal;<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span><a name="line.114"></a>
+<span class="sourceLineNo">115</span>  // NOTE: closed and connected flags below are only changed when a lock on pendingCalls<a name="line.115"></a>
+<span class="sourceLineNo">116</span>  private final Map&lt;Integer, AsyncCall&gt; pendingCalls = new HashMap&lt;Integer, AsyncCall&gt;();<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  private boolean connected = false;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>  private boolean closed = false;<a name="line.118"></a>
+<span class="sourceLineNo">119</span><a name="line.119"></a>
+<span class="sourceLineNo">120</span>  private Timeout cleanupTimer;<a name="line.120"></a>
 <span class="sourceLineNo">121</span><a name="line.121"></a>
-<span class="sourceLineNo">122</span>  private Timeout cleanupTimer;<a name="line.122"></a>
-<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span>  private final TimerTask timeoutTask = new TimerTask() {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    @Override<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    public void run(Timeout timeout) throws Exception {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      cleanupCalls();<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    }<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  };<a name="line.129"></a>
-<span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>  /**<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * Constructor for netty RPC channel<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   *<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   * @param bootstrap to construct channel on<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   * @param client    to connect with<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   * @param ticket of user which uses connection<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   *               @param serviceName name of service to connect to<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   * @param address to connect to<a name="line.138"></a>
-<span class="sourceLineNo">139</span>   */<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  public AsyncRpcChannel(Bootstrap bootstrap, final AsyncRpcClient client, User ticket, String<a name="line.140"></a>
-<span class="sourceLineNo">141</span>      serviceName, InetSocketAddress address) {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    this.client = client;<a name="line.142"></a>
-<span class="sourceLineNo">143</span><a name="line.143"></a>
-<span class="sourceLineNo">144</span>    this.ticket = ticket;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    this.serviceName = serviceName;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    this.address = address;<a name="line.146"></a>
+<span class="sourceLineNo">122</span>  private final TimerTask timeoutTask = new TimerTask() {<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    @Override<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    public void run(Timeout timeout) throws Exception {<a name="line.124"></a>
+<span class="sourceLineNo">125</span>      cleanupCalls();<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    }<a name="line.126"></a>
+<span class="sourceLineNo">127</span>  };<a name="line.127"></a>
+<span class="sourceLineNo">128</span><a name="line.128"></a>
+<span class="sourceLineNo">129</span>  /**<a name="line.129"></a>
+<span class="sourceLineNo">130</span>   * Constructor for netty RPC channel<a name="line.130"></a>
+<span class="sourceLineNo">131</span>   *<a name="line.131"></a>
+<span class="sourceLineNo">132</span>   * @param bootstrap to construct channel on<a name="line.132"></a>
+<span class="sourceLineNo">133</span>   * @param client    to connect with<a name="line.133"></a>
+<span class="sourceLineNo">134</span>   * @param ticket of user which uses connection<a name="line.134"></a>
+<span class="sourceLineNo">135</span>   * @param serviceName name of service to connect to<a name="line.135"></a>
+<span class="sourceLineNo">136</span>   * @param address to connect to<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   */<a name="line.137"></a>
+<span class="sourceLineNo">138</span>  public AsyncRpcChannel(Bootstrap bootstrap, final AsyncRpcClient client, User ticket, String<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      serviceName, InetSocketAddress address) {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    this.client = client;<a name="line.140"></a>
+<span class="sourceLineNo">141</span><a name="line.141"></a>
+<span class="sourceLineNo">142</span>    this.ticket = ticket;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    this.serviceName = serviceName;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    this.address = address;<a name="line.144"></a>
+<span class="sourceLineNo">145</span><a name="line.145"></a>
+<span class="sourceLineNo">146</span>    this.channel = connect(bootstrap).channel();<a name="line.146"></a>
 <span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>    this.channel = connect(bootstrap).channel();<a name="line.148"></a>
-<span class="sourceLineNo">149</span><a name="line.149"></a>
-<span class="sourceLineNo">150</span>    name = ("IPC Client (" + channel.hashCode() + ") to " +<a name="line.150"></a>
-<span class="sourceLineNo">151</span>        address.toString() +<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        ((ticket == null) ?<a name="line.152"></a>
-<span class="sourceLineNo">153</span>            " from unknown user" :<a name="line.153"></a>
-<span class="sourceLineNo">154</span>            (" from " + ticket.getName())));<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  }<a name="line.155"></a>
-<span class="sourceLineNo">156</span><a name="line.156"></a>
-<span class="sourceLineNo">157</span>  /**<a name="line.157"></a>
-<span class="sourceLineNo">158</span>   * Connect to channel<a name="line.158"></a>
-<span class="sourceLineNo">159</span>   *<a name="line.159"></a>
-<span class="sourceLineNo">160</span>   * @param bootstrap to connect to<a name="line.160"></a>
-<span class="sourceLineNo">161</span>   * @return future of connection<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   */<a name="line.162"></a>
-<span class="sourceLineNo">163</span>  private ChannelFuture connect(final Bootstrap bootstrap) {<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    return bootstrap.remoteAddress(address).connect()<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        .addListener(new GenericFutureListener&lt;ChannelFuture&gt;() {<a name="line.165"></a>
-<span class="sourceLineNo">166</span>          @Override<a name="line.166"></a>
-<span class="sourceLineNo">167</span>          public void operationComplete(final ChannelFuture f) throws Exception {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>            if (!f.isSuccess()) {<a name="line.168"></a>
-<span class="sourceLineNo">169</span>              if (f.cause() instanceof SocketException) {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>                retryOrClose(bootstrap, connectFailureCounter++, f.cause());<a name="line.170"></a>
-<span class="sourceLineNo">171</span>              } else {<a name="line.171"></a>
-<span class="sourceLineNo">172</span>                retryOrClose(bootstrap, ioFailureCounter++, f.cause());<a name="line.172"></a>
-<span class="sourceLineNo">173</span>              }<a name="line.173"></a>
-<span class="sourceLineNo">174</span>              return;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>            }<a name="line.175"></a>
-<span class="sourceLineNo">176</span>            channel = f.channel();<a name="line.176"></a>
-<span class="sourceLineNo">177</span><a name="line.177"></a>
-<span class="sourceLineNo">178</span>            setupAuthorization();<a name="line.178"></a>
-<span class="sourceLineNo">179</span><a name="line.179"></a>
-<span class="sourceLineNo">180</span>            ByteBuf b = channel.alloc().directBuffer(6);<a name="line.180"></a>
-<span class="sourceLineNo">181</span>            createPreamble(b, authMethod);<a name="line.181"></a>
-<span class="sourceLineNo">182</span>            channel.writeAndFlush(b).addListener(ChannelFutureListener.CLOSE_ON_FAILURE);<a name="line.182"></a>
-<span class="sourceLineNo">183</span>            if (useSasl) {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>              UserGroupInformation ticket = AsyncRpcChannel.this.ticket.getUGI();<a name="line.184"></a>
-<span class="sourceLineNo">185</span>              if (authMethod == AuthMethod.KERBEROS) {<a name="line.185"></a>
-<span class="sourceLineNo">186</span>                if (ticket != null &amp;&amp; ticket.getRealUser() != null) {<a name="line.186"></a>
-<span class="sourceLineNo">187</span>                  ticket = ticket.getRealUser();<a name="line.187"></a>
-<span class="sourceLineNo">188</span>                }<a name="line.188"></a>
-<span class="sourceLineNo">189</span>              }<a name="line.189"></a>
-<span class="sourceLineNo">190</span>              SaslClientHandler saslHandler;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>              if (ticket == null) {<a name="line.191"></a>
-<span class="sourceLineNo">192</span>                throw new FatalConnectionException("ticket/user is null");<a name="line.192"></a>
-<span class="sourceLineNo">193</span>              }<a name="line.193"></a>
-<span class="sourceLineNo">194</span>              final UserGroupInformation realTicket = ticket;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>              saslHandler = ticket.doAs(new PrivilegedExceptionAction&lt;SaslClientHandler&gt;() {<a name="line.195"></a>
-<span class="sourceLineNo">196</span>                @Override<a name="line.196"></a>
-<span class="sourceLineNo">197</span>                public SaslClientHandler run() throws IOException {<a name="line.197"></a>
-<span class="sourceLineNo">198</span>                  return getSaslHandler(realTicket, bootstrap);<a name="line.198"></a>
-<span class="sourceLineNo">199</span>                }<a name="line.199"></a>
-<span class="sourceLineNo">200</span>              });<a name="line.200"></a>
-<span class="sourceLineNo">201</span>              if (saslHandler != null) {<a name="line.201"></a>
-<span class="sourceLineNo">202</span>                // Sasl connect is successful. Let's set up Sasl channel handler<a name="line.202"></a>
-<span class="sourceLineNo">203</span>                channel.pipeline().addFirst(saslHandler);<a name="line.203"></a>
-<span class="sourceLineNo">204</span>              } else {<a name="line.204"></a>
-<span class="sourceLineNo">205</span>                // fall back to simple auth because server told us so.<a name="line.205"></a>
-<span class="sourceLineNo">206</span>                authMethod = AuthMethod.SIMPLE;<a name="line.206"></a>
-<span class="sourceLineNo">207</span>                useSasl = false;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>              }<a name="line.208"></a>
-<span class="sourceLineNo">209</span>            } else {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>              startHBaseConnection(f.channel());<a name="line.210"></a>
-<span class="sourceLineNo">211</span>            }<a name="line.211"></a>
-<span class="sourceLineNo">212</span>          }<a name="line.212"></a>
-<span class="sourceLineNo">213</span>        });<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  }<a name="line.214"></a>
-<span class="sourceLineNo">215</span><a name="line.215"></a>
-<span class="sourceLineNo">216</span>  /**<a name="line.216"></a>
-<span class="sourceLineNo">217</span>   * Start HBase connection<a name="line.217"></a>
-<span class="sourceLineNo">218</span>   *<a name="line.218"></a>
-<span class="sourceLineNo">219</span>   * @param ch channel to start connection on<a name="line.219"></a>
-<span class="sourceLineNo">220</span>   */<a name="line.220"></a>
-<span class="sourceLineNo">221</span>  private void startHBaseConnection(Channel ch) {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    ch.pipeline()<a name="line.222"></a>
-<span class="sourceLineNo">223</span>        .addLast("frameDecoder", new LengthFieldBasedFrameDecoder(Integer.MAX_VALUE, 0, 4, 0, 4));<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    ch.pipeline().addLast(new AsyncServerResponseHandler(this));<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    try {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>      writeChannelHeader(ch).addListener(new GenericFutureListener&lt;ChannelFuture&gt;() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>        @Override<a name="line.227"></a>
-<span class="sourceLineNo">228</span>        public void operationComplete(ChannelFuture future) throws Exception {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>          if (!future.isSuccess()) {<a name="line.229"></a>
-<span class="sourceLineNo">230</span>            close(future.cause());<a name="line.230"></a>
-<span class="sourceLineNo">231</span>            return;<a name="line.231"></a>
-<span class="sourceLineNo">232</span>          }<a name="line.232"></a>
-<span class="sourceLineNo">233</span>          List&lt;AsyncCall&gt; callsToWrite;<a name="line.233"></a>
-<span class="sourceLineNo">234</span>          synchronized (pendingCalls) {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>            connected = true;<a name="line.235"></a>
-<span class="sourceLineNo">236</span>            callsToWrite = new ArrayList&lt;AsyncCall&gt;(pendingCalls.values());<a name="line.236"></a>
-<span class="sourceLineNo">237</span>          }<a name="line.237"></a>
-<span class="sourceLineNo">238</span>          for (AsyncCall call : callsToWrite) {<a name="line.238"></a>
-<span class="sourceLineNo">239</span>            writeRequest(call);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>          }<a name="line.240"></a>
-<span class="sourceLineNo">241</span>        }<a name="line.241"></a>
-<span class="sourceLineNo">242</span>      });<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    } catch (IOException e) {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      close(e);<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    }<a name="line.245"></a>
-<span class="sourceLineNo">246</span>  }<a name="line.246"></a>
-<span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  /**<a name="line.248"></a>
-<span class="sourceLineNo">249</span>   * Get SASL handler<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   * @param bootstrap to reconnect to<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   * @return new SASL handler<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * @throws java.io.IOException if handler failed to create<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  private SaslClientHandler getSaslHandler(final UserGroupInformation realTicket,<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      final Bootstrap bootstrap) throws IOException {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    return new SaslClientHandler(realTicket, authMethod, token, serverPrincipal,<a name="line.256"></a>
-<span class="sourceLineNo">257</span>        client.fallbackAllowed, client.conf.get("hbase.rpc.protection",<a name="line.257"></a>
-<span class="sourceLineNo">258</span>          SaslUtil.QualityOfProtection.AUTHENTICATION.name().toLowerCase()),<a name="line.258"></a>
-<span class="sourceLineNo">259</span>        new SaslClientHandler.SaslExceptionHandler() {<a name="line.259"></a>
-<span class="sourceLineNo">260</span>          @Override<a name="line.260"></a>
-<span class="sourceLineNo">261</span>          public void handle(int retryCount, Random random, Throwable cause) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>            try {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>              // Handle Sasl failure. Try to potentially get new credentials<a name="line.263"></a>
-<span class="sourceLineNo">264</span>              handleSaslConnectionFailure(retryCount, cause, realTicket);<a name="line.264"></a>
-<span class="sourceLineNo">265</span><a name="line.265"></a>
-<span class="sourceLineNo">266</span>              // Try to reconnect<a name="line.266"></a>
-<span class="sourceLineNo">267</span>              client.newTimeout(new TimerTask() {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>                @Override<a name="line.268"></a>
-<span class="sourceLineNo">269</span>                public void run(Timeout timeout) throws Exception {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>                  connect(bootstrap);<a name="line.270"></a>
-<span class="sourceLineNo">271</span>                }<a name="line.271"></a>
-<span class="sourceLineNo">272</span>              }, random.nextInt(reloginMaxBackoff) + 1, TimeUnit.MILLISECONDS);<a name="line.272"></a>
-<span class="sourceLineNo">273</span>            } catch (IOException | InterruptedException e) {<a name="line.273"></a>
-<span class="sourceLineNo">274</span>              close(e);<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>        }, new SaslClientHandler.SaslSuccessfulConnectHandler() {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>          @Override<a name="line.278"></a>
-<span class="sourceLineNo">279</span>          public void onSuccess(Channel channel) {<a name="line.279"></a>
-<span class="sourceLineNo">280</span>            startHBaseConnection(channel);<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>  /**<a name="line.285"></a>
-<span class="sourceLineNo">286</span>   * Retry to connect or close<a name="line.286"></a>
-<span class="sourceLineNo">287</span>   *<a name="line.287"></a>
-<span class="sourceLineNo">288</span>   * @param bootstrap      to connect with<a name="line.288"></a>
-<span class="sourceLineNo">289</span>   * @param connectCounter amount of tries<a name="line.289"></a>
-<span class="sourceLineNo">290</span>   * @param e              exception of fail<a name="line.290"></a>
-<span class="sourceLineNo">291</span>   */<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  private void retryOrClose(final Bootstrap bootstrap, int connectCounter, Throwable e) {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    if (connectCounter &lt; client.maxRetries) {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      client.newTimeout(new TimerTask() {<a name="line.294"></a>
-<span class="sourceLineNo">295</span>        @Override public void run(Timeout timeout) throws Exception {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>          connect(bootstrap);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>        }<a name="line.297"></a>
-<span class="sourceLineNo">298</span>      }, client.failureSleep, TimeUnit.MILLISECONDS);<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    } else {<a name="line.299"></a>
-<span class="sourceLineNo">300</span>      client.failedServers.addToFailedServers(address);<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      close(e);<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>  /**<a name="line.305"></a>
-<span class="sourceLineNo">306</span>   * Calls method on channel<a name="line.306"></a>
-<span class="sourceLineNo">307</span>   * @param method to call<a name="line.307"></a>
-<span class="sourceLineNo">308</span>   * @param controller to run call with<a name="line.308"></a>
-<span class="sourceLineNo">309</span>   * @param request to send<a name="line.309"></a>
-<span class="sourceLineNo">310</span>   * @param responsePrototype to construct response with<a name="line.310"></a>
-<span class="sourceLineNo">311</span>   */<a name="line.311"></a>
-<span class="sourceLineNo">312</span>  public Promise&lt;Message&gt; callMethod(final Descriptors.MethodDescriptor method,<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      final PayloadCarryingRpcController controller, final Message request,<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      final Message responsePrototype, MetricsConnection.CallStats callStats) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    final AsyncCall call =<a name="line.315"></a>
-<span class="sourceLineNo">316</span>        new AsyncCall(channel.eventLoop(), client.callIdCnt.getAndIncrement(), method, request,<a name="line.316"></a>
-<span class="sourceLineNo">317</span>            controller, responsePrototype, callStats);<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    controller.notifyOnCancel(new RpcCallback&lt;Object&gt;() {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      @Override<a name="line.319"></a>
-<span class="sourceLineNo">320</span>      public void run(Object parameter) {<a name="line.320"></a>
-<span class="sourceLineNo">321</span>        // TODO: do not need to call AsyncCall.setFailed?<a name="line.321"></a>
-<span class="sourceLineNo">322</span>        synchronized (pendingCalls) {<a name="line.322"></a>
-<span class="sourceLineNo">323</span>          pendingCalls.remove(call.id);<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>    // TODO: this should be handled by PayloadCarryingRpcController.<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    if (controller.isCanceled()) {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>      // To finish if the call was cancelled before we set the notification (race condition)<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      call.cancel(true);<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      return call;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    }<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>    synchronized (pendingCalls) {<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      if (closed) {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>        Promise&lt;Message&gt; promise = channel.eventLoop().newPromise();<a name="line.336"></a>
-<span class="sourceLineNo">337</span>        promise.setFailure(new ConnectException());<a name="line.337"></a>
-<span class="sourceLineNo">338</span>        return promise;<a name="line.338"></a>
-<span class="sourceLineNo">339</span>      }<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      pendingCalls.put(call.id, call);<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      // Add timeout for cleanup if none is present<a name="line.341"></a>
-<span class="sourceLineNo">342</span>      if (cleanupTimer == null &amp;&amp; call.getRpcTimeout() &gt; 0) {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>        cleanupTimer =<a name="line.343"></a>
-<span class="sourceLineNo">344</span>            client.newTimeout(timeoutTask, call.getRpcTimeout(),<a name="line.344"></a>
-<span class="sourceLineNo">345</span>              TimeUnit.MILLISECONDS);<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      }<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      if (!connected) {<a name="line.347"></a>
-<span class="sourceLineNo">348</span>        return call;<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>    writeRequest(call);<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    return call;<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>  AsyncCall removePendingCall(int id) {<a name="line.355"></a>
-<span class="sourceLineNo">356</span>    synchronized (pendingCalls) {<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      return pendingCalls.remove(id);<a name="line.357"></a>
-<span class="sourceLineNo">358</span>    }<a name="line.358"></a>
-<span class="sourceLineNo">359</span>  }<a name="line.359"></a>
-<span class="sourceLineNo">360</span><a name="line.360"></a>
-<span class="sourceLineNo">361</span>  /**<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   * Write the channel header<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   *<a name="line.363"></a>
-<span class="sourceLineNo">364</span>   * @param channel to write to<a name="line.364"></a>
-<span class="sourceLineNo">365</span>   * @return future of write<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   * @throws java.io.IOException on failure to write<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   */<a name="line.367"></a>
-<span class="sourceLineNo">368</span>  private ChannelFuture writeChannelHeader(Channel channel) throws IOException {<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    RPCProtos.ConnectionHeader.Builder headerBuilder =<a name="line.369"></a>
-<span class="sourceLineNo">370</span>        RPCProtos.ConnectionHeader.newBuilder().setServiceName(serviceName);<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span>    RPCProtos.UserInformation userInfoPB = buildUserInfo(ticket.getUGI(), authMethod);<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    if (userInfoPB != null) {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      headerBuilder.setUserInfo(userInfoPB);<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    }<a name="line.375"></a>
-<span class="sourceLineNo">376</span><a name="line.376"></a>
-<span class="sourceLineNo">377</span>    if (client.codec != null) {<a name="line.377"></a>
-<span class="sourceLineNo">378</span>      headerBuilder.setCellBlockCodecClass(client.codec.getClass().getCanonicalName());<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    }<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    if (client.compressor != null) {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>      headerBuilder.setCellBlockCompressorClass(client.compressor.getClass().getCanonicalName());<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>    headerBuilder.setVersionInfo(ProtobufUtil.getVersionInfo());<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    RPCProtos.ConnectionHeader header = headerBuilder.build();<a name="line.385"></a>
-<span class="sourceLineNo">386</span><a name="line.386"></a>
-<span class="sourceLineNo">387</span><a name="line.387"></a>
-<span class="sourceLineNo">388</span>    int totalSize = IPCUtil.getTotalSizeWhenWrittenDelimited(header);<a name="line.388"></a>
-<span class="sourceLineNo">389</span><a name="line.389"></a>
-<span class="sourceLineNo">390</span>    ByteBuf b = channel.alloc().directBuffer(totalSize);<a name="line.390"></a>
-<span class="sourceLineNo">391</span><a name="line.391"></a>
-<span class="sourceLineNo">392</span>    b.writeInt(header.getSerializedSize());<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    b.writeBytes(header.toByteArray());<a name="line.393"></a>
-<span class="sourceLineNo">394</span><a name="line.394"></a>
-<span class="sourceLineNo">395</span>    return channel.writeAndFlush(b);<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>  /**<a name="line.398"></a>
-<span class="sourceLineNo">399</span>   * Write request to channel<a name="line.399"></a>
-<span class="sourceLineNo">400</span>   *<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   * @param call    to write<a name="line.401"></a>
-<span class="sourceLineNo">402</span>   */<a name="line.402"></a>
-<span class="sourceLineNo">403</span>  private void writeRequest(final AsyncCall call) {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    try {<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      final RPCProtos.RequestHeader.Builder requestHeaderBuilder = RPCProtos.RequestHeader<a name="line.405"></a>
-<span class="sourceLineNo">406</span>          .newBuilder();<a name="line.406"></a>
-<span class="sourceLineNo">407</span>      requestHeaderBuilder.setCallId(call.id)<a name="line.407"></a>
-<span class="sourceLineNo">408</span>              .setMethodName(call.method.getName()).setRequestParam(call.param != null);<a name="line.408"></a>
-<span class="sourceLineNo">409</span><a name="line.409"></a>
-<span class="sourceLineNo">410</span>      if (Trace.isTracing()) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>        Span s = Trace.currentSpan();<a name="line.411"></a>
-<span class="sourceLineNo">412</span>        requestHeaderBuilder.setTraceInfo(TracingProtos.RPCTInfo.newBuilder().<a name="line.412"></a>
-<span class="sourceLineNo">413</span>            setParentId(s.getSpanId()).setTraceId(s.getTraceId()));<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      }<a name="line.414"></a>
-<span class="sourceLineNo">415</span><a name="line.415"></a>
-<span class="sourceLineNo">416</span>      ByteBuffer cellBlock = client.buildCellBlock(call.controller.cellScanner());<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      if (cellBlock != null) {<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        final RPCProtos.CellBlockMeta.Builder cellBlockBuilder = RPCProtos.CellBlockMeta<a name="line.418"></a>
-<span class="sourceLineNo">419</span>            .newBuilder();<a name="line.419"></a>
-<span class="sourceLineNo">420</span>        cellBlockBuilder.setLength(cellBlock.limit());<a name="line.420"></a>
-<span class="sourceLineNo">421</span>        requestHeaderBuilder.setCellBlockMeta(cellBlockBuilder.build());<a name="line.421"></a>
-<span class="sourceLineNo">422</span>      }<a name="line.422"></a>
-<span class="sourceLineNo">423</span>      // Only pass priority if there one.  Let zero be same as no priority.<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      if (call.controller.getPriority() != 0) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>        requestHeaderBuilder.setPriority(call.controller.getPriority());<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>      RPCProtos.RequestHeader rh = requestHeaderBuilder.build();<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span>      int totalSize = IPCUtil.getTotalSizeWhenWrittenDelimited(rh, call.param);<a name="line.430"></a>
-<span class="sourceLineNo">431</span>      if (cellBlock != null) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>        totalSize += cellBlock.remaining();<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>      ByteBuf b = channel.alloc().directBuffer(4 + totalSize);<a name="line.435"></a>
-<span class="sourceLineNo">436</span>      try(ByteBufOutputStream out = new ByteBufOutputStream(b)) {<a name="line.436"></a>
-<span class="sourceLineNo">437</span>        call.callStats.setRequestSizeBytes(IPCUtil.write(out, rh, call.param, cellBlock));<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>      channel.writeAndFlush(b).addListener(new CallWriteListener(this, call.id));<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    } catch (IOException e) {<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      close(e);<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    }<a name="line.443"></a>
-<span class="sourceLineNo">444</span>  }<a name="line.444"></a>
+<span class="sourceLineNo">148</span>    name = ("IPC Client (" + channel.hashCode() + ") to " +<a name="line.148"></a>
+<span class="sourceLineNo">149</span>        address.toString() +<a name="line.149"></a>
+<span class="sourceLineNo">150</span>        ((ticket == null) ?<a name="line.150"></a>
+<span class="sourceLineNo">151</span>            " from unknown user" :<a name="line.151"></a>
+<span class="sourceLineNo">152</span>            (" from " + ticket.getName())));<a name="line.152"></a>
+<span class="sourceLineNo">153</span>  }<a name="line.153"></a>
+<span class="sourceLineNo">154</span><a name="line.154"></a>
+<span class="sourceLineNo">155</span>  /**<a name="line.155"></a>
+<span class="sourceLineNo">156</span>   * Connect to channel<a name="line.156"></a>
+<span class="sourceLineNo">157</span>   *<a name="line.157"></a>
+<span class="sourceLineNo">158</span>   * @param bootstrap to connect to<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * @return future of connection<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   */<a name="line.160"></a>
+<span class="sourceLineNo">161</span>  private ChannelFuture connect(final Bootstrap bootstrap) {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    return bootstrap.remoteAddress(address).connect()<a name="line.162"></a>
+<span class="sourceLineNo">163</span>        .addListener(new GenericFutureListener&lt;ChannelFuture&gt;() {<a name="line.163"></a>
+<span class="sourceLineNo">164</span>          @Override<a name="line.164"></a>
+<span class="sourceLineNo">165</span>          public void operationComplete(final ChannelFuture f) throws Exception {<a name="line.165"></a>
+<span class="sourceLineNo">166</span>            if (!f.isSuccess()) {<a name="line.166"></a>
+<span class="sourceLineNo">167</span>              retryOrClose(bootstrap, failureCounter++, client.failureSleep, f.cause());<a name="line.167"></a>
+<span class="sourceLineNo">168</span>              return;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>            }<a name="line.169"></a>
+<span class="sourceLineNo">170</span>            channel = f.channel();<a name="line.170"></a>
+<span class="sourceLineNo">171</span><a name="line.171"></a>
+<span class="sourceLineNo">172</span>            setupAuthorization();<a name="line.172"></a>
+<span class="sourceLineNo">173</span><a name="line.173"></a>
+<span class="sourceLineNo">174</span>            ByteBuf b = channel.alloc().directBuffer(6);<a name="line.174"></a>
+<span class="sourceLineNo">175</span>            createPreamble(b, authMethod);<a name="line.175"></a>
+<span class="sourceLineNo">176</span>            channel.writeAndFlush(b).addListener(ChannelFutureListener.CLOSE_ON_FAILURE);<a name="line.176"></a>
+<span class="sourceLineNo">177</span>            if (useSasl) {<a name="line.177"></a>
+<span class="sourceLineNo">178</span>              UserGroupInformation ticket = AsyncRpcChannel.this.ticket.getUGI();<a name="line.178"></a>
+<span class="sourceLineNo">179</span>              if (authMethod == AuthMethod.KERBEROS) {<a name="line.179"></a>
+<span class="sourceLineNo">180</span>                if (ticket != null &amp;&amp; ticket.getRealUser() != null) {<a name="line.180"></a>
+<span class="sourceLineNo">181</span>                  ticket = ticket.getRealUser();<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>              SaslClientHandler saslHandler;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>              if (ticket == null) {<a name="line.185"></a>
+<span class="sourceLineNo">186</span>                throw new FatalConnectionException("ticket/user is null");<a name="line.186"></a>
+<span class="sourceLineNo">187</span>              }<a name="line.187"></a>
+<span class="sourceLineNo">188</span>              final UserGroupInformation realTicket = ticket;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>              saslHandler = ticket.doAs(new PrivilegedExceptionAction&lt;SaslClientHandler&gt;() {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>                @Override<a name="line.190"></a>
+<span class="sourceLineNo">191</span>                public SaslClientHandler run() throws IOException {<a name="line.191"></a>
+<span class="sourceLineNo">192</span>                  return getSaslHandler(realTicket, bootstrap);<a name="line.192"></a>
+<span class="sourceLineNo">193</span>                }<a name="line.193"></a>
+<span class="sourceLineNo">194</span>              });<a name="line.194"></a>
+<span class="sourceLineNo">195</span>              if (saslHandler != null) {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>                // Sasl connect is successful. Let's set up Sasl channel handler<a name="line.196"></a>
+<span class="sourceLineNo">197</span>                channel.pipeline().addFirst(saslHandler);<a name="line.197"></a>
+<span class="sourceLineNo">198</span>              } else {<a name="line.198"></a>
+<span class="sourceLineNo">199</span>                // fall back to simple auth because server told us so.<a name="line.199"></a>
+<span class="sourceLineNo">200</span>                authMethod = AuthMethod.SIMPLE;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>                useSasl = false;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>              }<a name="line.202"></a>
+<span class="sourceLineNo">203</span>            } else {<a name="line.203"></a>
+<span class="sourceLineNo">204</span>              startHBaseConnection(f.channel());<a name="line.204"></a>
+<span class="sourceLineNo">205</span>            }<a name="line.205"></a>
+<span class="sourceLineNo">206</span>          }<a name="line.206"></a>
+<span class="sourceLineNo">207</span>        });<a name="line.207"></a>
+<span class="sourceLineNo">208</span>  }<a name="line.208"></a>
+<span class="sourceLineNo">209</span><a name="line.209"></a>
+<span class="sourceLineNo">210</span>  /**<a name="line.210"></a>
+<span class="sourceLineNo">211</span>   * Start HBase connection<a name="line.211"></a>
+<span class="sourceLineNo">212</span>   *<a name="line.212"></a>
+<span class="sourceLineNo">213</span>   * @param ch channel to start connection on<a name="line.213"></a>
+<span class="sourceLineNo">214</span>   */<a name="line.214"></a>
+<span class="sourceLineNo">215</span>  private void startHBaseConnection(Channel ch) {<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    ch.pipeline()<a name="line.216"></a>
+<span class="sourceLineNo">217</span>        .addLast("frameDecoder", new LengthFieldBasedFrameDecoder(Integer.MAX_VALUE, 0, 4, 0, 4));<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    ch.pipeline().addLast(new AsyncServerResponseHandler(this));<a name="line.218"></a>
+<span class="sourceLineNo">219</span>    try {<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      writeChannelHeader(ch).addListener(new GenericFutureListener&lt;ChannelFuture&gt;() {<a name="line.220"></a>
+<span class="sourceLineNo">221</span>        @Override<a name="line.221"></a>
+<span class="sourceLineNo">222</span>        public void operationComplete(ChannelFuture future) throws Exception {<a name="line.222"></a>
+<span class="sourceLineNo">223</span>          if (!future.isSuccess()) {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>            close(future.cause());<a name="line.224"></a>
+<span class="sourceLineNo">225</span>            return;<a name="line.225"></a>
+<span class="sourceLineNo">226</span>          }<a name="line.226"></a>
+<span class="sourceLineNo">227</span>          List&lt;AsyncCall&gt; callsToWrite;<a name="line.227"></a>
+<span class="sourceLineNo">228</span>          synchronized (pendingCalls) {<a name="line.228"></a>
+<span class="sourceLineNo">229</span>            connected = true;<a name="line.229"></a>
+<span class="sourceLineNo">230</span>            callsToWrite = new ArrayList&lt;AsyncCall&gt;(pendingCalls.values());<a name="line.230"></a>
+<span class="sourceLineNo">231</span>          }<a name="line.231"></a>
+<span class="sourceLineNo">232</span>          for (AsyncCall call : callsToWrite) {<a name="line.232"></a>
+<span class="sourceLineNo">233</span>            writeRequest(call);<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>    } catch (IOException e) {<a name="line.237"></a>
+<span class="sourceLineNo">238</span>      close(e);<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    }<a name="line.239"></a>
+<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
+<span class="sourceLineNo">241</span><a name="line.241"></a>
+<span class="sourceLineNo">242</span>  /**<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * Get SASL handler<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   * @param bootstrap to reconnect to<a name="line.244"></a>
+<span class="sourceLineNo">245</span>   * @return new SASL handler<a name="line.245"></a>
+<span class="sourceLineNo">246</span>   * @throws java.io.IOException if handler failed to create<a name="line.246"></a>
+<span class="sourceLineNo">247</span>   */<a name="line.247"></a>
+<span class="sourceLineNo">248</span>  private SaslClientHandler getSaslHandler(final UserGroupInformation realTicket,<a name="line.248"></a>
+<span class="sourceLineNo">249</span>      final Bootstrap bootstrap) throws IOException {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    return new SaslClientHandler(realTicket, authMethod, token, serverPrincipal,<a name="line.250"></a>
+<span class="sourceLineNo">251</span>        client.fallbackAllowed, client.conf.get("hbase.rpc.protection",<a name="line.251"></a>
+<span class="sourceLineNo">252</span>          SaslUtil.QualityOfProtection.AUTHENTICATION.name().toLowerCase()),<a name="line.252"></a>
+<span class="sourceLineNo">253</span>        new SaslClientHandler.SaslExceptionHandler() {<a name="line.253"></a>
+<span class="sourceLineNo">254</span>          @Override<a name="line.254"></a>
+<span class="sourceLineNo">255</span>          public void handle(int retryCount, Random random, Throwable cause) {<a name="line.255"></a>
+<span class="sourceLineNo">256</span>            try {<a name="line.256"></a>
+<span class="sourceLineNo">257</span>              // Handle Sasl failure. Try to potentially get new credentials<a name="line.257"></a>
+<span class="sourceLineNo">258</span>              handleSaslConnectionFailure(retryCount, cause, realTicket);<a name="line.258"></a>
+<span class="sourceLineNo">259</span><a name="line.259"></a>
+<span class="sourceLineNo">260</span>              retryOrClose(bootstrap, failureCounter++, random.nextInt(reloginMaxBackoff) + 1,<a name="line.260"></a>
+<span class="sourceLineNo">261</span>                  cause);<a name="line.261"></a>
+<span class="sourceLineNo">262</span>            } catch (IOException | InterruptedException e) {<a name="line.262"></a>
+<span class="sourceLineNo">263</span>              close(e);<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>        }, new SaslClientHandler.SaslSuccessfulConnectHandler() {<a name="line.266"></a>
+<span class="sourceLineNo">267</span>          @Override<a name="line.267"></a>
+<span class="sourceLineNo">268</span>          public void onSuccess(Channel channel) {<a name="line.268"></a>
+<span class="sourceLineNo">269</span>            startHBaseConnection(channel);<a name="line.269"></a>
+<span class="sourceLineNo">270</span>          }<a name="line.270"></a>
+<span class="sourceLineNo">271</span>        });<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  }<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>   * Retry to connect or close<a name="line.275"></a>
+<span class="sourceLineNo">276</span>   *<a name="line.276"></a>
+<span class="sourceLineNo">277</span>   * @param bootstrap      to connect with<a name="line.277"></a>
+<span class="sourceLineNo">278</span>   * @param failureCount   failure count<a name="line.278"></a>
+<span class="sourceLineNo">279</span>   * @param e              exception of fail<a name="line.279"></a>
+<span class="sourceLineNo">280</span>   */<a name="line.280"></a>
+<span class="sourceLineNo">281</span>  private void retryOrClose(final Bootstrap bootstrap, int failureCount,<a name="line.281"></a>
+<span class="sourceLineNo">282</span>      long timeout, Throwable e) {<a name="line.282"></a>
+<span class="sourceLineNo">283</span>    if (failureCount &lt; client.maxRetries) {<a name="line.283"></a>
+<span class="sourceLineNo">284</span>      client.newTimeout(new TimerTask() {<a name="line.284"></a>
+<span class="sourceLineNo">285</span>        @Override<a name="line.285"></a>
+<span class="sourceLineNo">286</span>        public void run(Timeout timeout) throws Exception {<a name="line.286"></a>
+<span class="sourceLineNo">287</span>          connect(bootstrap);<a name="line.287"></a>
+<span class="sourceLineNo">288</span>        }<a name="line.288"></a>
+<span class="sourceLineNo">289</span>      }, timeout, TimeUnit.MILLISECONDS);<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    } else {<a name="line.290"></a>
+<span class="sourceLineNo">291</span>      client.failedServers.addToFailedServers(address);<a name="line.291"></a>
+<span class="sourceLineNo">292</span>      close(e);<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>   * Calls method on channel<a name="line.297"></a>
+<span class="sourceLineNo">298</span>   * @param method to call<a name="line.298"></a>
+<span class="sourceLineNo">299</span>   * @param controller to run call with<a name="line.299"></a>
+<span class="sourceLineNo">300</span>   * @param request to send<a name="line.300"></a>
+<span class="sourceLineNo">301</span>   * @param responsePrototype to construct response with<a name="line.301"></a>
+<span class="sourceLineNo">302</span>   */<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  public Promise&lt;Message&gt; callMethod(final Descriptors.MethodDescriptor method,<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      final PayloadCarryingRpcController controller, final Message request,<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      final Message responsePrototype, MetricsConnection.CallStats callStats) {<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    final AsyncCall call =<a name="line.306"></a>
+<span class="sourceLineNo">307</span>        new AsyncCall(channel.eventLoop(), client.callIdCnt.getAndIncrement(), method, request,<a name="line.307"></a>
+<span class="sourceLineNo">308</span>            controller, responsePrototype, callStats);<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    controller.notifyOnCancel(new RpcCallback&lt;Object&gt;() {<a name="line.309"></a>
+<span class="sourceLineNo">310</span>      @Override<a name="line.310"></a>
+<span class="sourceLineNo">311</span>      public void run(Object parameter) {<a name="line.311"></a>
+<span class="sourceLineNo">312</span>        // TODO: do not need to call AsyncCall.setFailed?<a name="line.312"></a>
+<span class="sourceLineNo">313</span>        synchronized (pendingCalls) {<a name="line.313"></a>
+<span class="sourceLineNo">314</span>          pendingCalls.remove(call.id);<a name="line.314"></a>
+<span class="sourceLineNo">315</span>        }<a name="line.315"></a>
+<span class="sourceLineNo">316</span>      }<a name="line.316"></a>
+<span class="sourceLineNo">317</span>    });<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    // TODO: this should be handled by PayloadCarryingRpcController.<a name="line.318"></a>
+<span class="sourceLineNo">319</span>    if (controller.isCanceled()) {<a name="line.319"></a>
+<span class="sourceLineNo">320</span>      // To finish if the call was cancelled before we set the notification (race condition)<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      call.cancel(true);<a name="line.321"></a>
+<span class="sourceLineNo">322</span>      return call;<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>    synchronized (pendingCalls) {<a name="line.325"></a>
+<span class="sourceLineNo">326</span>      if (closed) {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>        Promise&lt;Message&gt; promise = channel.eventLoop().newPromise();<a name="line.327"></a>
+<span class="sourceLineNo">328</span>        promise.setFailure(new ConnectException());<a name="line.328"></a>
+<span class="sourceLineNo">329</span>        return promise;<a name="line.329"></a>
+<span class="sourceLineNo">330</span>      }<a name="line.330"></a>
+<span class="sourceLineNo">331</span>      pendingCalls.put(call.id, call);<a name="line.331"></a>
+<span class="sourceLineNo">332</span>      // Add timeout for cleanup if none is present<a name="line.332"></a>
+<span class="sourceLineNo">333</span>      if (cleanupTimer == null &amp;&amp; call.getRpcTimeout() &gt; 0) {<a name="line.333"></a>
+<span class="sourceLineNo">334</span>        cleanupTimer =<a name="line.334"></a>
+<span class="sourceLineNo">335</span>            client.newTimeout(timeoutTask, call.getRpcTimeout(),<a name="line.335"></a>
+<span class="sourceLineNo">336</span>              TimeUnit.MILLISECONDS);<a name="line.336"></a>
+<span class="sourceLineNo">337</span>      }<a name="line.337"></a>
+<span class="sourceLineNo">338</span>      if (!connected) {<a name="line.338"></a>
+<span class="sourceLineNo">339</span>        return call;<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>    writeRequest(call);<a name="line.342"></a>
+<span class="sourceLineNo">343</span>    return call;<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>  AsyncCall removePendingCall(int id) {<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    synchronized (pendingCalls) {<a name="line.347"></a>
+<span class="sourceLineNo">348</span>      return pendingCalls.remove(id);<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    }<a name="line.349"></a>
+<span class="sourceLineNo">350</span>  }<a name="line.350"></a>
+<span class="sourceLineNo">351</span><a name="line.351"></a>
+<span class="sourceLineNo">352</span>  /**<a name="line.352"></a>
+<span class="sourceLineNo">353</span>   * Write the channel header<a name="line.353"></a>
+<span class="sourceLineNo">354</span>   *<a name="line.354"></a>
+<span class="sourceLineNo">355</span>   * @param channel to write to<a name="line.355"></a>
+<span class="sourceLineNo">356</span>   * @return future of write<a name="line.356"></a>
+<span class="sourceLineNo">357</span>   * @throws java.io.IOException on failure to write<a name="line.357"></a>
+<span class="sourceLineNo">358</span>   */<a name="line.358"></a>
+<span class="sourceLineNo">359</span>  private ChannelFuture writeChannelHeader(Channel channel) throws IOException {<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    RPCProtos.ConnectionHeader.Builder headerBuilder =<a name="line.360"></a>
+<span class="sourceLineNo">361</span>        RPCProtos.ConnectionHeader.newBuilder().setServiceName(serviceName);<a name="line.361"></a>
+<span class="sourceLineNo">362</span><a name="line.362"></a>
+<span class="sourceLineNo">363</span>    RPCProtos.UserInformation userInfoPB = buildUserInfo(ticket.getUGI(), authMethod);<a name="line.363"></a>
+<span class="sourceLineNo">364</span>    if (userInfoPB != null) {<a name="line.364"></a>
+<span class="sourceLineNo">365</span>      headerBuilder.setUserInfo(userInfoPB);<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>    if (client.codec != null) {<a name="line.368"></a>
+<span class="sourceLineNo">369</span>      headerBuilder.setCellBlockCodecClass(client.codec.getClass().getCanonicalName());<a name="line.369"></a>
+<span class="sourceLineNo">370</span>    }<a name="line.370"></a>
+<span class="sourceLineNo">371</span>    if (client.compressor != null) {<a name="line.371"></a>
+<span class="sourceLineNo">372</span>      headerBuilder.setCellBlockCompressorClass(client.compressor.getClass().getCanonicalName());<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>    headerBuilder.setVersionInfo(ProtobufUtil.getVersionInfo());<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    RPCProtos.ConnectionHeader header = headerBuilder.build();<a name="line.376"></a>
+<span class="sourceLineNo">377</span><a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>    int totalSize = IPCUtil.getTotalSizeWhenWrittenDelimited(header);<a name="line.379"></a>
+<span class="sourceLineNo">380</span><a name="line.380"></a>
+<span class="sourceLineNo">381</span>    ByteBuf b = channel.alloc().directBuffer(totalSize);<a name="line.381"></a>
+<span class="sourceLineNo">382</span><a name="line.382"></a>
+<span class="sourceLineNo">383</span>    b.writeInt(header.getSerializedSize());<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    b.writeBytes(header.toByteArray());<a name="line.384"></a>
+<span class="sourceLineNo">385</span><a name="line.385"></a>
+<span class="sourceLineNo">386</span>    return channel.writeAndFlush(b);<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>   * Write request to channel<a name="line.390"></a>
+<span class="sourceLineNo">391</span>   *<a name="line.391"></a>
+<span class="sourceLineNo">392</span>   * @param call    to write<a name="line.392"></a>
+<span class="sourceLineNo">393</span>   */<a name="line.393"></a>
+<span class="sourceLineNo">394</span>  private void writeRequest(final AsyncCall call) {<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    try {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      final RPCProtos.RequestHeader.Builder requestHeaderBuilder = RPCProtos.RequestHeader<a name="line.396"></a>
+<span class="sourceLineNo">397</span>          .newBuilder();<a name="line.397"></a>
+<span class="sourceLineNo">398</span>      requestHeaderBuilder.setCallId(call.id)<a name="line.398"></a>
+<span class="sourceLineNo">399</span>              .setMethodName(call.method.getName()).setRequestParam(call.param != null);<a name="line.399"></a>
+<span class="sourceLineNo">400</span><a name="line.400"></a>
+<span class="sourceLineNo">401</span>      if (Trace.isTracing()) {<a name="line.401"></a>
+<span class="sourceLineNo">402</span>        Span s = Trace.currentSpan();<a name="line.402"></a>
+<span class="sourceLineNo">403</span>        requestHeaderBuilder.setTraceInfo(TracingProtos.RPCTInfo.newBuilder().<a name="line.403"></a>
+<span class="sourceLineNo">404</span>            setParentId(s.getSpanId()).setTraceId(s.getTraceId()));<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>      ByteBuffer cellBlock = client.buildCellBlock(call.controller.cellScanner());<a name="line.407"></a>
+<span class="sourceLineNo">408</span>      if (cellBlock != null) {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>        final RPCProtos.CellBlockMeta.Builder cellBlockBuilder = RPCProtos.CellBlockMeta<a name="line.409"></a>
+<span class="sourceLineNo">410</span>            .newBuilder();<a name="line.410"></a>
+<span class="sourceLineNo">411</span>        cellBlockBuilder.setLength(cellBlock.limit());<a name="line.411"></a>
+<span class="sourceLineNo">412</span>        requestHeaderBuilder.setCellBlockMeta(cellBlockBuilder.build());<a name="line.412"></a>
+<span class="sourceLineNo">413</span>      }<a name="line.413"></a>
+<span class="sourceLineNo">414</span>      // Only pass priority if there one.  Let zero be same as no priority.<a name="line.414"></a>
+<span class="sourceLineNo">415</span>      if (call.controller.getPriority() != 0) {<a name="line.415"></a>
+<span class="sourceLineNo">416</span>        requestHeaderBuilder.setPriority(call.controller.getPriority());<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>      RPCProtos.RequestHeader rh = requestHeaderBuilder.build();<a name="line.419"></a>
+<span class="sourceLineNo">420</span><a name="line.420"></a>
+<span class="sourceLineNo">421</span>      int totalSize = IPCUtil.getTotalSizeWhenWrittenDelimited(rh, call.param);<a name="line.421"></a>
+<span class="sourceLineNo">422</span>      if (cellBlock != null) {<a name="line.422"></a>
+<span class="sourceLineNo">423</span>        totalSize += cellBlock.remaining();<a name="line.423"></a>
+<span class="sourceLineNo">424</span>      }<a name="line.424"></a>
+<span class="sourceLineNo">425</span><a name="line.425"></a>
+<span class="sourceLineNo">426</span>      ByteBuf b = channel.alloc().directBuffer(4 + totalSize);<a name="line.426"></a>
+<span class="sourceLineNo">427</span>      try(ByteBufOutputStream out = new ByteBufOutputStream(b)) {<a name="line.427"></a>
+<span class="sourceLineNo">428</span>        call.callStats.setRequestSizeBytes(IPCUtil.write(out, rh, call.param, cellBlock));<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>      channel.writeAndFlush(b).addListener(new CallWriteListener(this, call.id));<a name="line.431"></a>
+<span class="sourceLineNo">432</span>    } catch (IOException e) {<a name="line.432"></a>
+<span class="sourceLineNo">433</span>      close(e);<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><a name="line.436"></a>
+<span class="sourceLineNo">437</span>  /**<a name="line.437"></a>
+<span class="sourceLineNo">438</span>   * Set up server authorization<a name="line.438"></a>
+<span class="sourceLineNo">439</span>   *<a name="line.439"></a>
+<span class="sourceLineNo">440</span>   * @throws java.io.IOException if auth setup failed<a name="line.440"></a>
+<span class="sourceLineNo">441</span>   */<a name="line.441"></a>
+<span class="sourceLineNo">442</span>  private void setupAuthorization() throws IOException {<a name="line.442"></a>
+<span class="sourceLineNo">443</span>    SecurityInfo securityInfo = SecurityInfo.getInfo(serviceName);<a name="line.443"></a>
+<span class="sourceLineNo">444</span>    this.useSasl = client.userProvider.isHBaseSecurityEnabled();<a name="line.444"></a>
 <span class="sourceLineNo">445</span><a name="line.445"></a>
-<span class="sourceLineNo">446</span>  /**<a name="line.446"></a>
-<span class="sourceLineNo">447</span>   * Set up server authorization<a name="line.447"></a>
-<span class="sourceLineNo">448</span>   *<a name="line.448"></a>
-<span class="sourceLineNo">449</span>   * @throws java.io.IOException if auth setup failed<a name="line.449"></a>
-<span class="sourceLineNo">450</span>   */<a name="line.450"></a>
-<span class="sourceLineNo">451</span>  private void setupAuthorization() throws IOException {<a name="line.451"></a>
-<span class="sourceLineNo">452</span>    SecurityInfo securityInfo = SecurityInfo.getInfo(serviceName);<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    this.useSasl = client.userProvider.isHBaseSecurityEnabled();<a name="line.453"></a>
-<span class="sourceLineNo">454</span><a name="line.454"></a>
-<span class="sourceLineNo">455</span>    this.token = null;<a name="line.455"></a>
-<span class="sourceLineNo">456</span>    if (useSasl &amp;&amp; securityInfo != null) {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>      AuthenticationProtos.TokenIdentifier.Kind tokenKind = securityInfo.getTokenKind();<a name="line.457"></a>
-<span class="sourceLineNo">458</span>      if (tokenKind != null) {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>        TokenSelector&lt;? extends TokenIdentifier&gt; tokenSelector = tokenHandlers.get(tokenKind);<a name="line.459"></a>
-<span class="sourceLineNo">460</span>        if (tokenSelector != null) {<a name="line.460"></a>
-<span class="sourceLineNo">461</span>          token = tokenSelector<a name="line.461"></a>
-<span class="sourceLineNo">462</span>              .selectToken(new Text(client.clusterId), ticket.getUGI().getTokens());<a name="line.462"></a>
-<span class="sourceLineNo">463</span>        } else if (LOG.isDebugEnabled()) {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>          LOG.debug("No token selector found for type " + tokenKind);<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>      String serverKey = securityInfo.getServerPrincipal();<a name="line.467"></a>
-<span class="sourceLineNo">468</span>      if (serverKey == null) {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>        throw new IOException("Can't obtain server Kerberos config key from SecurityInfo");<a name="line.469"></a>
-<span class="sourceLineNo">470</span>      }<a name="line.470"></a>
-<span class="sourceLineNo">471</span>      this.serverPrincipal = SecurityUtil.getServerPrincipal(client.conf.get(serverKey),<a name="line.471"></a>
-<span class="sourceLineNo">472</span>          address.getAddress().getCanonicalHostName().toLowerCase());<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      if (LOG.isDebugEnabled()) {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>        LOG.debug("RPC Server Kerberos principal name for service=" + serviceName + " is "<a name="line.474"></a>
-<span class="sourceLineNo">475</span>            + serverPrincipal);<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      }<a name="line.476"></a>
-<span class="sourceLineNo">477</span>    }<a name="line.477"></a>
-<span class="sourceLineNo">478</span><a name="line.478"></a>
-<span class="sourceLineNo">479</span>    if (!useSasl) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>      authMethod = AuthMethod.SIMPLE;<a name="line.480"></a>
-<span class="sourceLineNo">481</span>    } else if (token != null) {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>      authMethod = AuthMethod.DIGEST;<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    } else {<a name="line.483"></a>
-<span class="sourceLineNo">484</span>      authMethod = AuthMethod.KERBEROS;<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    }<a name="line.485"></a>
-<span class="sourceLineNo">486</span><a name="line.486"></a>
-<span class="sourceLineNo">487</span>    if (LOG.isDebugEnabled()) {<a name="line.487"></a>
-<span class="sourceLineNo">488</span>      LOG.debug("Use " + authMethod + " authentication for service " + serviceName +<a name="line.488"></a>
-<span class="sourceLineNo">489</span>          ", sasl=" + useSasl);<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    }<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    reloginMaxBackoff = client.conf.getInt("hbase.security.relogin.maxbackoff", 5000);<a name="line.491"></a>
-<span class="sourceLineNo">492</span>  }<a name="line.492"></a>
-<span class="sourceLineNo">493</span><a name="line.493"></a>
-<span class="sourceLineNo">494</span>  /**<a name="line.494"></a>
-<span class="sourceLineNo">495</span>   * Build the user information<a name="line.495"></a>
-<span class="sourceLineNo">496</span>   *<a name="line.496"></a>
-<span class="sourceLineNo">497</span>   * @param ugi        User Group Information<a name="line.497"></a>
-<span class="sourceLineNo">498</span>   * @param authMethod Authorization method<a name="line.498"></a>
-<span class="sourceLineNo">499</span>   * @return UserInformation protobuf<a name="line.499"></a>
-<span class="sourceLineNo">500</span>   */<a name="line.500"></a>
-<span class="sourceLineNo">501</span>  private RPCProtos.UserInformation buildUserInfo(UserGroupInformation ugi, AuthMethod authMethod) {<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    if (ugi == null || authMethod == AuthMethod.DIGEST) {<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      // Don't send user for token auth<a name="line.503"></a>
-<span class="sourceLineNo">504</span>      return null;<a name="line.504"></a>
-<span class="sourceLineNo">505</span>    }<a name="line.505"></a>
-<span class="sourceLineNo">506</span>    RPCProtos.UserInformation.Builder userInfoPB = RPCProtos.UserInformation.newBuilder();<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    if (authMethod == AuthMethod.KERBEROS) {<a name="line.507"></a>
-<span class="sourceLineNo">508</span>      // Send effective user for Kerberos auth<a name="line.508"></a>
-<span class="sourceLineNo">509</span>      userInfoPB.setEffectiveUser(ugi.getUserName());<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    } else if (authMethod == AuthMethod.SIMPLE) {<a name="line.510"></a>
-<span class="sourceLineNo">511</span>      //Send both effective user and real user for simple auth<a name="line.511"></a>
-<span class="sourceLineNo">512</span>      userInfoPB.setEffectiveUser(ugi.getUserName());<a name="line.512"></a>
-<span class="sourceLineNo">513</span>      if (ugi.getRealUser() != null) {<a name="line.513"></a>
-<span class="sourceLineNo">514</span>        userInfoPB.setRealUser(ugi.getRealUser().getUserName());<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>    return userInfoPB.build();<a name="line.517"></a>
-<span class="sourceLineNo">518</span>  }<a name="line.518"></a>
-<span class="sourceLineNo">519</span><a name="line.519"></a>
-<span class="sourceLineNo">520</span>  /**<a name="line.520"></a>
-<span class="sourceLineNo">521</span>   * Create connection preamble<a name="line.521"></a>
-<span class="sourceLineNo">522</span>   *<a name="line.522"></a>
-<span class="sourceLineNo">523</span>   * @param byteBuf    to write to<a name="line.523"></a>
-<span class="sourceLineNo">524</span>   * @param authMethod to write<a name="line.524"></a>
-<span class="sourceLineNo">525</span>   */<a name="line.525"></a>
-<span class="sourceLineNo">526</span>  private void createPreamble(ByteBuf byteBuf, AuthMethod authMethod) {<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    byteBuf.writeBytes(HConstants.RPC_HEADER);<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    byteBuf.writeByte(HConstants.RPC_CURRENT_VERSION);<a name="line.528"></a>
-<span class="sourceLineNo">529</span>    byteBuf.writeByte(authMethod.code);<a name="line.529"></a>
-<span class="sourceLineNo">530</span>  }<a name="line.530"></a>
-<span class="sourceLineNo">531</span><a name="line.531"></a>
-<span class="sourceLineNo">532</span>  /**<a name="line.532"></a>
-<span class="sourceLineNo">533</span>   * Close connection<a name="line.533"></a>
-<span class="sourceLineNo">534</span>   *<a name="line.534"></a>
-<span class="sourceLineNo">535</span>   * @param e exception on close<a name="line.535"></a>
-<span class="sourceLineNo">536</span>   */<a name="line.536"></a>
-<span class="sourceLineNo">537</span>  public void close(final Throwable e) {<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    client.removeConnection(this);<a name="line.538"></a>
-<span class="sourceLineNo">539</span><a name="line.539"></a>
-<span class="sourceLineNo">540</span>    // Move closing from the requesting thread to the channel thread<a name="line.540"></a>
-<span class="sourceLineNo">541</span>    channel.eventLoop().execute(new Runnable() {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>      @Override<a name="line.542"></a>
-<span class="sourceLineNo">543</span>      public void run() {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>        List&lt;AsyncCall&gt; toCleanup;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>        synchronized (pendingCalls) {<a name="line.545"></a>
-<span class="sourceLineNo">546</span>          if (closed) {<a name="line.546"></a>
-<span class="sourceLineNo">547</span>            return;<a name="line.547"></a>
-<span class="sourceLineNo">548</span>          }<a name="line.548"></a>
-<span class="sourceLineNo">549</span>          closed = true;<a name="line.549"></a>
-<span class="sourceLineNo">550</span>          toCleanup = new ArrayList&lt;AsyncCall&gt;(pendingCalls.values());<a name="lin

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/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 e81a3ca..a9efec4 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
@@ -112,2687 +112,2704 @@
 <span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.master.procedure.EnableTableProcedure;<a name="line.104"></a>
 <span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureConstants;<a name="line.105"></a>
 <span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.master.procedure.ModifyColumnFamilyProcedure;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.master.procedure.ModifyTableProcedure;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.master.procedure.ProcedurePrepareLatch;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.master.procedure.ProcedureSyncWait;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.master.procedure.TruncateTableProcedure;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.master.snapshot.SnapshotManager;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.mob.MobConstants;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.monitoring.MemoryBoundedLogMessageBuffer;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.normalizer.NormalizationPlan;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.normalizer.NormalizationPlan.PlanType;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.procedure.MasterProcedureManagerHost;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.procedure.flush.MasterFlushTableProcedureManager;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionServerInfo;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitLogTask.RecoveryMode;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.quotas.MasterQuotaManager;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.regionserver.DefaultStoreEngine;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.regionserver.HRegionServer;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.regionserver.HStore;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.regionserver.RSRpcServices;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.regionserver.RegionSplitPolicy;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.regionserver.compactions.ExploringCompactionPolicy;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.regionserver.compactions.FIFOCompactionPolicy;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.replication.regionserver.Replication;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.util.Addressing;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.util.HFileArchiveUtil;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.util.HasThread;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.util.IdLock;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.util.ModifyRegionUtils;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.util.VersionInfo;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.util.ZKDataMigrator;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.zookeeper.DrainingServerTracker;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.zookeeper.LoadBalancerTracker;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.zookeeper.MasterAddressTracker;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.zookeeper.MetaTableLocator;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.zookeeper.RegionNormalizerTracker;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.zookeeper.RegionServerTracker;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.zookeeper.ZKClusterId;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.zookeeper.ZKUtil;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.zookeeper.KeeperException;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.mortbay.jetty.Connector;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.mortbay.jetty.nio.SelectChannelConnector;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.mortbay.jetty.servlet.Context;<a name="line.162"></a>
-<span class="sourceLineNo">163</span><a name="line.163"></a>
-<span class="sourceLineNo">164</span>import com.google.common.annotations.VisibleForTesting;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import com.google.common.collect.Maps;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import com.google.protobuf.Descriptors;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import com.google.protobuf.Service;<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> * HMaster is the "master server" for HBase. An HBase cluster has one active<a name="line.170"></a>
-<span class="sourceLineNo">171</span> * master.  If many masters are started, all compete.  Whichever wins goes on to<a name="line.171"></a>
-<span class="sourceLineNo">172</span> * run the cluster.  All others park themselves in their constructor until<a name="line.172"></a>
-<span class="sourceLineNo">173</span> * master or cluster shutdown or until the active master loses its lease in<a name="line.173"></a>
-<span class="sourceLineNo">174</span> * zookeeper.  Thereafter, all running master jostle to take over master role.<a name="line.174"></a>
-<span class="sourceLineNo">175</span> *<a name="line.175"></a>
-<span class="sourceLineNo">176</span> * &lt;p&gt;The Master can be asked shutdown the cluster. See {@link #shutdown()}.  In<a name="line.176"></a>
-<span class="sourceLineNo">177</span> * this case it will tell all regionservers to go down and then wait on them<a name="line.177"></a>
-<span class="sourceLineNo">178</span> * all reporting in that they are down.  This master will then shut itself down.<a name="line.178"></a>
-<span class="sourceLineNo">179</span> *<a name="line.179"></a>
-<span class="sourceLineNo">180</span> * &lt;p&gt;You can also shutdown just this master.  Call {@link #stopMaster()}.<a name="line.180"></a>
-<span class="sourceLineNo">181</span> *<a name="line.181"></a>
-<span class="sourceLineNo">182</span> * @see org.apache.zookeeper.Watcher<a name="line.182"></a>
-<span class="sourceLineNo">183</span> */<a name="line.183"></a>
-<span class="sourceLineNo">184</span>@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.TOOLS)<a name="line.184"></a>
-<span class="sourceLineNo">185</span>@SuppressWarnings("deprecation")<a name="line.185"></a>
-<span class="sourceLineNo">186</span>public class HMaster extends HRegionServer implements MasterServices {<a name="line.186"></a>
-<span class="sourceLineNo">187</span>  private static final Log LOG = LogFactory.getLog(HMaster.class.getName());<a name="line.187"></a>
-<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span>  /**<a name="line.189"></a>
-<span class="sourceLineNo">190</span>   * Protection against zombie master. Started once Master accepts active responsibility and<a name="line.190"></a>
-<span class="sourceLineNo">191</span>   * starts taking over responsibilities. Allows a finite time window before giving up ownership.<a name="line.191"></a>
-<span class="sourceLineNo">192</span>   */<a name="line.192"></a>
-<span class="sourceLineNo">193</span>  private static class InitializationMonitor extends HasThread {<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    /** The amount of time in milliseconds to sleep before checking initialization status. */<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    public static final String TIMEOUT_KEY = "hbase.master.initializationmonitor.timeout";<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    public static final long TIMEOUT_DEFAULT = TimeUnit.MILLISECONDS.convert(15, TimeUnit.MINUTES);<a name="line.196"></a>
-<span class="sourceLineNo">197</span><a name="line.197"></a>
-<span class="sourceLineNo">198</span>    /**<a name="line.198"></a>
-<span class="sourceLineNo">199</span>     * When timeout expired and initialization has not complete, call {@link System#exit(int)} when<a name="line.199"></a>
-<span class="sourceLineNo">200</span>     * true, do nothing otherwise.<a name="line.200"></a>
-<span class="sourceLineNo">201</span>     */<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    public static final String HALT_KEY = "hbase.master.initializationmonitor.haltontimeout";<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    public static final boolean HALT_DEFAULT = false;<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>    private final HMaster master;<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    private final long timeout;<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    private final boolean haltOnTimeout;<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>    /** Creates a Thread that monitors the {@link #isInitialized()} state. */<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    InitializationMonitor(HMaster master) {<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      super("MasterInitializationMonitor");<a name="line.211"></a>
-<span class="sourceLineNo">212</span>      this.master = master;<a name="line.212"></a>
-<span class="sourceLineNo">213</span>      this.timeout = master.getConfiguration().getLong(TIMEOUT_KEY, TIMEOUT_DEFAULT);<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      this.haltOnTimeout = master.getConfiguration().getBoolean(HALT_KEY, HALT_DEFAULT);<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      this.setDaemon(true);<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>    @Override<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    public void run() {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      try {<a name="line.220"></a>
-<span class="sourceLineNo">221</span>        while (!master.isStopped() &amp;&amp; master.isActiveMaster()) {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>          Thread.sleep(timeout);<a name="line.222"></a>
-<span class="sourceLineNo">223</span>          if (master.isInitialized()) {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>            LOG.debug("Initialization completed within allotted tolerance. Monitor exiting.");<a name="line.224"></a>
-<span class="sourceLineNo">225</span>          } else {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>            LOG.error("Master failed to complete initialization after " + timeout + "ms. Please"<a name="line.226"></a>
-<span class="sourceLineNo">227</span>                + " consider submitting a bug report including a thread dump of this process.");<a name="line.227"></a>
-<span class="sourceLineNo">228</span>            if (haltOnTimeout) {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>              LOG.error("Zombie Master exiting. Thread dump to stdout");<a name="line.229"></a>
-<span class="sourceLineNo">230</span>              Threads.printThreadInfo(System.out, "Zombie HMaster");<a name="line.230"></a>
-<span class="sourceLineNo">231</span>              System.exit(-1);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>            }<a name="line.232"></a>
-<span class="sourceLineNo">233</span>          }<a name="line.233"></a>
-<span class="sourceLineNo">234</span>        }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      } catch (InterruptedException ie) {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>        LOG.trace("InitMonitor thread interrupted. Existing.");<a name="line.236"></a>
-<span class="sourceLineNo">237</span>      }<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    }<a name="line.238"></a>
-<span class="sourceLineNo">239</span>  }<a name="line.239"></a>
-<span class="sourceLineNo">240</span><a name="line.240"></a>
-<span class="sourceLineNo">241</span>  // MASTER is name of the webapp and the attribute name used stuffing this<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  //instance into web context.<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  public static final String MASTER = "master";<a name="line.243"></a>
-<span class="sourceLineNo">244</span><a name="line.244"></a>
-<span class="sourceLineNo">245</span>  // Manager and zk listener for master election<a name="line.245"></a>
-<span class="sourceLineNo">246</span>  private final ActiveMasterManager activeMasterManager;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>  // Region server tracker<a name="line.247"></a>
-<span class="sourceLineNo">248</span>  RegionServerTracker regionServerTracker;<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  // Draining region server tracker<a name="line.249"></a>
-<span class="sourceLineNo">250</span>  private DrainingServerTracker drainingServerTracker;<a name="line.250"></a>
-<span class="sourceLineNo">251</span>  // Tracker for load balancer state<a name="line.251"></a>
-<span class="sourceLineNo">252</span>  LoadBalancerTracker loadBalancerTracker;<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>  // Tracker for region normalizer state<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  private RegionNormalizerTracker regionNormalizerTracker;<a name="line.255"></a>
-<span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span>  private ClusterSchemaService clusterSchemaService;<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>  // Metrics for the HMaster<a name="line.259"></a>
-<span class="sourceLineNo">260</span>  final MetricsMaster metricsMaster;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  // file system manager for the master FS operations<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  private MasterFileSystem fileSystemManager;<a name="line.262"></a>
-<span class="sourceLineNo">263</span><a name="line.263"></a>
-<span class="sourceLineNo">264</span>  // server manager to deal with region server info<a name="line.264"></a>
-<span class="sourceLineNo">265</span>  volatile ServerManager serverManager;<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>  // manager of assignment nodes in zookeeper<a name="line.267"></a>
-<span class="sourceLineNo">268</span>  AssignmentManager assignmentManager;<a name="line.268"></a>
-<span class="sourceLineNo">269</span><a name="line.269"></a>
-<span class="sourceLineNo">270</span>  // buffer for "fatal error" notices from region servers<a name="line.270"></a>
-<span class="sourceLineNo">271</span>  // in the cluster. This is only used for assisting<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  // operations/debugging.<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  MemoryBoundedLogMessageBuffer rsFatals;<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  // flag set after we become the active master (used for testing)<a name="line.275"></a>
-<span class="sourceLineNo">276</span>  private volatile boolean isActiveMaster = false;<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span>  // flag set after we complete initialization once active,<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  // it is not private since it's used in unit tests<a name="line.279"></a>
-<span class="sourceLineNo">280</span>  volatile boolean initialized = false;<a name="line.280"></a>
-<span class="sourceLineNo">281</span><a name="line.281"></a>
-<span class="sourceLineNo">282</span>  // flag set after master services are started,<a name="line.282"></a>
-<span class="sourceLineNo">283</span>  // initialization may have not completed yet.<a name="line.283"></a>
-<span class="sourceLineNo">284</span>  volatile boolean serviceStarted = false;<a name="line.284"></a>
-<span class="sourceLineNo">285</span><a name="line.285"></a>
-<span class="sourceLineNo">286</span>  // flag set after we complete assignMeta.<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  private volatile boolean serverCrashProcessingEnabled = false;<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span>  LoadBalancer balancer;<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  private RegionNormalizer normalizer;<a name="line.290"></a>
-<span class="sourceLineNo">291</span>  private BalancerChore balancerChore;<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  private RegionNormalizerChore normalizerChore;<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  private ClusterStatusChore clusterStatusChore;<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  private ClusterStatusPublisher clusterStatusPublisherChore = null;<a name="line.294"></a>
-<span class="sourceLineNo">295</span><a name="line.295"></a>
-<span class="sourceLineNo">296</span>  CatalogJanitor catalogJanitorChore;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>  private LogCleaner logCleaner;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>  private HFileCleaner hfileCleaner;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  private ExpiredMobFileCleanerChore expiredMobFileCleanerChore;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>  private MobCompactionChore mobCompactChore;<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  private MasterMobCompactionThread mobCompactThread;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  // used to synchronize the mobCompactionStates<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  private final IdLock mobCompactionLock = new IdLock();<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  // save the information of mob compactions in tables.<a name="line.304"></a>
-<span class="sourceLineNo">305</span>  // the key is table name, the value is the number of compactions in that table.<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  private Map&lt;TableName, AtomicInteger&gt; mobCompactionStates = Maps.newConcurrentMap();<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span>  MasterCoprocessorHost cpHost;<a name="line.308"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.master.procedure.ModifyColumnFamilyProcedure;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.master.procedure.ModifyTableProcedure;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.master.procedure.ProcedurePrepareLatch;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.master.procedure.ProcedureSyncWait;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.master.procedure.TruncateTableProcedure;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.master.snapshot.SnapshotManager;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.mob.MobConstants;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.monitoring.MemoryBoundedLogMessageBuffer;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.normalizer.NormalizationPlan;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.normalizer.NormalizationPlan.PlanType;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.procedure.MasterProcedureManagerHost;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.procedure.flush.MasterFlushTableProcedureManager;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionServerInfo;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitLogTask.RecoveryMode;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.quotas.MasterQuotaManager;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.regionserver.DefaultStoreEngine;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.regionserver.HRegionServer;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.regionserver.HStore;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.regionserver.RSRpcServices;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.regionserver.RegionSplitPolicy;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.regionserver.compactions.ExploringCompactionPolicy;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.regionserver.compactions.FIFOCompactionPolicy;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.replication.regionserver.Replication;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.util.Addressing;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.util.HFileArchiveUtil;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.util.HasThread;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.util.IdLock;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.util.ModifyRegionUtils;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.util.VersionInfo;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.util.ZKDataMigrator;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.zookeeper.DrainingServerTracker;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.zookeeper.LoadBalancerTracker;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.zookeeper.MasterAddressTracker;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.zookeeper.MetaTableLocator;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.zookeeper.RegionNormalizerTracker;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.zookeeper.RegionServerTracker;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.zookeeper.ZKClusterId;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.zookeeper.ZKUtil;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.zookeeper.KeeperException;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.mortbay.jetty.Connector;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.mortbay.jetty.nio.SelectChannelConnector;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.mortbay.jetty.servlet.Context;<a name="line.163"></a>
+<span class="sourceLineNo">164</span><a name="line.164"></a>
+<span class="sourceLineNo">165</span>import com.google.common.annotations.VisibleForTesting;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import com.google.common.collect.Maps;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import com.google.protobuf.Descriptors;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import com.google.protobuf.Service;<a name="line.168"></a>
+<span class="sourceLineNo">169</span><a name="line.169"></a>
+<span class="sourceLineNo">170</span>/**<a name="line.170"></a>
+<span class="sourceLineNo">171</span> * HMaster is the "master server" for HBase. An HBase cluster has one active<a name="line.171"></a>
+<span class="sourceLineNo">172</span> * master.  If many masters are started, all compete.  Whichever wins goes on to<a name="line.172"></a>
+<span class="sourceLineNo">173</span> * run the cluster.  All others park themselves in their constructor until<a name="line.173"></a>
+<span class="sourceLineNo">174</span> * master or cluster shutdown or until the active master loses its lease in<a name="line.174"></a>
+<span class="sourceLineNo">175</span> * zookeeper.  Thereafter, all running master jostle to take over master role.<a name="line.175"></a>
+<span class="sourceLineNo">176</span> *<a name="line.176"></a>
+<span class="sourceLineNo">177</span> * &lt;p&gt;The Master can be asked shutdown the cluster. See {@link #shutdown()}.  In<a name="line.177"></a>
+<span class="sourceLineNo">178</span> * this case it will tell all regionservers to go down and then wait on them<a name="line.178"></a>
+<span class="sourceLineNo">179</span> * all reporting in that they are down.  This master will then shut itself down.<a name="line.179"></a>
+<span class="sourceLineNo">180</span> *<a name="line.180"></a>
+<span class="sourceLineNo">181</span> * &lt;p&gt;You can also shutdown just this master.  Call {@link #stopMaster()}.<a name="line.181"></a>
+<span class="sourceLineNo">182</span> *<a name="line.182"></a>
+<span class="sourceLineNo">183</span> * @see org.apache.zookeeper.Watcher<a name="line.183"></a>
+<span class="sourceLineNo">184</span> */<a name="line.184"></a>
+<span class="sourceLineNo">185</span>@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.TOOLS)<a name="line.185"></a>
+<span class="sourceLineNo">186</span>@SuppressWarnings("deprecation")<a name="line.186"></a>
+<span class="sourceLineNo">187</span>public class HMaster extends HRegionServer implements MasterServices {<a name="line.187"></a>
+<span class="sourceLineNo">188</span>  private static final Log LOG = LogFactory.getLog(HMaster.class.getName());<a name="line.188"></a>
+<span class="sourceLineNo">189</span><a name="line.189"></a>
+<span class="sourceLineNo">190</span>  /**<a name="line.190"></a>
+<span class="sourceLineNo">191</span>   * Protection against zombie master. Started once Master accepts active responsibility and<a name="line.191"></a>
+<span class="sourceLineNo">192</span>   * starts taking over responsibilities. Allows a finite time window before giving up ownership.<a name="line.192"></a>
+<span class="sourceLineNo">193</span>   */<a name="line.193"></a>
+<span class="sourceLineNo">194</span>  private static class InitializationMonitor extends HasThread {<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    /** The amount of time in milliseconds to sleep before checking initialization status. */<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    public static final String TIMEOUT_KEY = "hbase.master.initializationmonitor.timeout";<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    public static final long TIMEOUT_DEFAULT = TimeUnit.MILLISECONDS.convert(15, TimeUnit.MINUTES);<a name="line.197"></a>
+<span class="sourceLineNo">198</span><a name="line.198"></a>
+<span class="sourceLineNo">199</span>    /**<a name="line.199"></a>
+<span class="sourceLineNo">200</span>     * When timeout expired and initialization has not complete, call {@link System#exit(int)} when<a name="line.200"></a>
+<span class="sourceLineNo">201</span>     * true, do nothing otherwise.<a name="line.201"></a>
+<span class="sourceLineNo">202</span>     */<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    public static final String HALT_KEY = "hbase.master.initializationmonitor.haltontimeout";<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    public static final boolean HALT_DEFAULT = false;<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>    private final HMaster master;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    private final long timeout;<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    private final boolean haltOnTimeout;<a name="line.208"></a>
+<span class="sourceLineNo">209</span><a name="line.209"></a>
+<span class="sourceLineNo">210</span>    /** Creates a Thread that monitors the {@link #isInitialized()} state. */<a name="line.210"></a>
+<span class="sourceLineNo">211</span>    InitializationMonitor(HMaster master) {<a name="line.211"></a>
+<span class="sourceLineNo">212</span>      super("MasterInitializationMonitor");<a name="line.212"></a>
+<span class="sourceLineNo">213</span>      this.master = master;<a name="line.213"></a>
+<span class="sourceLineNo">214</span>      this.timeout = master.getConfiguration().getLong(TIMEOUT_KEY, TIMEOUT_DEFAULT);<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      this.haltOnTimeout = master.getConfiguration().getBoolean(HALT_KEY, HALT_DEFAULT);<a name="line.215"></a>
+<span class="sourceLineNo">216</span>      this.setDaemon(true);<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    }<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>    @Override<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    public void run() {<a name="line.220"></a>
+<span class="sourceLineNo">221</span>      try {<a name="line.221"></a>
+<span class="sourceLineNo">222</span>        while (!master.isStopped() &amp;&amp; master.isActiveMaster()) {<a name="line.222"></a>
+<span class="sourceLineNo">223</span>          Thread.sleep(timeout);<a name="line.223"></a>
+<span class="sourceLineNo">224</span>          if (master.isInitialized()) {<a name="line.224"></a>
+<span class="sourceLineNo">225</span>            LOG.debug("Initialization completed within allotted tolerance. Monitor exiting.");<a name="line.225"></a>
+<span class="sourceLineNo">226</span>          } else {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>            LOG.error("Master failed to complete initialization after " + timeout + "ms. Please"<a name="line.227"></a>
+<span class="sourceLineNo">228</span>                + " consider submitting a bug report including a thread dump of this process.");<a name="line.228"></a>
+<span class="sourceLineNo">229</span>            if (haltOnTimeout) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>              LOG.error("Zombie Master exiting. Thread dump to stdout");<a name="line.230"></a>
+<span class="sourceLineNo">231</span>              Threads.printThreadInfo(System.out, "Zombie HMaster");<a name="line.231"></a>
+<span class="sourceLineNo">232</span>              System.exit(-1);<a name="line.232"></a>
+<span class="sourceLineNo">233</span>            }<a name="line.233"></a>
+<span class="sourceLineNo">234</span>          }<a name="line.234"></a>
+<span class="sourceLineNo">235</span>        }<a name="line.235"></a>
+<span class="sourceLineNo">236</span>      } catch (InterruptedException ie) {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>        LOG.trace("InitMonitor thread interrupted. Existing.");<a name="line.237"></a>
+<span class="sourceLineNo">238</span>      }<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    }<a name="line.239"></a>
+<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
+<span class="sourceLineNo">241</span><a name="line.241"></a>
+<span class="sourceLineNo">242</span>  // MASTER is name of the webapp and the attribute name used stuffing this<a name="line.242"></a>
+<span class="sourceLineNo">243</span>  //instance into web context.<a name="line.243"></a>
+<span class="sourceLineNo">244</span>  public static final String MASTER = "master";<a name="line.244"></a>
+<span class="sourceLineNo">245</span><a name="line.245"></a>
+<span class="sourceLineNo">246</span>  // Manager and zk listener for master election<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  private final ActiveMasterManager activeMasterManager;<a name="line.247"></a>
+<span class="sourceLineNo">248</span>  // Region server tracker<a name="line.248"></a>
+<span class="sourceLineNo">249</span>  RegionServerTracker regionServerTracker;<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  // Draining region server tracker<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  private DrainingServerTracker drainingServerTracker;<a name="line.251"></a>
+<span class="sourceLineNo">252</span>  // Tracker for load balancer state<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  LoadBalancerTracker loadBalancerTracker;<a name="line.253"></a>
+<span class="sourceLineNo">254</span><a name="line.254"></a>
+<span class="sourceLineNo">255</span>  // Tracker for region normalizer state<a name="line.255"></a>
+<span class="sourceLineNo">256</span>  private RegionNormalizerTracker regionNormalizerTracker;<a name="line.256"></a>
+<span class="sourceLineNo">257</span><a name="line.257"></a>
+<span class="sourceLineNo">258</span>  private ClusterSchemaService clusterSchemaService;<a name="line.258"></a>
+<span class="sourceLineNo">259</span><a name="line.259"></a>
+<span class="sourceLineNo">260</span>  // Metrics for the HMaster<a name="line.260"></a>
+<span class="sourceLineNo">261</span>  final MetricsMaster metricsMaster;<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  // file system manager for the master FS operations<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  private MasterFileSystem fileSystemManager;<a name="line.263"></a>
+<span class="sourceLineNo">264</span><a name="line.264"></a>
+<span class="sourceLineNo">265</span>  // server manager to deal with region server info<a name="line.265"></a>
+<span class="sourceLineNo">266</span>  volatile ServerManager serverManager;<a name="line.266"></a>
+<span class="sourceLineNo">267</span><a name="line.267"></a>
+<span class="sourceLineNo">268</span>  // manager of assignment nodes in zookeeper<a name="line.268"></a>
+<span class="sourceLineNo">269</span>  AssignmentManager assignmentManager;<a name="line.269"></a>
+<span class="sourceLineNo">270</span><a name="line.270"></a>
+<span class="sourceLineNo">271</span>  // buffer for "fatal error" notices from region servers<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  // in the cluster. This is only used for assisting<a name="line.272"></a>
+<span class="sourceLineNo">273</span>  // operations/debugging.<a name="line.273"></a>
+<span class="sourceLineNo">274</span>  MemoryBoundedLogMessageBuffer rsFatals;<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></a>
+<span class="sourceLineNo">276</span>  // flag set after we become the active master (used for testing)<a name="line.276"></a>
+<span class="sourceLineNo">277</span>  private volatile boolean isActiveMaster = false;<a name="line.277"></a>
+<span class="sourceLineNo">278</span><a name="line.278"></a>
+<span class="sourceLineNo">279</span>  // flag set after we complete initialization once active,<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  // it is not private since it's used in unit tests<a name="line.280"></a>
+<span class="sourceLineNo">281</span>  private final ProcedureEvent initialized = new ProcedureEvent("master initialized");<a name="line.281"></a>
+<span class="sourceLineNo">282</span><a name="line.282"></a>
+<span class="sourceLineNo">283</span>  // flag set after master services are started,<a name="line.283"></a>
+<span class="sourceLineNo">284</span>  // initialization may have not completed yet.<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  volatile boolean serviceStarted = false;<a name="line.285"></a>
+<span class="sourceLineNo">286</span><a name="line.286"></a>
+<span class="sourceLineNo">287</span>  // flag set after we complete assignMeta.<a name="line.287"></a>
+<span class="sourceLineNo">288</span>  private final ProcedureEvent serverCrashProcessingEnabled =<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    new ProcedureEvent("server crash processing");<a name="line.289"></a>
+<span class="sourceLineNo">290</span><a name="line.290"></a>
+<span class="sourceLineNo">291</span>  LoadBalancer balancer;<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  private RegionNormalizer normalizer;<a name="line.292"></a>
+<span class="sourceLineNo">293</span>  private BalancerChore balancerChore;<a name="line.293"></a>
+<span class="sourceLineNo">294</span>  private RegionNormalizerChore normalizerChore;<a name="line.294"></a>
+<span class="sourceLineNo">295</span>  private ClusterStatusChore clusterStatusChore;<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  private ClusterStatusPublisher clusterStatusPublisherChore = null;<a name="line.296"></a>
+<span class="sourceLineNo">297</span><a name="line.297"></a>
+<span class="sourceLineNo">298</span>  CatalogJanitor catalogJanitorChore;<a name="line.298"></a>
+<span class="sourceLineNo">299</span>  private LogCleaner logCleaner;<a name="line.299"></a>
+<span class="sourceLineNo">300</span>  private HFileCleaner hfileCleaner;<a name="line.300"></a>
+<span class="sourceLineNo">301</span>  private ExpiredMobFileCleanerChore expiredMobFileCleanerChore;<a name="line.301"></a>
+<span class="sourceLineNo">302</span>  private MobCompactionChore mobCompactChore;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  private MasterMobCompactionThread mobCompactThread;<a name="line.303"></a>
+<span class="sourceLineNo">304</span>  // used to synchronize the mobCompactionStates<a name="line.304"></a>
+<span class="sourceLineNo">305</span>  private final IdLock mobCompactionLock = new IdLock();<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  // save the information of mob compactions in tables.<a name="line.306"></a>
+<span class="sourceLineNo">307</span>  // the key is table name, the value is the number of compactions in that table.<a name="line.307"></a>
+<span class="sourceLineNo">308</span>  private Map&lt;TableName, AtomicInteger&gt; mobCompactionStates = Maps.newConcurrentMap();<a name="line.308"></a>
 <span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>  private final boolean preLoadTableDescriptors;<a name="line.310"></a>
+<span class="sourceLineNo">310</span>  MasterCoprocessorHost cpHost;<a name="line.310"></a>
 <span class="sourceLineNo">311</span><a name="line.311"></a>
-<span class="sourceLineNo">312</span>  // Time stamps for when a hmaster became active<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  private long masterActiveTime;<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  //should we check the compression codec type at master side, default true, HBASE-6370<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  private final boolean masterCheckCompression;<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>  //should we check encryption settings at master side, default true<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  private final boolean masterCheckEncryption;<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>  Map&lt;String, Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.321"></a>
+<span class="sourceLineNo">312</span>  private final boolean preLoadTableDescriptors;<a name="line.312"></a>
+<span class="sourceLineNo">313</span><a name="line.313"></a>
+<span class="sourceLineNo">314</span>  // Time stamps for when a hmaster became active<a name="line.314"></a>
+<span class="sourceLineNo">315</span>  private long masterActiveTime;<a name="line.315"></a>
+<span class="sourceLineNo">316</span><a name="line.316"></a>
+<span class="sourceLineNo">317</span>  //should we check the compression codec type at master side, default true, HBASE-6370<a name="line.317"></a>
+<span class="sourceLineNo">318</span>  private final boolean masterCheckCompression;<a name="line.318"></a>
+<span class="sourceLineNo">319</span><a name="line.319"></a>
+<span class="sourceLineNo">320</span>  //should we check encryption settings at master side, default true<a name="line.320"></a>
+<span class="sourceLineNo">321</span>  private final boolean masterCheckEncryption;<a name="line.321"></a>
 <span class="sourceLineNo">322</span><a name="line.322"></a>
-<span class="sourceLineNo">323</span>  // monitor for snapshot of hbase tables<a name="line.323"></a>
-<span class="sourceLineNo">324</span>  SnapshotManager snapshotManager;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  // monitor for distributed procedures<a name="line.325"></a>
-<span class="sourceLineNo">326</span>  MasterProcedureManagerHost mpmHost;<a name="line.326"></a>
-<span class="sourceLineNo">327</span><a name="line.327"></a>
-<span class="sourceLineNo">328</span>  // it is assigned after 'initialized' guard set to true, so should be volatile<a name="line.328"></a>
-<span class="sourceLineNo">329</span>  private volatile MasterQuotaManager quotaManager;<a name="line.329"></a>
-<span class="sourceLineNo">330</span><a name="line.330"></a>
-<span class="sourceLineNo">331</span>  private ProcedureExecutor&lt;MasterProcedureEnv&gt; procedureExecutor;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  private WALProcedureStore procedureStore;<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>  // handle table states<a name="line.334"></a>
-<span class="sourceLineNo">335</span>  private TableStateManager tableStateManager;<a name="line.335"></a>
-<span class="sourceLineNo">336</span>  <a name="line.336"></a>
-<span class="sourceLineNo">337</span>  private long splitPlanCount;<a name="line.337"></a>
-<span class="sourceLineNo">338</span>  private long mergePlanCount;<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>  /** flag used in test cases in order to simulate RS failures during master initialization */<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  private volatile boolean initializationBeforeMetaAssignment = false;<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>  /** jetty server for master to redirect requests to regionserver infoServer */<a name="line.343"></a>
-<span class="sourceLineNo">344</span>  private org.mortbay.jetty.Server masterJettyServer;<a name="line.344"></a>
-<span class="sourceLineNo">345</span><a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public static class RedirectServlet extends HttpServlet {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    private static final long serialVersionUID = 2894774810058302472L;<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    private static int regionServerInfoPort;<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>    @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    public void doGet(HttpServletRequest request,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>        HttpServletResponse response) throws ServletException, IOException {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      String redirectUrl = request.getScheme() + "://"<a name="line.353"></a>
-<span class="sourceLineNo">354</span>        + request.getServerName() + ":" + regionServerInfoPort<a name="line.354"></a>
-<span class="sourceLineNo">355</span>        + request.getRequestURI();<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      response.sendRedirect(redirectUrl);<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    }<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  }<a name="line.358"></a>
-<span class="sourceLineNo">359</span><a name="line.359"></a>
-<span class="sourceLineNo">360</span>  /**<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   * Initializes the HMaster. The steps are as follows:<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   * &lt;p&gt;<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   * &lt;ol&gt;<a name="line.363"></a>
-<span class="sourceLineNo">364</span>   * &lt;li&gt;Initialize the local HRegionServer<a name="line.364"></a>
-<span class="sourceLineNo">365</span>   * &lt;li&gt;Start the ActiveMasterManager.<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   * &lt;/ol&gt;<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * &lt;p&gt;<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * Remaining steps of initialization occur in<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   * #finishActiveMasterInitialization(MonitoredTask) after<a name="line.369"></a>
-<span class="sourceLineNo">370</span>   * the master becomes the active one.<a name="line.370"></a>
-<span class="sourceLineNo">371</span>   */<a name="line.371"></a>
-<span class="sourceLineNo">372</span>  public HMaster(final Configuration conf, CoordinatedStateManager csm)<a name="line.372"></a>
-<span class="sourceLineNo">373</span>      throws IOException, KeeperException {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    super(conf, csm);<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    this.rsFatals = new MemoryBoundedLogMessageBuffer(<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      conf.getLong("hbase.master.buffer.for.rs.fatals", 1*1024*1024));<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>    LOG.info("hbase.rootdir=" + FSUtils.getRootDir(this.conf) +<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      ", hbase.cluster.distributed=" + this.conf.getBoolean(HConstants.CLUSTER_DISTRIBUTED, false));<a name="line.379"></a>
-<span class="sourceLineNo">380</span><a name="line.380"></a>
-<span class="sourceLineNo">381</span>    // Disable usage of meta replicas in the master<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    this.conf.setBoolean(HConstants.USE_META_REPLICAS, false);<a name="line.382"></a>
-<span class="sourceLineNo">383</span><a name="line.383"></a>
-<span class="sourceLineNo">384</span>    Replication.decorateMasterConfiguration(this.conf);<a name="line.384"></a>
+<span class="sourceLineNo">323</span>  Map&lt;String, Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.323"></a>
+<span class="sourceLineNo">324</span><a name="line.324"></a>
+<span class="sourceLineNo">325</span>  // monitor for snapshot of hbase tables<a name="line.325"></a>
+<span class="sourceLineNo">326</span>  SnapshotManager snapshotManager;<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  // monitor for distributed procedures<a name="line.327"></a>
+<span class="sourceLineNo">328</span>  MasterProcedureManagerHost mpmHost;<a name="line.328"></a>
+<span class="sourceLineNo">329</span><a name="line.329"></a>
+<span class="sourceLineNo">330</span>  // it is assigned after 'initialized' guard set to true, so should be volatile<a name="line.330"></a>
+<span class="sourceLineNo">331</span>  private volatile MasterQuotaManager quotaManager;<a name="line.331"></a>
+<span class="sourceLineNo">332</span><a name="line.332"></a>
+<span class="sourceLineNo">333</span>  private ProcedureExecutor&lt;MasterProcedureEnv&gt; procedureExecutor;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  private WALProcedureStore procedureStore;<a name="line.334"></a>
+<span class="sourceLineNo">335</span><a name="line.335"></a>
+<span class="sourceLineNo">336</span>  // handle table states<a name="line.336"></a>
+<span class="sourceLineNo">337</span>  private TableStateManager tableStateManager;<a name="line.337"></a>
+<span class="sourceLineNo">338</span>  <a name="line.338"></a>
+<span class="sourceLineNo">339</span>  private long splitPlanCount;<a name="line.339"></a>
+<span class="sourceLineNo">340</span>  private long mergePlanCount;<a name="line.340"></a>
+<span class="sourceLineNo">341</span><a name="line.341"></a>
+<span class="sourceLineNo">342</span>  /** flag used in test cases in order to simulate RS failures during master initialization */<a name="line.342"></a>
+<span class="sourceLineNo">343</span>  private volatile boolean initializationBeforeMetaAssignment = false;<a name="line.343"></a>
+<span class="sourceLineNo">344</span><a name="line.344"></a>
+<span class="sourceLineNo">345</span>  /** jetty server for master to redirect requests to regionserver infoServer */<a name="line.345"></a>
+<span class="sourceLineNo">346</span>  private org.mortbay.jetty.Server masterJettyServer;<a name="line.346"></a>
+<span class="sourceLineNo">347</span><a name="line.347"></a>
+<span class="sourceLineNo">348</span>  public static class RedirectServlet extends HttpServlet {<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    private static final long serialVersionUID = 2894774810058302472L;<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    private static int regionServerInfoPort;<a name="line.350"></a>
+<span class="sourceLineNo">351</span><a name="line.351"></a>
+<span class="sourceLineNo">352</span>    @Override<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    public void doGet(HttpServletRequest request,<a name="line.353"></a>
+<span class="sourceLineNo">354</span>        HttpServletResponse response) throws ServletException, IOException {<a name="line.354"></a>
+<span class="sourceLineNo">355</span>      String redirectUrl = request.getScheme() + "://"<a name="line.355"></a>
+<span class="sourceLineNo">356</span>        + request.getServerName() + ":" + regionServerInfoPort<a name="line.356"></a>
+<span class="sourceLineNo">357</span>        + request.getRequestURI();<a name="line.357"></a>
+<span class="sourceLineNo">358</span>      response.sendRedirect(redirectUrl);<a name="line.358"></a>
+<span class="sourceLineNo">359</span>    }<a name="line.359"></a>
+<span class="sourceLineNo">360</span>  }<a name="line.360"></a>
+<span class="sourceLineNo">361</span><a name="line.361"></a>
+<span class="sourceLineNo">362</span>  /**<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   * Initializes the HMaster. The steps are as follows:<a name="line.363"></a>
+<span class="sourceLineNo">364</span>   * &lt;p&gt;<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   * &lt;ol&gt;<a name="line.365"></a>
+<span class="sourceLineNo">366</span>   * &lt;li&gt;Initialize the local HRegionServer<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   * &lt;li&gt;Start the ActiveMasterManager.<a name="line.367"></a>
+<span class="sourceLineNo">368</span>   * &lt;/ol&gt;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>   * &lt;p&gt;<a name="line.369"></a>
+<span class="sourceLineNo">370</span>   * Remaining steps of initialization occur in<a name="line.370"></a>
+<span class="sourceLineNo">371</span>   * #finishActiveMasterInitialization(MonitoredTask) after<a name="line.371"></a>
+<span class="sourceLineNo">372</span>   * the master becomes the active one.<a name="line.372"></a>
+<span class="sourceLineNo">373</span>   */<a name="line.373"></a>
+<span class="sourceLineNo">374</span>  public HMaster(final Configuration conf, CoordinatedStateManager csm)<a name="line.374"></a>
+<span class="sourceLineNo">375</span>      throws IOException, KeeperException {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    super(conf, csm);<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    this.rsFatals = new MemoryBoundedLogMessageBuffer(<a name="line.377"></a>
+<span class="sourceLineNo">378</span>      conf.getLong("hbase.master.buffer.for.rs.fatals", 1*1024*1024));<a name="line.378"></a>
+<span class="sourceLineNo">379</span><a name="line.379"></a>
+<span class="sourceLineNo">380</span>    LOG.info("hbase.rootdir=" + FSUtils.getRootDir(this.conf) +<a name="line.380"></a>
+<span class="sourceLineNo">381</span>      ", hbase.cluster.distributed=" + this.conf.getBoolean(HConstants.CLUSTER_DISTRIBUTED, false));<a name="line.381"></a>
+<span class="sourceLineNo">382</span><a name="line.382"></a>
+<span class="sourceLineNo">383</span>    // Disable usage of meta replicas in the master<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    this.conf.setBoolean(HConstants.USE_META_REPLICAS, false);<a name="line.384"></a>
 <span class="sourceLineNo">385</span><a name="line.385"></a>
-<span class="sourceLineNo">386</span>    // Hack! Maps DFSClient =&gt; Master for logs.  HDFS made this<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    // config param for task trackers, but we can piggyback off of it.<a name="line.387"></a>
-<span class="sourceLineNo">388</span>    if (this.conf.get("mapreduce.task.attempt.id") == null) {<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      this.conf.set("mapreduce.task.attempt.id", "hb_m_" + this.serverName.toString());<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>    // should we check the compression codec type at master side, default true, HBASE-6370<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    this.masterCheckCompression = conf.getBoolean("hbase.master.check.compression", true);<a name="line.393"></a>
-<span class="sourceLineNo">394</span><a name="line.394"></a>
-<span class="sourceLineNo">395</span>    // should we check encryption settings at master side, default true<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    this.masterCheckEncryption = conf.getBoolean("hbase.master.check.encryption", true);<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>    this.metricsMaster = new MetricsMaster(new MetricsMasterWrapperImpl(this));<a name="line.398"></a>
+<span class="sourceLineNo">386</span>    Replication.decorateMasterConfiguration(this.conf);<a name="line.386"></a>
+<span class="sourceLineNo">387</span><a name="line.387"></a>
+<span class="sourceLineNo">388</span>    // Hack! Maps DFSClient =&gt; Master for logs.  HDFS made this<a name="line.388"></a>
+<span class="sourceLineNo">389</span>    // config param for task trackers, but we can piggyback off of it.<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    if (this.conf.get("mapreduce.task.attempt.id") == null) {<a name="line.390"></a>
+<span class="sourceLineNo">391</span>      this.conf.set("mapreduce.task.attempt.id", "hb_m_" + this.serverName.toString());<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>    // should we check the compression codec type at master side, default true, HBASE-6370<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    this.masterCheckCompression = conf.getBoolean("hbase.master.check.compression", true);<a name="line.395"></a>
+<span class="sourceLineNo">396</span><a name="line.396"></a>
+<span class="sourceLineNo">397</span>    // should we check encryption settings at master side, default true<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    this.masterCheckEncryption = conf.getBoolean("hbase.master.check.encryption", true);<a name="line.398"></a>
 <span class="sourceLineNo">399</span><a name="line.399"></a>
-<span class="sourceLineNo">400</span>    // preload table descriptor at startup<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    this.preLoadTableDescriptors = conf.getBoolean("hbase.master.preload.tabledescriptors", true);<a name="line.401"></a>
-<span class="sourceLineNo">402</span><a name="line.402"></a>
-<span class="sourceLineNo">403</span>    // Do we publish the status?<a name="line.403"></a>
+<span class="sourceLineNo">400</span>    this.metricsMaster = new MetricsMaster(new MetricsMasterWrapperImpl(this));<a name="line.400"></a>
+<span class="sourceLineNo">401</span><a name="line.401"></a>
+<span class="sourceLineNo">402</span>    // preload table descriptor at startup<a name="line.402"></a>
+<span class="sourceLineNo">403</span>    this.preLoadTableDescriptors = conf.getBoolean("hbase.master.preload.tabledescriptors", true);<a name="line.403"></a>
 <span class="sourceLineNo">404</span><a name="line.404"></a>
-<span class="sourceLineNo">405</span>    boolean shouldPublish = conf.getBoolean(HConstants.STATUS_PUBLISHED,<a name="line.405"></a>
-<span class="sourceLineNo">406</span>        HConstants.STATUS_PUBLISHED_DEFAULT);<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    Class&lt;? extends ClusterStatusPublisher.Publisher&gt; publisherClass =<a name="line.407"></a>
-<span class="sourceLineNo">408</span>        conf.getClass(ClusterStatusPublisher.STATUS_PUBLISHER_CLASS,<a name="line.408"></a>
-<span class="sourceLineNo">409</span>            ClusterStatusPublisher.DEFAULT_STATUS_PUBLISHER_CLASS,<a name="line.409"></a>
-<span class="sourceLineNo">410</span>            ClusterStatusPublisher.Publisher.class);<a name="line.410"></a>
-<span class="sourceLineNo">411</span><a name="line.411"></a>
-<span class="sourceLineNo">412</span>    if (shouldPublish) {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      if (publisherClass == null) {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>        LOG.warn(HConstants.STATUS_PUBLISHED + " is true, but " +<a name="line.414"></a>
-<span class="sourceLineNo">415</span>            ClusterStatusPublisher.DEFAULT_STATUS_PUBLISHER_CLASS +<a name="line.415"></a>
-<span class="sourceLineNo">416</span>            " is not set - not publishing status");<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      } else {<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        clusterStatusPublisherChore = new ClusterStatusPublisher(this, conf, publisherClass);<a name="line.418"></a>
-<span class="sourceLineNo">419</span>        getChoreService().scheduleChore(clusterStatusPublisherChore);<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>    // Some unit tests don't need a cluster, so no zookeeper at all<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    if (!conf.getBoolean("hbase.testing.nocluster", false)) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      activeMasterManager = new ActiveMasterManager(zooKeeper, this.serverName, this);<a name="line.425"></a>
-<span class="sourceLineNo">426</span>      int infoPort = putUpJettyServer();<a name="line.426"></a>
-<span class="sourceLineNo">427</span>      startActiveMasterManager(infoPort);<a name="line.427"></a>
-<span class="sourceLineNo">428</span>    } else {<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      activeMasterManager = null;<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>  // return the actual infoPort, -1 means disable info server.<a name="line.433"></a>
-<span class="sourceLineNo">434</span>  private int putUpJettyServer() throws IOException {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>    if (!conf.getBoolean("hbase.master.infoserver.redirect", true)) {<a name="line.435"></a>
-<span class="sourceLineNo">436</span>      return -1;<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    }<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    int infoPort = conf.getInt("hbase.master.info.port.orig",<a name="line.438"></a>
-<span class="sourceLineNo">439</span>      HConstants.DEFAULT_MASTER_INFOPORT);<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    // -1 is for disabling info server, so no redirecting<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    if (infoPort &lt; 0 || infoServer == null) {<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      return -1;<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    }<a name="line.443"></a>
-<span class="sourceLineNo">444</span>    String addr = conf.get("hbase.master.info.bindAddress", "0.0.0.0");<a name="line.444"></a>
-<span class="sourceLineNo">445</span>    if (!Addressing.isLocalAddress(InetAddress.getByName(addr))) {<a name="line.445"></a>
-<span class="sourceLineNo">446</span>      String msg =<a name="line.446"></a>
-<span class="sourceLineNo">447</span>          "Failed to start redirecting jetty server. Address " + addr<a name="line.447"></a>
-<span class="sourceLineNo">448</span>              + " does not belong to this host. Correct configuration parameter: "<a name="line.448"></a>
-<span class="sourceLineNo">449</span>              + "hbase.master.info.bindAddress";<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      LOG.error(msg);<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      throw new IOException(msg);<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>    RedirectServlet.regionServerInfoPort = infoServer.getPort();<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    if(RedirectServlet.regionServerInfoPort == infoPort) {<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      return infoPort;<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    }<a name="line.457"></a>
-<span class="sourceLineNo">458</span>    masterJettyServer = new org.mortbay.jetty.Server();<a name="line.458"></a>
-<span class="sourceLineNo">459</span>    Connector connector = new SelectChannelConnector();<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    connector.setHost(addr);<a name="line.460"></a>
-<span class="sourceLineNo">461</span>    connector.setPort(infoPort);<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    masterJettyServer.addConnector(connector);<a name="line.462"></a>
-<span class="sourceLineNo">463</span>    masterJettyServer.setStopAtShutdown(true);<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    Context context = new Context(masterJettyServer, "/", Context.NO_SESSIONS);<a name="line.464"></a>
-<span class="sourceLineNo">465</span>    context.addServlet(RedirectServlet.class, "/*");<a name="line.465"></a>
-<span class="sourceLineNo">466</span>    try {<a name="line.466"></a>
-<span class="sourceLineNo">467</span>      masterJettyServer.start();<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    } catch (Exception e) {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      throw new IOException("Failed to start redirecting jetty server", e);<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    }<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    return connector.getLocalPort();<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>  @Override<a name="line.474"></a>
-<span class="sourceLineNo">475</span>  protected TableDescriptors getFsTableDescriptors() throws IOException {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>    return super.getFsTableDescriptors();<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>   * For compatibility, if failed with regionserver credentials, try the master one<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   */<a name="line.481"></a>
-<span class="sourceLineNo">482</span>  @Override<a name="line.482"></a>
-<span class="sourceLineNo">483</span>  protected void login(UserProvider user, String host) throws IOException {<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    try {<a name="line.484"></a>
-<span class="sourceLineNo">485</span>      super.login(user, host);<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    } catch (IOException ie) {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      user.login("hbase.master.keytab.file",<a name="line.487"></a>
-<span class="sourceLineNo">488</span>        "hbase.master.kerberos.principal", host);<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    }<a name="line.489"></a>
-<span class="sourceLineNo">490</span>  }<a name="line.490"></a>
-<span class="sourceLineNo">491</span><a name="line.491"></a>
-<span class="sourceLineNo">492</span>  /**<a name="line.492"></a>
-<span class="sourceLineNo">493</span>   * If configured to put regions on active master,<a name="line.493"></a>
-<span class="sourceLineNo">494</span>   * wait till a backup master becomes active.<a name="line.494"></a>
-<span class="sourceLineNo">495</span>   * Otherwise, loop till the server is stopped or aborted.<a name="line.495"></a>
-<span class="sourceLineNo">496</span>   */<a name="line.496"></a>
-<span class="sourceLineNo">497</span>  @Override<a name="line.497"></a>
-<span class="sourceLineNo">498</span>  protected void waitForMasterActive(){<a name="line.498"></a>
-<span class="sourceLineNo">499</span>    boolean tablesOnMaster = BaseLoadBalancer.tablesOnMaster(conf);<a name="line.499"></a>
-<span class="sourceLineNo">500</span>    while (!(tablesOnMaster &amp;&amp; isActiveMaster)<a name="line.500"></a>
-<span class="sourceLineNo">501</span>        &amp;&amp; !isStopped() &amp;&amp; !isAborted()) {<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      sleeper.sleep();<a name="line.502"></a>
-<span class="sourceLineNo">503</span>    }<a name="line.503"></a>
-<span class="sourceLineNo">504</span>  }<a name="line.504"></a>
-<span class="sourceLineNo">505</span><a name="line.505"></a>
-<span class="sourceLineNo">506</span>  @VisibleForTesting<a name="line.506"></a>
-<span class="sourceLineNo">507</span>  public MasterRpcServices getMasterRpcServices() {<a name="line.507"></a>
-<span class="sourceLineNo">508</span>    return (MasterRpcServices)rpcServices;<a name="line.508"></a>
-<span class="sourceLineNo">509</span>  }<a name="line.509"></a>
-<span class="sourceLineNo">510</span><a name="line.510"></a>
-<span class="sourceLineNo">511</span>  public boolean balanceSwitch(final boolean b) throws IOException {<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    return getMasterRpcServices().switchBalancer(b, BalanceSwitchMode.ASYNC);<a name="line.512"></a>
-<span class="sourceLineNo">513</span>  }<a name="line.513"></a>
-<span class="sourceLineNo">514</span><a name="line.514"></a>
-<span class="sourceLineNo">515</span>  @Override<a name="line.515"></a>
-<span class="sourceLineNo">516</span>  protected String getProcessName() {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    return MASTER;<a name="line.517"></a>
-<span class="sourceLineNo">518</span>  }<a name="line.518"></a>
-<span class="sourceLineNo">519</span><a name="line.519"></a>
-<span class="sourceLineNo">520</span>  @Override<a name="line.520"></a>
-<span class="sourceLineNo">521</span>  protected boolean canCreateBaseZNode() {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    return true;<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>  @Override<a name="line.525"></a>
-<span class="sourceLineNo">526</span>  protected boolean canUpdateTableDescriptor() {<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    return true;<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>  @Override<a name="line.530"></a>
-<span class="sourceLineNo">531</span>  protected RSRpcServices createRpcServices() throws IOException {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    return new MasterRpcServices(this);<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>  @Override<a name="line.535"></a>
-<span class="sourceLineNo">536</span>  protected void configureInfoServer() {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>    infoServer.addServlet("master-status", "/master-status", MasterStatusServlet.class);<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    infoServer.setAttribute(MASTER, this);<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    if (BaseLoadBalancer.tablesOnMaster(conf)) {<a name="line.539"></a>
-<span class="sourceLineNo">540</span>      super.configureInfoServer();<a name="line.540"></a>
-<span class="sourceLineNo">541</span>    }<a name="line.541"></a>
-<span class="sourceLineNo">542</span>  }<a name="line.542"></a>
-<span class="sourceLineNo">543</span><a name="line.543"></a>
-<span class="sourceLineNo">544</span>  @Override<a name="line.544"></a>
-<span class="sourceLineNo">545</span>  protected Class&lt;? extends HttpServlet&gt; getDumpServlet() {<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    return MasterDumpServlet.class;<a name="line.546"></a>
-<span class="sourceLineNo">547</span>  }<a name="line.547"></a>
-<span class="sourceLineNo">548</span><a name="line.548"></a>
-<span class="sourceLineNo">549</span>  /**<a name="line.549"></a>
-<span class="sourceLineNo">550</span>   * Emit the HMaster metrics, such as region in transition metrics.<a name="line.550"></a>
-<span class="sourceLineNo">551</span>   * Surrounding in a try block just to be sure metrics doesn't abort HMaster.<a name="line.551"></a>
-<span class="sourceLineNo">552</span>   */<a name="line.552"></a>
-<span class="sourceLineNo">553</span>  @Override<a name="line.553"></a>
-<span class="sourceLineNo">554</span>  protected void doMetrics() {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>    try {<a name="line.555"></a>
-<span class="sourceLineNo">556</span>      if (assignmentManager != null) {<a name="line.556"></a>
-<span class="sourceLineNo">557</span>        assignmentManager.updateRegionsInTransitionMetrics();<a name="line.557"></a>
-<span class="sourceLineNo">558</span>      }<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    } catch (Throwable e) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      LOG.error("Couldn't update metrics: " + e.getMessage());<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    }<a name="line.561"></a>
-<span class="sourceLineNo">562</span>  }<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span>  MetricsMaster getMasterMetrics() {<a name="line.564"></a>
-<span class="sourceLineNo">565</span>    return metricsMaster;<a name="line.565"></a>
-<span class="sourceLineNo">566</span>  }<a name="line.566"></a>
-<span class="sourceLineNo">567</span><a name="line.567"></a>
-<span class="sourceLineNo">568</span>  /**<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * Initialize all ZK based system trackers.<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   */<a name="line.570"></a>
-<span class="sourceLineNo">571</span>  void initializeZKBasedSystemTrackers() throws IOException,<a name="line.571"></a>
-<span class="sourceLineNo">572</span>      InterruptedException, KeeperException, CoordinatedStateException {<a name="line.572"></a>
-<span class="sourceLineNo">573</span>    this.balancer = LoadBalancerFactory.getLoadBalancer(conf);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    this.normalizer = RegionNormalizerFactory.getRegionNormalizer(conf);<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    this.normalizer.setMasterServices(this);<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    this.loadBalancerTracker = new LoadBalancerTracker(zooKeeper, this);<a name="line.576"></a>
-<span class="sourceLineNo">577</span>    this.loadBalancerTracker.start();<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    this.regionNormalizerTracker = new RegionNormalizerTracker(zooKeeper, this);<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    this.regionNormalizerTracker.start();<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    this.assignmentManager = new AssignmentManager(this, serverManager,<a name="line.580"></a>
-<span class="sourceLineNo">581</span>      this.balancer, this.service, this.metricsMaster,<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      this.tableLockManager, tableStateManager);<a name="line.582"></a>
-<span class="sourceLineNo">583</span><a name="line.583"></a>
-<span class="sourceLineNo">584</span>    this.regionServerTracker = new RegionServerTracker(zooKeeper, this, this.serverManager);<a name="line.584"></a>
-<span class="sourceLineNo">585</span>    this.regionServerTracker.start();<a name="line.585"></a>
-<span class="sourceLineNo">586</span><a name="line.586"></a>
-<span class="sourceLineNo">587</span>    this.drainingServerTracker = new DrainingServerTracker(zooKeeper, this, this.serverManager);<a name="line.587"></a>
-<span class="sourceLineNo">588</span>    this.drainingServerTracker.start();<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span>    // Set the cluster as up.  If new RSs, they'll be waiting on this before<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    // going ahead with their startup.<a name="line.591"></a>
-<span class="sourceLineNo">592</span>    boolean wasUp = this.clusterStatusTracker.isClusterUp();<a name="line.592"></a>
-<span class="sourceLineNo">593</span>    if (!wasUp) this.clusterStatusTracker.setClusterUp();<a name="line.593"></a>
-<span class="sourceLineNo">594</span><a name="line.594"></a>
-<span class="sourceLineNo">595</span>    LOG.info("Server active/primary master=" + this.serverName +<a name="line.595"></a>
-<span class="sourceLineNo">596</span>        ", sessionid=0x" +<a name="line.596"></a>
-<span class="sourceLineNo">597</span>        Long.toHexString(this.zooKeeper.getRecoverableZooKeeper().getSessionId()) +<a name="line.597"></a>
-<span class="sourceLineNo">598</span>        ", setting cluster-up flag (Was=" + wasUp + ")");<a name="line.598"></a>
-<span class="sourceLineNo">599</span><a name="line.599"></a>
-<span class="sourceLineNo">600</span>    // create/initialize the snapshot manager and other procedure managers<a name="line.600"></a>
-<span class="sourceLineNo">601</span>    this.snapshotManager = new SnapshotManager();<a name="line.601"></a>
-<span class="sourceLineNo">602</span>    this.mpmHost = new MasterProcedureManagerHost();<a name="line.602"></a>
-<span class="sourceLineNo">603</span>    this.mpmHost.register(this.snapshotManager);<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    this.mpmHost.register(new MasterFlushTableProcedureManager());<a name="line.604"></a>
-<span class="sourceLineNo">605</span>    this.mpmHost.loadProcedures(conf);<a name="line.605"></a>
-<span class="sourceLineNo">606</span>    this.mpmHost.initialize(this, this.metricsMaster);<a name="line.606"></a>
-<span class="sourceLineNo">607</span><a name="line.607"></a>
-<span class="sourceLineNo">608</span>  }<a name="line.608"></a>
+<span class="sourceLineNo">405</span>    // Do we publish the status?<a name="line.405"></a>
+<span class="sourceLineNo">406</span><a name="line.406"></a>
+<span class="sourceLineNo">407</span>    boolean shouldPublish = conf.getBoolean(HConstants.STATUS_PUBLISHED,<a name="line.407"></a>
+<span class="sourceLineNo">408</span>        HConstants.STATUS_PUBLISHED_DEFAULT);<a name="line.408"></a>
+<span class="sourceLineNo">409</span>    Class&lt;? extends ClusterStatusPublisher.Publisher&gt; publisherClass =<a name="line.409"></a>
+<span class="sourceLineNo">410</span>        conf.getClass(ClusterStatusPublisher.STATUS_PUBLISHER_CLASS,<a name="line.410"></a>
+<span class="sourceLineNo">411</span>            ClusterStatusPublisher.DEFAULT_STATUS_PUBLISHER_CLASS,<a name="line.411"></a>
+<span class="sourceLineNo">412</span>            ClusterStatusPublisher.Publisher.class);<a name="line.412"></a>
+<span class="sourceLineNo">413</span><a name="line.413"></a>
+<span class="sourceLineNo">414</span>    if (shouldPublish) {<a name="line.414"></a>
+<span class="sourceLineNo">415</span>      if (publisherClass == null) {<a name="line.415"></a>
+<span class="sourceLineNo">416</span>        LOG.warn(HConstants.STATUS_PUBLISHED + " is true, but " +<a name="line.416"></a>
+<span class="sourceLineNo">417</span>            ClusterStatusPublisher.DEFAULT_STATUS_PUBLISHER_CLASS +<a name="line.417"></a>
+<span class="sourceLineNo">418</span>            " is not set - not publishing status");<a name="line.418"></a>
+<span class="sourceLineNo">419</span>      } else {<a name="line.419"></a>
+<span class="sourceLineNo">420</span>        clusterStatusPublisherChore = new ClusterStatusPublisher(this, conf, publisherClass);<a name="line.420"></a>
+<span class="sourceLineNo">421</span>        getChoreService().scheduleChore(clusterStatusPublisherChore);<a name="line.421"></a>
+<span class="sourceLineNo">422</span>      }<a name="line.422"></a>
+<span class="sourceLineNo">423</span>    }<a name="line.423"></a>
+<span class="sourceLineNo">424</span><a name="line.424"></a>
+<span class="sourceLineNo">425</span>    // Some unit tests don't need a cluster, so no zookeeper at all<a name="line.425"></a>
+<span class="sourceLineNo">426</span>    if (!conf.getBoolean("hbase.testing.nocluster", false)) {<a name="line.426"></a>
+<span class="sourceLineNo">427</span>      activeMasterManager = new ActiveMasterManager(zooKeeper, this.serverName, this);<a name="line.427"></a>
+<span class="sourceLineNo">428</span>      int infoPort = putUpJettyServer();<a name="line.428"></a>
+<span class="sourceLineNo">429</span>      startActiveMasterManager(infoPort);<a name="line.429"></a>
+<span class="sourceLineNo">430</span>    } else {<a name="line.430"></a>
+<span class="sourceLineNo">431</span>      activeMasterManager = null;<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>  // return the actual infoPort, -1 means disable info server.<a name="line.435"></a>
+<span class="sourceLineNo">436</span>  private int putUpJettyServer() throws IOException {<a name="line.436"></a>
+<span class="sourceLineNo">437</span>    if (!conf.getBoolean("hbase.master.infoserver.redirect", true)) {<a name="line.437"></a>
+<span class="sourceLineNo">438</span>      return -1;<a name="line.438"></a>
+<span class="sourceLineNo">439</span>    }<a name="line.439"></a>
+<span class="sourceLineNo">440</span>    int infoPort = conf.getInt("hbase.master.info.port.orig",<a name="line.440"></a>
+<span class="sourceLineNo">441</span>      HConstants.DEFAULT_MASTER_INFOPORT);<a name="line.441"></a>
+<span class="sourceLineNo">442</span>    // -1 is for disabling info server, so no redirecting<a name="line.442"></a>
+<span class="sourceLineNo">443</span>    if (infoPort &lt; 0 || infoServer == null) {<a name="line.443"></a>
+<span class="sourceLineNo">444</span>      return -1;<a name="line.444"></a>
+<span class="sourceLineNo">445</span>    }<a name="line.445"></a>
+<span class="sourceLineNo">446</span>    String addr = conf.get("hbase.master.info.bindAddress", "0.0.0.0");<a name="line.446"></a>
+<span class="sourceLineNo">447</span>    if (!Addressing.isLocalAddress(InetAddress.getByName(addr))) {<a name="line.447"></a>
+<span class="sourceLineNo">448</span>      String msg =<a name="line.448"></a>
+<span class="sourceLineNo">449</span>          "Failed to start redirecting jetty server. Address " + addr<a name="line.449"></a>
+<span class="sourceLineNo">450</span>              + " does not belong to this host. Correct configuration parameter: "<a name="line.450"></a>
+<span class="sourceLineNo">451</span>              + "hbase.master.info.bindAddress";<a name="line.451"></a>
+<span class="sourceLineNo">452</span>      LOG.error(msg);<a name="line.452"></a>
+<span class="sourceLineNo">453</span>      throw new IOException(msg);<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>    RedirectServlet.regionServerInfoPort = infoServer.getPort();<a name="line.456"></a>
+<span class="sourceLineNo">457</span>    if(RedirectServlet.regionServerInfoPort == infoPort) {<a name="line.457"></a>
+<span class="sourceLineNo">458</span>      return infoPort;<a name="line.458"></a>
+<span class="sourceLineNo">459</span>    }<a name="line.459"></a>
+<span class="sourceLineNo">460</span>    masterJettyServer = new org.mortbay.jetty.Server();<a name="line.460"></a>
+<span class="sourceLineNo">461</span>    Connector connector = new SelectChannelConnector();<a name="line.461"></a>
+<span class="sourceLineNo">462</span>    connector.setHost(addr);<a name="line.462"></a>
+<span class="sourceLineNo">463</span>    connector.setPort(infoPort);<a name="line.463"></a>
+<span class="sourceLineNo">464</span>    masterJettyServer.addConnector(connector);<a name="line.464"></a>
+<span class="sourceLineNo">465</span>    masterJettyServer.setStopAtShutdown(true);<a name="line.465"></a>
+<span class="sourceLineNo">466</span>    Context context = new Context(masterJettyServer, "/", Context.NO_SESSIONS);<a name="line.466"></a>
+<span class="sourceLineNo">467</span> 

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.MasterProcedureStoreListener.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.MasterProcedureStoreListener.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.MasterProcedureStoreListener.html
index 1610d02..5cdd36e 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.MasterProcedureStoreListener.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.MasterProcedureStoreListener.html
@@ -39,101 +39,127 @@
 <span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.master.HMaster;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.master.MasterCoprocessorHost;<a name="line.32"></a>
 <span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.master.MasterServices;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.procedure2.store.ProcedureStore;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.security.User;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.util.CancelableProgressable;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.39"></a>
-<span class="sourceLineNo">040</span><a name="line.40"></a>
-<span class="sourceLineNo">041</span>@InterfaceAudience.Private<a name="line.41"></a>
-<span class="sourceLineNo">042</span>@InterfaceStability.Evolving<a name="line.42"></a>
-<span class="sourceLineNo">043</span>public class MasterProcedureEnv {<a name="line.43"></a>
-<span class="sourceLineNo">044</span>  private static final Log LOG = LogFactory.getLog(MasterProcedureEnv.class);<a name="line.44"></a>
-<span class="sourceLineNo">045</span><a name="line.45"></a>
-<span class="sourceLineNo">046</span>  @InterfaceAudience.Private<a name="line.46"></a>
-<span class="sourceLineNo">047</span>  public static class WALStoreLeaseRecovery implements WALProcedureStore.LeaseRecovery {<a name="line.47"></a>
-<span class="sourceLineNo">048</span>    private final HMaster master;<a name="line.48"></a>
-<span class="sourceLineNo">049</span><a name="line.49"></a>
-<span class="sourceLineNo">050</span>    public WALStoreLeaseRecovery(final HMaster master) {<a name="line.50"></a>
-<span class="sourceLineNo">051</span>      this.master = master;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>    }<a name="line.52"></a>
-<span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span>    @Override<a name="line.54"></a>
-<span class="sourceLineNo">055</span>    public void recoverFileLease(final FileSystem fs, final Path path) throws IOException {<a name="line.55"></a>
-<span class="sourceLineNo">056</span>      final Configuration conf = master.getConfiguration();<a name="line.56"></a>
-<span class="sourceLineNo">057</span>      final FSUtils fsUtils = FSUtils.getInstance(fs, conf);<a name="line.57"></a>
-<span class="sourceLineNo">058</span>      fsUtils.recoverFileLease(fs, path, conf, new CancelableProgressable() {<a name="line.58"></a>
-<span class="sourceLineNo">059</span>        @Override<a name="line.59"></a>
-<span class="sourceLineNo">060</span>        public boolean progress() {<a name="line.60"></a>
-<span class="sourceLineNo">061</span>          LOG.debug("Recover Procedure Store log lease: " + path);<a name="line.61"></a>
-<span class="sourceLineNo">062</span>          return master.isActiveMaster();<a name="line.62"></a>
-<span class="sourceLineNo">063</span>        }<a name="line.63"></a>
-<span class="sourceLineNo">064</span>      });<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    }<a name="line.65"></a>
-<span class="sourceLineNo">066</span>  }<a name="line.66"></a>
-<span class="sourceLineNo">067</span><a name="line.67"></a>
-<span class="sourceLineNo">068</span>  @InterfaceAudience.Private<a name="line.68"></a>
-<span class="sourceLineNo">069</span>  public static class MasterProcedureStoreListener<a name="line.69"></a>
-<span class="sourceLineNo">070</span>      implements ProcedureStore.ProcedureStoreListener {<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    private final HMaster master;<a name="line.71"></a>
-<span class="sourceLineNo">072</span><a name="line.72"></a>
-<span class="sourceLineNo">073</span>    public MasterProcedureStoreListener(final HMaster master) {<a name="line.73"></a>
-<span class="sourceLineNo">074</span>      this.master = master;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>    }<a name="line.75"></a>
-<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span>    @Override<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    public void postSync() {<a name="line.78"></a>
-<span class="sourceLineNo">079</span>      // no-op<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    }<a name="line.80"></a>
-<span class="sourceLineNo">081</span><a name="line.81"></a>
-<span class="sourceLineNo">082</span>    @Override<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    public void abortProcess() {<a name="line.83"></a>
-<span class="sourceLineNo">084</span>      master.abort("The Procedure Store lost the lease");<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    }<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  }<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>  private final MasterProcedureQueue procQueue;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  private final MasterServices master;<a name="line.89"></a>
-<span class="sourceLineNo">090</span><a name="line.90"></a>
-<span class="sourceLineNo">091</span>  public MasterProcedureEnv(final MasterServices master) {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    this.master = master;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    this.procQueue = new MasterProcedureQueue(master.getConfiguration(),<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      master.getTableLockManager());<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  }<a name="line.95"></a>
-<span class="sourceLineNo">096</span><a name="line.96"></a>
-<span class="sourceLineNo">097</span>  public User getRequestUser() throws IOException {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    User user = RpcServer.getRequestUser();<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    if (user == null) {<a name="line.99"></a>
-<span class="sourceLineNo">100</span>      user = UserProvider.instantiate(getMasterConfiguration()).getCurrent();<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    }<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    return user;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>  }<a name="line.103"></a>
-<span class="sourceLineNo">104</span><a name="line.104"></a>
-<span class="sourceLineNo">105</span>  public MasterServices getMasterServices() {<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    return master;<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>  public Configuration getMasterConfiguration() {<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    return master.getConfiguration();<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  }<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>  public MasterCoprocessorHost getMasterCoprocessorHost() {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    return master.getMasterCoprocessorHost();<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  }<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>  public MasterProcedureQueue getProcedureQueue() {<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    return procQueue;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  }<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span>  public boolean isRunning() {<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    return master.getMasterProcedureExecutor().isRunning();<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>  public boolean isInitialized() {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    return master.isInitialized();<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">034</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.procedure2.Procedure;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.procedure2.store.ProcedureStore;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.security.User;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.util.CancelableProgressable;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.41"></a>
+<span class="sourceLineNo">042</span><a name="line.42"></a>
+<span class="sourceLineNo">043</span>@InterfaceAudience.Private<a name="line.43"></a>
+<span class="sourceLineNo">044</span>@InterfaceStability.Evolving<a name="line.44"></a>
+<span class="sourceLineNo">045</span>public class MasterProcedureEnv {<a name="line.45"></a>
+<span class="sourceLineNo">046</span>  private static final Log LOG = LogFactory.getLog(MasterProcedureEnv.class);<a name="line.46"></a>
+<span class="sourceLineNo">047</span><a name="line.47"></a>
+<span class="sourceLineNo">048</span>  @InterfaceAudience.Private<a name="line.48"></a>
+<span class="sourceLineNo">049</span>  public static class WALStoreLeaseRecovery implements WALProcedureStore.LeaseRecovery {<a name="line.49"></a>
+<span class="sourceLineNo">050</span>    private final HMaster master;<a name="line.50"></a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span>    public WALStoreLeaseRecovery(final HMaster master) {<a name="line.52"></a>
+<span class="sourceLineNo">053</span>      this.master = master;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>    }<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>    @Override<a name="line.56"></a>
+<span class="sourceLineNo">057</span>    public void recoverFileLease(final FileSystem fs, final Path path) throws IOException {<a name="line.57"></a>
+<span class="sourceLineNo">058</span>      final Configuration conf = master.getConfiguration();<a name="line.58"></a>
+<span class="sourceLineNo">059</span>      final FSUtils fsUtils = FSUtils.getInstance(fs, conf);<a name="line.59"></a>
+<span class="sourceLineNo">060</span>      fsUtils.recoverFileLease(fs, path, conf, new CancelableProgressable() {<a name="line.60"></a>
+<span class="sourceLineNo">061</span>        @Override<a name="line.61"></a>
+<span class="sourceLineNo">062</span>        public boolean progress() {<a name="line.62"></a>
+<span class="sourceLineNo">063</span>          LOG.debug("Recover Procedure Store log lease: " + path);<a name="line.63"></a>
+<span class="sourceLineNo">064</span>          return master.isActiveMaster();<a name="line.64"></a>
+<span class="sourceLineNo">065</span>        }<a name="line.65"></a>
+<span class="sourceLineNo">066</span>      });<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    }<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  }<a name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span>  @InterfaceAudience.Private<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  public static class MasterProcedureStoreListener<a name="line.71"></a>
+<span class="sourceLineNo">072</span>      implements ProcedureStore.ProcedureStoreListener {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    private final HMaster master;<a name="line.73"></a>
+<span class="sourceLineNo">074</span><a name="line.74"></a>
+<span class="sourceLineNo">075</span>    public MasterProcedureStoreListener(final HMaster master) {<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      this.master = master;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    }<a name="line.77"></a>
+<span class="sourceLineNo">078</span><a name="line.78"></a>
+<span class="sourceLineNo">079</span>    @Override<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    public void postSync() {<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      // no-op<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    }<a name="line.82"></a>
+<span class="sourceLineNo">083</span><a name="line.83"></a>
+<span class="sourceLineNo">084</span>    @Override<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    public void abortProcess() {<a name="line.85"></a>
+<span class="sourceLineNo">086</span>      master.abort("The Procedure Store lost the lease");<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    }<a name="line.87"></a>
+<span class="sourceLineNo">088</span>  }<a name="line.88"></a>
+<span class="sourceLineNo">089</span><a name="line.89"></a>
+<span class="sourceLineNo">090</span>  private final MasterProcedureScheduler procSched;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  private final MasterServices master;<a name="line.91"></a>
+<span class="sourceLineNo">092</span><a name="line.92"></a>
+<span class="sourceLineNo">093</span>  public MasterProcedureEnv(final MasterServices master) {<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    this.master = master;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    this.procSched = new MasterProcedureScheduler(master.getConfiguration(),<a name="line.95"></a>
+<span class="sourceLineNo">096</span>      master.getTableLockManager());<a name="line.96"></a>
+<span class="sourceLineNo">097</span>  }<a name="line.97"></a>
+<span class="sourceLineNo">098</span><a name="line.98"></a>
+<span class="sourceLineNo">099</span>  public User getRequestUser() throws IOException {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    User user = RpcServer.getRequestUser();<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    if (user == null) {<a name="line.101"></a>
+<span class="sourceLineNo">102</span>      user = UserProvider.instantiate(getMasterConfiguration()).getCurrent();<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    }<a name="line.103"></a>
+<span class="sourceLineNo">104</span>    return user;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>  }<a name="line.105"></a>
+<span class="sourceLineNo">106</span><a name="line.106"></a>
+<span class="sourceLineNo">107</span>  public MasterServices getMasterServices() {<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    return master;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  }<a name="line.109"></a>
+<span class="sourceLineNo">110</span><a name="line.110"></a>
+<span class="sourceLineNo">111</span>  public Configuration getMasterConfiguration() {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    return master.getConfiguration();<a name="line.112"></a>
+<span class="sourceLineNo">113</span>  }<a name="line.113"></a>
+<span class="sourceLineNo">114</span><a name="line.114"></a>
+<span class="sourceLineNo">115</span>  public MasterCoprocessorHost getMasterCoprocessorHost() {<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    return master.getMasterCoprocessorHost();<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  }<a name="line.117"></a>
+<span class="sourceLineNo">118</span><a name="line.118"></a>
+<span class="sourceLineNo">119</span>  public MasterProcedureScheduler getProcedureQueue() {<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    return procSched;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>  }<a name="line.121"></a>
+<span class="sourceLineNo">122</span><a name="line.122"></a>
+<span class="sourceLineNo">123</span>  public boolean isRunning() {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    return master.getMasterProcedureExecutor().isRunning();<a name="line.124"></a>
+<span class="sourceLineNo">125</span>  }<a name="line.125"></a>
+<span class="sourceLineNo">126</span><a name="line.126"></a>
+<span class="sourceLineNo">127</span>  public boolean isInitialized() {<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    return master.isInitialized();<a name="line.128"></a>
+<span class="sourceLineNo">129</span>  }<a name="line.129"></a>
+<span class="sourceLineNo">130</span><a name="line.130"></a>
+<span class="sourceLineNo">131</span>  public boolean waitInitialized(Procedure proc) {<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    return procSched.waitEvent(((HMaster)master).getInitializedEvent(), proc);<a name="line.132"></a>
+<span class="sourceLineNo">133</span>  }<a name="line.133"></a>
+<span class="sourceLineNo">134</span><a name="line.134"></a>
+<span class="sourceLineNo">135</span>  public boolean waitServerCrashProcessingEnabled(Procedure proc) {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    return procSched.waitEvent(((HMaster)master).getServerCrashProcessingEnabledEvent(), proc);<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>  public void wake(ProcedureEvent event) {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    procSched.wake(event);<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>  public void suspend(ProcedureEvent event) {<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    procSched.suspend(event);<a name="line.144"></a>
+<span class="sourceLineNo">145</span>  }<a name="line.145"></a>
+<span class="sourceLineNo">146</span><a name="line.146"></a>
+<span class="sourceLineNo">147</span>  public void setEventReady(ProcedureEvent event, boolean isReady) {<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    if (isReady) {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      procSched.wake(event);<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    } else {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      procSched.suspend(event);<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    }<a name="line.152"></a>
+<span class="sourceLineNo">153</span>  }<a name="line.153"></a>
+<span class="sourceLineNo">154</span>}<a name="line.154"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.WALStoreLeaseRecovery.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.WALStoreLeaseRecovery.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.WALStoreLeaseRecovery.html
index 1610d02..5cdd36e 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.WALStoreLeaseRecovery.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.WALStoreLeaseRecovery.html
@@ -39,101 +39,127 @@
 <span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.master.HMaster;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.master.MasterCoprocessorHost;<a name="line.32"></a>
 <span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.master.MasterServices;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.procedure2.store.ProcedureStore;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.security.User;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.util.CancelableProgressable;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.39"></a>
-<span class="sourceLineNo">040</span><a name="line.40"></a>
-<span class="sourceLineNo">041</span>@InterfaceAudience.Private<a name="line.41"></a>
-<span class="sourceLineNo">042</span>@InterfaceStability.Evolving<a name="line.42"></a>
-<span class="sourceLineNo">043</span>public class MasterProcedureEnv {<a name="line.43"></a>
-<span class="sourceLineNo">044</span>  private static final Log LOG = LogFactory.getLog(MasterProcedureEnv.class);<a name="line.44"></a>
-<span class="sourceLineNo">045</span><a name="line.45"></a>
-<span class="sourceLineNo">046</span>  @InterfaceAudience.Private<a name="line.46"></a>
-<span class="sourceLineNo">047</span>  public static class WALStoreLeaseRecovery implements WALProcedureStore.LeaseRecovery {<a name="line.47"></a>
-<span class="sourceLineNo">048</span>    private final HMaster master;<a name="line.48"></a>
-<span class="sourceLineNo">049</span><a name="line.49"></a>
-<span class="sourceLineNo">050</span>    public WALStoreLeaseRecovery(final HMaster master) {<a name="line.50"></a>
-<span class="sourceLineNo">051</span>      this.master = master;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>    }<a name="line.52"></a>
-<span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span>    @Override<a name="line.54"></a>
-<span class="sourceLineNo">055</span>    public void recoverFileLease(final FileSystem fs, final Path path) throws IOException {<a name="line.55"></a>
-<span class="sourceLineNo">056</span>      final Configuration conf = master.getConfiguration();<a name="line.56"></a>
-<span class="sourceLineNo">057</span>      final FSUtils fsUtils = FSUtils.getInstance(fs, conf);<a name="line.57"></a>
-<span class="sourceLineNo">058</span>      fsUtils.recoverFileLease(fs, path, conf, new CancelableProgressable() {<a name="line.58"></a>
-<span class="sourceLineNo">059</span>        @Override<a name="line.59"></a>
-<span class="sourceLineNo">060</span>        public boolean progress() {<a name="line.60"></a>
-<span class="sourceLineNo">061</span>          LOG.debug("Recover Procedure Store log lease: " + path);<a name="line.61"></a>
-<span class="sourceLineNo">062</span>          return master.isActiveMaster();<a name="line.62"></a>
-<span class="sourceLineNo">063</span>        }<a name="line.63"></a>
-<span class="sourceLineNo">064</span>      });<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    }<a name="line.65"></a>
-<span class="sourceLineNo">066</span>  }<a name="line.66"></a>
-<span class="sourceLineNo">067</span><a name="line.67"></a>
-<span class="sourceLineNo">068</span>  @InterfaceAudience.Private<a name="line.68"></a>
-<span class="sourceLineNo">069</span>  public static class MasterProcedureStoreListener<a name="line.69"></a>
-<span class="sourceLineNo">070</span>      implements ProcedureStore.ProcedureStoreListener {<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    private final HMaster master;<a name="line.71"></a>
-<span class="sourceLineNo">072</span><a name="line.72"></a>
-<span class="sourceLineNo">073</span>    public MasterProcedureStoreListener(final HMaster master) {<a name="line.73"></a>
-<span class="sourceLineNo">074</span>      this.master = master;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>    }<a name="line.75"></a>
-<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span>    @Override<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    public void postSync() {<a name="line.78"></a>
-<span class="sourceLineNo">079</span>      // no-op<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    }<a name="line.80"></a>
-<span class="sourceLineNo">081</span><a name="line.81"></a>
-<span class="sourceLineNo">082</span>    @Override<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    public void abortProcess() {<a name="line.83"></a>
-<span class="sourceLineNo">084</span>      master.abort("The Procedure Store lost the lease");<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    }<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  }<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>  private final MasterProcedureQueue procQueue;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  private final MasterServices master;<a name="line.89"></a>
-<span class="sourceLineNo">090</span><a name="line.90"></a>
-<span class="sourceLineNo">091</span>  public MasterProcedureEnv(final MasterServices master) {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    this.master = master;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    this.procQueue = new MasterProcedureQueue(master.getConfiguration(),<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      master.getTableLockManager());<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  }<a name="line.95"></a>
-<span class="sourceLineNo">096</span><a name="line.96"></a>
-<span class="sourceLineNo">097</span>  public User getRequestUser() throws IOException {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    User user = RpcServer.getRequestUser();<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    if (user == null) {<a name="line.99"></a>
-<span class="sourceLineNo">100</span>      user = UserProvider.instantiate(getMasterConfiguration()).getCurrent();<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    }<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    return user;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>  }<a name="line.103"></a>
-<span class="sourceLineNo">104</span><a name="line.104"></a>
-<span class="sourceLineNo">105</span>  public MasterServices getMasterServices() {<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    return master;<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>  public Configuration getMasterConfiguration() {<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    return master.getConfiguration();<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  }<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>  public MasterCoprocessorHost getMasterCoprocessorHost() {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    return master.getMasterCoprocessorHost();<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  }<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>  public MasterProcedureQueue getProcedureQueue() {<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    return procQueue;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  }<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span>  public boolean isRunning() {<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    return master.getMasterProcedureExecutor().isRunning();<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>  public boolean isInitialized() {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    return master.isInitialized();<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">034</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.procedure2.Procedure;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.procedure2.store.ProcedureStore;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.security.User;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.util.CancelableProgressable;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.41"></a>
+<span class="sourceLineNo">042</span><a name="line.42"></a>
+<span class="sourceLineNo">043</span>@InterfaceAudience.Private<a name="line.43"></a>
+<span class="sourceLineNo">044</span>@InterfaceStability.Evolving<a name="line.44"></a>
+<span class="sourceLineNo">045</span>public class MasterProcedureEnv {<a name="line.45"></a>
+<span class="sourceLineNo">046</span>  private static final Log LOG = LogFactory.getLog(MasterProcedureEnv.class);<a name="line.46"></a>
+<span class="sourceLineNo">047</span><a name="line.47"></a>
+<span class="sourceLineNo">048</span>  @InterfaceAudience.Private<a name="line.48"></a>
+<span class="sourceLineNo">049</span>  public static class WALStoreLeaseRecovery implements WALProcedureStore.LeaseRecovery {<a name="line.49"></a>
+<span class="sourceLineNo">050</span>    private final HMaster master;<a name="line.50"></a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span>    public WALStoreLeaseRecovery(final HMaster master) {<a name="line.52"></a>
+<span class="sourceLineNo">053</span>      this.master = master;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>    }<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>    @Override<a name="line.56"></a>
+<span class="sourceLineNo">057</span>    public void recoverFileLease(final FileSystem fs, final Path path) throws IOException {<a name="line.57"></a>
+<span class="sourceLineNo">058</span>      final Configuration conf = master.getConfiguration();<a name="line.58"></a>
+<span class="sourceLineNo">059</span>      final FSUtils fsUtils = FSUtils.getInstance(fs, conf);<a name="line.59"></a>
+<span class="sourceLineNo">060</span>      fsUtils.recoverFileLease(fs, path, conf, new CancelableProgressable() {<a name="line.60"></a>
+<span class="sourceLineNo">061</span>        @Override<a name="line.61"></a>
+<span class="sourceLineNo">062</span>        public boolean progress() {<a name="line.62"></a>
+<span class="sourceLineNo">063</span>          LOG.debug("Recover Procedure Store log lease: " + path);<a name="line.63"></a>
+<span class="sourceLineNo">064</span>          return master.isActiveMaster();<a name="line.64"></a>
+<span class="sourceLineNo">065</span>        }<a name="line.65"></a>
+<span class="sourceLineNo">066</span>      });<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    }<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  }<a name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span>  @InterfaceAudience.Private<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  public static class MasterProcedureStoreListener<a name="line.71"></a>
+<span class="sourceLineNo">072</span>      implements ProcedureStore.ProcedureStoreListener {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    private final HMaster master;<a name="line.73"></a>
+<span class="sourceLineNo">074</span><a name="line.74"></a>
+<span class="sourceLineNo">075</span>    public MasterProcedureStoreListener(final HMaster master) {<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      this.master = master;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    }<a name="line.77"></a>
+<span class="sourceLineNo">078</span><a name="line.78"></a>
+<span class="sourceLineNo">079</span>    @Override<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    public void postSync() {<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      // no-op<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    }<a name="line.82"></a>
+<span class="sourceLineNo">083</span><a name="line.83"></a>
+<span class="sourceLineNo">084</span>    @Override<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    public void abortProcess() {<a name="line.85"></a>
+<span class="sourceLineNo">086</span>      master.abort("The Procedure Store lost the lease");<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    }<a name="line.87"></a>
+<span class="sourceLineNo">088</span>  }<a name="line.88"></a>
+<span class="sourceLineNo">089</span><a name="line.89"></a>
+<span class="sourceLineNo">090</span>  private final MasterProcedureScheduler procSched;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  private final MasterServices master;<a name="line.91"></a>
+<span class="sourceLineNo">092</span><a name="line.92"></a>
+<span class="sourceLineNo">093</span>  public MasterProcedureEnv(final MasterServices master) {<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    this.master = master;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    this.procSched = new MasterProcedureScheduler(master.getConfiguration(),<a name="line.95"></a>
+<span class="sourceLineNo">096</span>      master.getTableLockManager());<a name="line.96"></a>
+<span class="sourceLineNo">097</span>  }<a name="line.97"></a>
+<span class="sourceLineNo">098</span><a name="line.98"></a>
+<span class="sourceLineNo">099</span>  public User getRequestUser() throws IOException {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    User user = RpcServer.getRequestUser();<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    if (user == null) {<a name="line.101"></a>
+<span class="sourceLineNo">102</span>      user = UserProvider.instantiate(getMasterConfiguration()).getCurrent();<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    }<a name="line.103"></a>
+<span class="sourceLineNo">104</span>    return user;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>  }<a name="line.105"></a>
+<span class="sourceLineNo">106</span><a name="line.106"></a>
+<span class="sourceLineNo">107</span>  public MasterServices getMasterServices() {<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    return master;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  }<a name="line.109"></a>
+<span class="sourceLineNo">110</span><a name="line.110"></a>
+<span class="sourceLineNo">111</span>  public Configuration getMasterConfiguration() {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    return master.getConfiguration();<a name="line.112"></a>
+<span class="sourceLineNo">113</span>  }<a name="line.113"></a>
+<span class="sourceLineNo">114</span><a name="line.114"></a>
+<span class="sourceLineNo">115</span>  public MasterCoprocessorHost getMasterCoprocessorHost() {<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    return master.getMasterCoprocessorHost();<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  }<a name="line.117"></a>
+<span class="sourceLineNo">118</span><a name="line.118"></a>
+<span class="sourceLineNo">119</span>  public MasterProcedureScheduler getProcedureQueue() {<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    return procSched;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>  }<a name="line.121"></a>
+<span class="sourceLineNo">122</span><a name="line.122"></a>
+<span class="sourceLineNo">123</span>  public boolean isRunning() {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    return master.getMasterProcedureExecutor().isRunning();<a name="line.124"></a>
+<span class="sourceLineNo">125</span>  }<a name="line.125"></a>
+<span class="sourceLineNo">126</span><a name="line.126"></a>
+<span class="sourceLineNo">127</span>  public boolean isInitialized() {<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    return master.isInitialized();<a name="line.128"></a>
+<span class="sourceLineNo">129</span>  }<a name="line.129"></a>
+<span class="sourceLineNo">130</span><a name="line.130"></a>
+<span class="sourceLineNo">131</span>  public boolean waitInitialized(Procedure proc) {<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    return procSched.waitEvent(((HMaster)master).getInitializedEvent(), proc);<a name="line.132"></a>
+<span class="sourceLineNo">133</span>  }<a name="line.133"></a>
+<span class="sourceLineNo">134</span><a name="line.134"></a>
+<span class="sourceLineNo">135</span>  public boolean waitServerCrashProcessingEnabled(Procedure proc) {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    return procSched.waitEvent(((HMaster)master).getServerCrashProcessingEnabledEvent(), proc);<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>  public void wake(ProcedureEvent event) {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    procSched.wake(event);<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>  public void suspend(ProcedureEvent event) {<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    procSched.suspend(event);<a name="line.144"></a>
+<span class="sourceLineNo">145</span>  }<a name="line.145"></a>
+<span class="sourceLineNo">146</span><a name="line.146"></a>
+<span class="sourceLineNo">147</span>  public void setEventReady(ProcedureEvent event, boolean isReady) {<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    if (isReady) {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      procSched.wake(event);<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    } else {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      procSched.suspend(event);<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    }<a name="line.152"></a>
+<span class="sourceLineNo">153</span>  }<a name="line.153"></a>
+<span class="sourceLineNo">154</span>}<a name="line.154"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html
index 1610d02..5cdd36e 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html
@@ -39,101 +39,127 @@
 <span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.master.HMaster;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.master.MasterCoprocessorHost;<a name="line.32"></a>
 <span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.master.MasterServices;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.procedure2.store.ProcedureStore;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.security.User;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.util.CancelableProgressable;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.39"></a>
-<span class="sourceLineNo">040</span><a name="line.40"></a>
-<span class="sourceLineNo">041</span>@InterfaceAudience.Private<a name="line.41"></a>
-<span class="sourceLineNo">042</span>@InterfaceStability.Evolving<a name="line.42"></a>
-<span class="sourceLineNo">043</span>public class MasterProcedureEnv {<a name="line.43"></a>
-<span class="sourceLineNo">044</span>  private static final Log LOG = LogFactory.getLog(MasterProcedureEnv.class);<a name="line.44"></a>
-<span class="sourceLineNo">045</span><a name="line.45"></a>
-<span class="sourceLineNo">046</span>  @InterfaceAudience.Private<a name="line.46"></a>
-<span class="sourceLineNo">047</span>  public static class WALStoreLeaseRecovery implements WALProcedureStore.LeaseRecovery {<a name="line.47"></a>
-<span class="sourceLineNo">048</span>    private final HMaster master;<a name="line.48"></a>
-<span class="sourceLineNo">049</span><a name="line.49"></a>
-<span class="sourceLineNo">050</span>    public WALStoreLeaseRecovery(final HMaster master) {<a name="line.50"></a>
-<span class="sourceLineNo">051</span>      this.master = master;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>    }<a name="line.52"></a>
-<span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span>    @Override<a name="line.54"></a>
-<span class="sourceLineNo">055</span>    public void recoverFileLease(final FileSystem fs, final Path path) throws IOException {<a name="line.55"></a>
-<span class="sourceLineNo">056</span>      final Configuration conf = master.getConfiguration();<a name="line.56"></a>
-<span class="sourceLineNo">057</span>      final FSUtils fsUtils = FSUtils.getInstance(fs, conf);<a name="line.57"></a>
-<span class="sourceLineNo">058</span>      fsUtils.recoverFileLease(fs, path, conf, new CancelableProgressable() {<a name="line.58"></a>
-<span class="sourceLineNo">059</span>        @Override<a name="line.59"></a>
-<span class="sourceLineNo">060</span>        public boolean progress() {<a name="line.60"></a>
-<span class="sourceLineNo">061</span>          LOG.debug("Recover Procedure Store log lease: " + path);<a name="line.61"></a>
-<span class="sourceLineNo">062</span>          return master.isActiveMaster();<a name="line.62"></a>
-<span class="sourceLineNo">063</span>        }<a name="line.63"></a>
-<span class="sourceLineNo">064</span>      });<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    }<a name="line.65"></a>
-<span class="sourceLineNo">066</span>  }<a name="line.66"></a>
-<span class="sourceLineNo">067</span><a name="line.67"></a>
-<span class="sourceLineNo">068</span>  @InterfaceAudience.Private<a name="line.68"></a>
-<span class="sourceLineNo">069</span>  public static class MasterProcedureStoreListener<a name="line.69"></a>
-<span class="sourceLineNo">070</span>      implements ProcedureStore.ProcedureStoreListener {<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    private final HMaster master;<a name="line.71"></a>
-<span class="sourceLineNo">072</span><a name="line.72"></a>
-<span class="sourceLineNo">073</span>    public MasterProcedureStoreListener(final HMaster master) {<a name="line.73"></a>
-<span class="sourceLineNo">074</span>      this.master = master;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>    }<a name="line.75"></a>
-<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span>    @Override<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    public void postSync() {<a name="line.78"></a>
-<span class="sourceLineNo">079</span>      // no-op<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    }<a name="line.80"></a>
-<span class="sourceLineNo">081</span><a name="line.81"></a>
-<span class="sourceLineNo">082</span>    @Override<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    public void abortProcess() {<a name="line.83"></a>
-<span class="sourceLineNo">084</span>      master.abort("The Procedure Store lost the lease");<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    }<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  }<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>  private final MasterProcedureQueue procQueue;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  private final MasterServices master;<a name="line.89"></a>
-<span class="sourceLineNo">090</span><a name="line.90"></a>
-<span class="sourceLineNo">091</span>  public MasterProcedureEnv(final MasterServices master) {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    this.master = master;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    this.procQueue = new MasterProcedureQueue(master.getConfiguration(),<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      master.getTableLockManager());<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  }<a name="line.95"></a>
-<span class="sourceLineNo">096</span><a name="line.96"></a>
-<span class="sourceLineNo">097</span>  public User getRequestUser() throws IOException {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    User user = RpcServer.getRequestUser();<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    if (user == null) {<a name="line.99"></a>
-<span class="sourceLineNo">100</span>      user = UserProvider.instantiate(getMasterConfiguration()).getCurrent();<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    }<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    return user;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>  }<a name="line.103"></a>
-<span class="sourceLineNo">104</span><a name="line.104"></a>
-<span class="sourceLineNo">105</span>  public MasterServices getMasterServices() {<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    return master;<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>  public Configuration getMasterConfiguration() {<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    return master.getConfiguration();<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  }<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>  public MasterCoprocessorHost getMasterCoprocessorHost() {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    return master.getMasterCoprocessorHost();<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  }<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>  public MasterProcedureQueue getProcedureQueue() {<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    return procQueue;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  }<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span>  public boolean isRunning() {<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    return master.getMasterProcedureExecutor().isRunning();<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>  public boolean isInitialized() {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    return master.isInitialized();<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">034</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.procedure2.Procedure;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.procedure2.store.ProcedureStore;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.security.User;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.util.CancelableProgressable;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.41"></a>
+<span class="sourceLineNo">042</span><a name="line.42"></a>
+<span class="sourceLineNo">043</span>@InterfaceAudience.Private<a name="line.43"></a>
+<span class="sourceLineNo">044</span>@InterfaceStability.Evolving<a name="line.44"></a>
+<span class="sourceLineNo">045</span>public class MasterProcedureEnv {<a name="line.45"></a>
+<span class="sourceLineNo">046</span>  private static final Log LOG = LogFactory.getLog(MasterProcedureEnv.class);<a name="line.46"></a>
+<span class="sourceLineNo">047</span><a name="line.47"></a>
+<span class="sourceLineNo">048</span>  @InterfaceAudience.Private<a name="line.48"></a>
+<span class="sourceLineNo">049</span>  public static class WALStoreLeaseRecovery implements WALProcedureStore.LeaseRecovery {<a name="line.49"></a>
+<span class="sourceLineNo">050</span>    private final HMaster master;<a name="line.50"></a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span>    public WALStoreLeaseRecovery(final HMaster master) {<a name="line.52"></a>
+<span class="sourceLineNo">053</span>      this.master = master;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>    }<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>    @Override<a name="line.56"></a>
+<span class="sourceLineNo">057</span>    public void recoverFileLease(final FileSystem fs, final Path path) throws IOException {<a name="line.57"></a>
+<span class="sourceLineNo">058</span>      final Configuration conf = master.getConfiguration();<a name="line.58"></a>
+<span class="sourceLineNo">059</span>      final FSUtils fsUtils = FSUtils.getInstance(fs, conf);<a name="line.59"></a>
+<span class="sourceLineNo">060</span>      fsUtils.recoverFileLease(fs, path, conf, new CancelableProgressable() {<a name="line.60"></a>
+<span class="sourceLineNo">061</span>        @Override<a name="line.61"></a>
+<span class="sourceLineNo">062</span>        public boolean progress() {<a name="line.62"></a>
+<span class="sourceLineNo">063</span>          LOG.debug("Recover Procedure Store log lease: " + path);<a name="line.63"></a>
+<span class="sourceLineNo">064</span>          return master.isActiveMaster();<a name="line.64"></a>
+<span class="sourceLineNo">065</span>        }<a name="line.65"></a>
+<span class="sourceLineNo">066</span>      });<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    }<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  }<a name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span>  @InterfaceAudience.Private<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  public static class MasterProcedureStoreListener<a name="line.71"></a>
+<span class="sourceLineNo">072</span>      implements ProcedureStore.ProcedureStoreListener {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    private final HMaster master;<a name="line.73"></a>
+<span class="sourceLineNo">074</span><a name="line.74"></a>
+<span class="sourceLineNo">075</span>    public MasterProcedureStoreListener(final HMaster master) {<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      this.master = master;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    }<a name="line.77"></a>
+<span class="sourceLineNo">078</span><a name="line.78"></a>
+<span class="sourceLineNo">079</span>    @Override<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    public void postSync() {<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      // no-op<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    }<a name="line.82"></a>
+<span class="sourceLineNo">083</span><a name="line.83"></a>
+<span class="sourceLineNo">084</span>    @Override<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    public void abortProcess() {<a name="line.85"></a>
+<span class="sourceLineNo">086</span>      master.abort("The Procedure Store lost the lease");<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    }<a name="line.87"></a>
+<span class="sourceLineNo">088</span>  }<a name="line.88"></a>
+<span class="sourceLineNo">089</span><a name="line.89"></a>
+<span class="sourceLineNo">090</span>  private final MasterProcedureScheduler procSched;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  private final MasterServices master;<a name="line.91"></a>
+<span class="sourceLineNo">092</span><a name="line.92"></a>
+<span class="sourceLineNo">093</span>  public MasterProcedureEnv(final MasterServices master) {<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    this.master = master;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    this.procSched = new MasterProcedureScheduler(master.getConfiguration(),<a name="line.95"></a>
+<span class="sourceLineNo">096</span>      master.getTableLockManager());<a name="line.96"></a>
+<span class="sourceLineNo">097</span>  }<a name="line.97"></a>
+<span class="sourceLineNo">098</span><a name="line.98"></a>
+<span class="sourceLineNo">099</span>  public User getRequestUser() throws IOException {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    User user = RpcServer.getRequestUser();<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    if (user == null) {<a name="line.101"></a>
+<span class="sourceLineNo">102</span>      user = UserProvider.instantiate(getMasterConfiguration()).getCurrent();<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    }<a name="line.103"></a>
+<span class="sourceLineNo">104</span>    return user;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>  }<a name="line.105"></a>
+<span class="sourceLineNo">106</span><a name="line.106"></a>
+<span class="sourceLineNo">107</span>  public MasterServices getMasterServices() {<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    return master;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  }<a name="line.109"></a>
+<span class="sourceLineNo">110</span><a name="line.110"></a>
+<span class="sourceLineNo">111</span>  public Configuration getMasterConfiguration() {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    return master.getConfiguration();<a name="line.112"></a>
+<span class="sourceLineNo">113</span>  }<a name="line.113"></a>
+<span class="sourceLineNo">114</span><a name="line.114"></a>
+<span class="sourceLineNo">115</span>  public MasterCoprocessorHost getMasterCoprocessorHost() {<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    return master.getMasterCoprocessorHost();<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  }<a name="line.117"></a>
+<span class="sourceLineNo">118</span><a name="line.118"></a>
+<span class="sourceLineNo">119</span>  public MasterProcedureScheduler getProcedureQueue() {<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    return procSched;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>  }<a name="line.121"></a>
+<span class="sourceLineNo">122</span><a name="line.122"></a>
+<span class="sourceLineNo">123</span>  public boolean isRunning() {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    return master.getMasterProcedureExecutor().isRunning();<a name="line.124"></a>
+<span class="sourceLineNo">125</span>  }<a name="line.125"></a>
+<span class="sourceLineNo">126</span><a name="line.126"></a>
+<span class="sourceLineNo">127</span>  public boolean isInitialized() {<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    return master.isInitialized();<a name="line.128"></a>
+<span class="sourceLineNo">129</span>  }<a name="line.129"></a>
+<span class="sourceLineNo">130</span><a name="line.130"></a>
+<span class="sourceLineNo">131</span>  public boolean waitInitialized(Procedure proc) {<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    return procSched.waitEvent(((HMaster)master).getInitializedEvent(), proc);<a name="line.132"></a>
+<span class="sourceLineNo">133</span>  }<a name="line.133"></a>
+<span class="sourceLineNo">134</span><a name="line.134"></a>
+<span class="sourceLineNo">135</span>  public boolean waitServerCrashProcessingEnabled(Procedure proc) {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    return procSched.waitEvent(((HMaster)master).getServerCrashProcessingEnabledEvent(), proc);<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>  public void wake(ProcedureEvent event) {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    procSched.wake(event);<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>  public void suspend(ProcedureEvent event) {<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    procSched.suspend(event);<a name="line.144"></a>
+<span class="sourceLineNo">145</span>  }<a name="line.145"></a>
+<span class="sourceLineNo">146</span><a name="line.146"></a>
+<span class="sourceLineNo">147</span>  public void setEventReady(ProcedureEvent event, boolean isReady) {<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    if (isReady) {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      procSched.wake(event);<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    } else {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      procSched.suspend(event);<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    }<a name="line.152"></a>
+<span class="sourceLineNo">153</span>  }<a name="line.153"></a>
+<span class="sourceLineNo">154</span>}<a name="line.154"></a>
 
 
 


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.BulkDisabler.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.BulkDisabler.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.BulkDisabler.html
index 5439921..945a72c 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.BulkDisabler.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.BulkDisabler.html
@@ -44,511 +44,508 @@
 <span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.36"></a>
 <span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.37"></a>
 <span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.constraint.ConstraintException;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.executor.EventType;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.master.AssignmentManager;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.master.BulkAssigner;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.master.MasterCoprocessorHost;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.master.RegionState;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.master.RegionStates;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.master.TableStateManager;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.procedure2.StateMachineProcedure;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.htrace.Trace;<a name="line.52"></a>
-<span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span>@InterfaceAudience.Private<a name="line.54"></a>
-<span class="sourceLineNo">055</span>public class DisableTableProcedure<a name="line.55"></a>
-<span class="sourceLineNo">056</span>    extends StateMachineProcedure&lt;MasterProcedureEnv, DisableTableState&gt;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>    implements TableProcedureInterface {<a name="line.57"></a>
-<span class="sourceLineNo">058</span>  private static final Log LOG = LogFactory.getLog(DisableTableProcedure.class);<a name="line.58"></a>
-<span class="sourceLineNo">059</span><a name="line.59"></a>
-<span class="sourceLineNo">060</span>  private final AtomicBoolean aborted = new AtomicBoolean(false);<a name="line.60"></a>
-<span class="sourceLineNo">061</span><a name="line.61"></a>
-<span class="sourceLineNo">062</span>  // This is for back compatible with 1.0 asynchronized operations.<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  private final ProcedurePrepareLatch syncLatch;<a name="line.63"></a>
-<span class="sourceLineNo">064</span><a name="line.64"></a>
-<span class="sourceLineNo">065</span>  private TableName tableName;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>  private boolean skipTableStateCheck;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  private UserGroupInformation user;<a name="line.67"></a>
-<span class="sourceLineNo">068</span><a name="line.68"></a>
-<span class="sourceLineNo">069</span>  private Boolean traceEnabled = null;<a name="line.69"></a>
-<span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span>  enum MarkRegionOfflineOpResult {<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    MARK_ALL_REGIONS_OFFLINE_SUCCESSFUL,<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    BULK_ASSIGN_REGIONS_FAILED,<a name="line.73"></a>
-<span class="sourceLineNo">074</span>    MARK_ALL_REGIONS_OFFLINE_INTERRUPTED,<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  }<a name="line.75"></a>
-<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span>  public DisableTableProcedure() {<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    syncLatch = null;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>  }<a name="line.79"></a>
-<span class="sourceLineNo">080</span><a name="line.80"></a>
-<span class="sourceLineNo">081</span>  /**<a name="line.81"></a>
-<span class="sourceLineNo">082</span>   * Constructor<a name="line.82"></a>
-<span class="sourceLineNo">083</span>   * @param env MasterProcedureEnv<a name="line.83"></a>
-<span class="sourceLineNo">084</span>   * @param tableName the table to operate on<a name="line.84"></a>
-<span class="sourceLineNo">085</span>   * @param skipTableStateCheck whether to check table state<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   * @throws IOException<a name="line.86"></a>
-<span class="sourceLineNo">087</span>   */<a name="line.87"></a>
-<span class="sourceLineNo">088</span>  public DisableTableProcedure(<a name="line.88"></a>
-<span class="sourceLineNo">089</span>      final MasterProcedureEnv env,<a name="line.89"></a>
-<span class="sourceLineNo">090</span>      final TableName tableName,<a name="line.90"></a>
-<span class="sourceLineNo">091</span>      final boolean skipTableStateCheck) throws IOException {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    this(env, tableName, skipTableStateCheck, null);<a name="line.92"></a>
-<span class="sourceLineNo">093</span>  }<a name="line.93"></a>
-<span class="sourceLineNo">094</span><a name="line.94"></a>
-<span class="sourceLineNo">095</span>  /**<a name="line.95"></a>
-<span class="sourceLineNo">096</span>   * Constructor<a name="line.96"></a>
-<span class="sourceLineNo">097</span>   * @param env MasterProcedureEnv<a name="line.97"></a>
-<span class="sourceLineNo">098</span>   * @param tableName the table to operate on<a name="line.98"></a>
-<span class="sourceLineNo">099</span>   * @param skipTableStateCheck whether to check table state<a name="line.99"></a>
-<span class="sourceLineNo">100</span>   * @throws IOException<a name="line.100"></a>
-<span class="sourceLineNo">101</span>   */<a name="line.101"></a>
-<span class="sourceLineNo">102</span>  public DisableTableProcedure(<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      final MasterProcedureEnv env,<a name="line.103"></a>
-<span class="sourceLineNo">104</span>      final TableName tableName,<a name="line.104"></a>
-<span class="sourceLineNo">105</span>      final boolean skipTableStateCheck,<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      final ProcedurePrepareLatch syncLatch) throws IOException {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    this.tableName = tableName;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    this.skipTableStateCheck = skipTableStateCheck;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    this.user = env.getRequestUser().getUGI();<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    this.setOwner(this.user.getShortUserName());<a name="line.110"></a>
-<span class="sourceLineNo">111</span><a name="line.111"></a>
-<span class="sourceLineNo">112</span>    // Compatible with 1.0: We use latch to make sure that this procedure implementation is<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    // compatible with 1.0 asynchronized operations. We need to lock the table and check<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    // whether the Disable operation could be performed (table exists and online; table state<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    // is ENABLED). Once it is done, we are good to release the latch and the client can<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    // start asynchronously wait for the operation.<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    //<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    // Note: the member syncLatch could be null if we are in failover or recovery scenario.<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    // This is ok for backward compatible, as 1.0 client would not able to peek at procedure.<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    this.syncLatch = syncLatch;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>  }<a name="line.121"></a>
-<span class="sourceLineNo">122</span><a name="line.122"></a>
-<span class="sourceLineNo">123</span>  @Override<a name="line.123"></a>
-<span class="sourceLineNo">124</span>  protected Flow executeFromState(final MasterProcedureEnv env, final DisableTableState state)<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      throws InterruptedException {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    if (isTraceEnabled()) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      LOG.trace(this + " execute state=" + state);<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    }<a name="line.128"></a>
-<span class="sourceLineNo">129</span><a name="line.129"></a>
-<span class="sourceLineNo">130</span>    try {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>      switch (state) {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      case DISABLE_TABLE_PREPARE:<a name="line.132"></a>
-<span class="sourceLineNo">133</span>        if (prepareDisable(env)) {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>          setNextState(DisableTableState.DISABLE_TABLE_PRE_OPERATION);<a name="line.134"></a>
-<span class="sourceLineNo">135</span>        } else {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>          assert isFailed() : "disable should have an exception here";<a name="line.136"></a>
-<span class="sourceLineNo">137</span>          return Flow.NO_MORE_STATE;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>        }<a name="line.138"></a>
-<span class="sourceLineNo">139</span>        break;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>      case DISABLE_TABLE_PRE_OPERATION:<a name="line.140"></a>
-<span class="sourceLineNo">141</span>        preDisable(env, state);<a name="line.141"></a>
-<span class="sourceLineNo">142</span>        setNextState(DisableTableState.DISABLE_TABLE_SET_DISABLING_TABLE_STATE);<a name="line.142"></a>
-<span class="sourceLineNo">143</span>        break;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      case DISABLE_TABLE_SET_DISABLING_TABLE_STATE:<a name="line.144"></a>
-<span class="sourceLineNo">145</span>        setTableStateToDisabling(env, tableName);<a name="line.145"></a>
-<span class="sourceLineNo">146</span>        setNextState(DisableTableState.DISABLE_TABLE_MARK_REGIONS_OFFLINE);<a name="line.146"></a>
-<span class="sourceLineNo">147</span>        break;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>      case DISABLE_TABLE_MARK_REGIONS_OFFLINE:<a name="line.148"></a>
-<span class="sourceLineNo">149</span>        if (markRegionsOffline(env, tableName, true) ==<a name="line.149"></a>
-<span class="sourceLineNo">150</span>            MarkRegionOfflineOpResult.MARK_ALL_REGIONS_OFFLINE_SUCCESSFUL) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>          setNextState(DisableTableState.DISABLE_TABLE_SET_DISABLED_TABLE_STATE);<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        } else {<a name="line.152"></a>
-<span class="sourceLineNo">153</span>          LOG.trace("Retrying later to disable the missing regions");<a name="line.153"></a>
-<span class="sourceLineNo">154</span>        }<a name="line.154"></a>
-<span class="sourceLineNo">155</span>        break;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>      case DISABLE_TABLE_SET_DISABLED_TABLE_STATE:<a name="line.156"></a>
-<span class="sourceLineNo">157</span>        setTableStateToDisabled(env, tableName);<a name="line.157"></a>
-<span class="sourceLineNo">158</span>        setNextState(DisableTableState.DISABLE_TABLE_POST_OPERATION);<a name="line.158"></a>
-<span class="sourceLineNo">159</span>        break;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>      case DISABLE_TABLE_POST_OPERATION:<a name="line.160"></a>
-<span class="sourceLineNo">161</span>        postDisable(env, state);<a name="line.161"></a>
-<span class="sourceLineNo">162</span>        return Flow.NO_MORE_STATE;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      default:<a name="line.163"></a>
-<span class="sourceLineNo">164</span>        throw new UnsupportedOperationException("unhandled state=" + state);<a name="line.164"></a>
-<span class="sourceLineNo">165</span>      }<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    } catch (IOException e) {<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      LOG.warn("Retriable error trying to disable table=" + tableName + " state=" + state, e);<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    }<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    return Flow.HAS_MORE_STATE;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>  }<a name="line.170"></a>
-<span class="sourceLineNo">171</span><a name="line.171"></a>
-<span class="sourceLineNo">172</span>  @Override<a name="line.172"></a>
-<span class="sourceLineNo">173</span>  protected void rollbackState(final MasterProcedureEnv env, final DisableTableState state)<a name="line.173"></a>
-<span class="sourceLineNo">174</span>      throws IOException {<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    if (state == DisableTableState.DISABLE_TABLE_PREPARE) {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      // nothing to rollback, prepare-disable is just table-state checks.<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      // We can fail if the table does not exist or is not disabled.<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      ProcedurePrepareLatch.releaseLatch(syncLatch, this);<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      return;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    }<a name="line.180"></a>
-<span class="sourceLineNo">181</span><a name="line.181"></a>
-<span class="sourceLineNo">182</span>    // The delete doesn't have a rollback. The execution will succeed, at some point.<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    throw new UnsupportedOperationException("unhandled state=" + state);<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  }<a name="line.184"></a>
-<span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span>  @Override<a name="line.186"></a>
-<span class="sourceLineNo">187</span>  protected DisableTableState getState(final int stateId) {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    return DisableTableState.valueOf(stateId);<a name="line.188"></a>
-<span class="sourceLineNo">189</span>  }<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>  @Override<a name="line.191"></a>
-<span class="sourceLineNo">192</span>  protected int getStateId(final DisableTableState state) {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    return state.getNumber();<a name="line.193"></a>
-<span class="sourceLineNo">194</span>  }<a name="line.194"></a>
-<span class="sourceLineNo">195</span><a name="line.195"></a>
-<span class="sourceLineNo">196</span>  @Override<a name="line.196"></a>
-<span class="sourceLineNo">197</span>  protected DisableTableState getInitialState() {<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    return DisableTableState.DISABLE_TABLE_PREPARE;<a name="line.198"></a>
-<span class="sourceLineNo">199</span>  }<a name="line.199"></a>
-<span class="sourceLineNo">200</span><a name="line.200"></a>
-<span class="sourceLineNo">201</span>  @Override<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  protected void setNextState(final DisableTableState state) {<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    if (aborted.get()) {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      setAbortFailure("disable-table", "abort requested");<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    } else {<a name="line.205"></a>
-<span class="sourceLineNo">206</span>      super.setNextState(state);<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    }<a name="line.207"></a>
-<span class="sourceLineNo">208</span>  }<a name="line.208"></a>
-<span class="sourceLineNo">209</span><a name="line.209"></a>
-<span class="sourceLineNo">210</span>  @Override<a name="line.210"></a>
-<span class="sourceLineNo">211</span>  public boolean abort(final MasterProcedureEnv env) {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    aborted.set(true);<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    return true;<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  }<a name="line.214"></a>
-<span class="sourceLineNo">215</span><a name="line.215"></a>
-<span class="sourceLineNo">216</span>  @Override<a name="line.216"></a>
-<span class="sourceLineNo">217</span>  protected boolean acquireLock(final MasterProcedureEnv env) {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    if (!env.isInitialized()) return false;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    return env.getProcedureQueue().tryAcquireTableExclusiveLock(<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      tableName,<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      EventType.C_M_DISABLE_TABLE.toString());<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>  @Override<a name="line.224"></a>
-<span class="sourceLineNo">225</span>  protected void releaseLock(final MasterProcedureEnv env) {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    env.getProcedureQueue().releaseTableExclusiveLock(tableName);<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  }<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  @Override<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  public void serializeStateData(final OutputStream stream) throws IOException {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    super.serializeStateData(stream);<a name="line.231"></a>
-<span class="sourceLineNo">232</span><a name="line.232"></a>
-<span class="sourceLineNo">233</span>    MasterProcedureProtos.DisableTableStateData.Builder disableTableMsg =<a name="line.233"></a>
-<span class="sourceLineNo">234</span>        MasterProcedureProtos.DisableTableStateData.newBuilder()<a name="line.234"></a>
-<span class="sourceLineNo">235</span>            .setUserInfo(MasterProcedureUtil.toProtoUserInfo(user))<a name="line.235"></a>
-<span class="sourceLineNo">236</span>            .setTableName(ProtobufUtil.toProtoTableName(tableName))<a name="line.236"></a>
-<span class="sourceLineNo">237</span>            .setSkipTableStateCheck(skipTableStateCheck);<a name="line.237"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.master.AssignmentManager;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.master.BulkAssigner;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.master.MasterCoprocessorHost;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.master.RegionState;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.master.RegionStates;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.master.TableStateManager;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.procedure2.StateMachineProcedure;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.htrace.Trace;<a name="line.51"></a>
+<span class="sourceLineNo">052</span><a name="line.52"></a>
+<span class="sourceLineNo">053</span>@InterfaceAudience.Private<a name="line.53"></a>
+<span class="sourceLineNo">054</span>public class DisableTableProcedure<a name="line.54"></a>
+<span class="sourceLineNo">055</span>    extends StateMachineProcedure&lt;MasterProcedureEnv, DisableTableState&gt;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>    implements TableProcedureInterface {<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  private static final Log LOG = LogFactory.getLog(DisableTableProcedure.class);<a name="line.57"></a>
+<span class="sourceLineNo">058</span><a name="line.58"></a>
+<span class="sourceLineNo">059</span>  private final AtomicBoolean aborted = new AtomicBoolean(false);<a name="line.59"></a>
+<span class="sourceLineNo">060</span><a name="line.60"></a>
+<span class="sourceLineNo">061</span>  // This is for back compatible with 1.0 asynchronized operations.<a name="line.61"></a>
+<span class="sourceLineNo">062</span>  private final ProcedurePrepareLatch syncLatch;<a name="line.62"></a>
+<span class="sourceLineNo">063</span><a name="line.63"></a>
+<span class="sourceLineNo">064</span>  private TableName tableName;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>  private boolean skipTableStateCheck;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  private UserGroupInformation user;<a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span>  private Boolean traceEnabled = null;<a name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span>  enum MarkRegionOfflineOpResult {<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    MARK_ALL_REGIONS_OFFLINE_SUCCESSFUL,<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    BULK_ASSIGN_REGIONS_FAILED,<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    MARK_ALL_REGIONS_OFFLINE_INTERRUPTED,<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  }<a name="line.74"></a>
+<span class="sourceLineNo">075</span><a name="line.75"></a>
+<span class="sourceLineNo">076</span>  public DisableTableProcedure() {<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    syncLatch = null;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  }<a name="line.78"></a>
+<span class="sourceLineNo">079</span><a name="line.79"></a>
+<span class="sourceLineNo">080</span>  /**<a name="line.80"></a>
+<span class="sourceLineNo">081</span>   * Constructor<a name="line.81"></a>
+<span class="sourceLineNo">082</span>   * @param env MasterProcedureEnv<a name="line.82"></a>
+<span class="sourceLineNo">083</span>   * @param tableName the table to operate on<a name="line.83"></a>
+<span class="sourceLineNo">084</span>   * @param skipTableStateCheck whether to check table state<a name="line.84"></a>
+<span class="sourceLineNo">085</span>   * @throws IOException<a name="line.85"></a>
+<span class="sourceLineNo">086</span>   */<a name="line.86"></a>
+<span class="sourceLineNo">087</span>  public DisableTableProcedure(<a name="line.87"></a>
+<span class="sourceLineNo">088</span>      final MasterProcedureEnv env,<a name="line.88"></a>
+<span class="sourceLineNo">089</span>      final TableName tableName,<a name="line.89"></a>
+<span class="sourceLineNo">090</span>      final boolean skipTableStateCheck) throws IOException {<a name="line.90"></a>
+<span class="sourceLineNo">091</span>    this(env, tableName, skipTableStateCheck, null);<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  }<a name="line.92"></a>
+<span class="sourceLineNo">093</span><a name="line.93"></a>
+<span class="sourceLineNo">094</span>  /**<a name="line.94"></a>
+<span class="sourceLineNo">095</span>   * Constructor<a name="line.95"></a>
+<span class="sourceLineNo">096</span>   * @param env MasterProcedureEnv<a name="line.96"></a>
+<span class="sourceLineNo">097</span>   * @param tableName the table to operate on<a name="line.97"></a>
+<span class="sourceLineNo">098</span>   * @param skipTableStateCheck whether to check table state<a name="line.98"></a>
+<span class="sourceLineNo">099</span>   * @throws IOException<a name="line.99"></a>
+<span class="sourceLineNo">100</span>   */<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  public DisableTableProcedure(<a name="line.101"></a>
+<span class="sourceLineNo">102</span>      final MasterProcedureEnv env,<a name="line.102"></a>
+<span class="sourceLineNo">103</span>      final TableName tableName,<a name="line.103"></a>
+<span class="sourceLineNo">104</span>      final boolean skipTableStateCheck,<a name="line.104"></a>
+<span class="sourceLineNo">105</span>      final ProcedurePrepareLatch syncLatch) throws IOException {<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    this.tableName = tableName;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    this.skipTableStateCheck = skipTableStateCheck;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    this.user = env.getRequestUser().getUGI();<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    this.setOwner(this.user.getShortUserName());<a name="line.109"></a>
+<span class="sourceLineNo">110</span><a name="line.110"></a>
+<span class="sourceLineNo">111</span>    // Compatible with 1.0: We use latch to make sure that this procedure implementation is<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    // compatible with 1.0 asynchronized operations. We need to lock the table and check<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    // whether the Disable operation could be performed (table exists and online; table state<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    // is ENABLED). Once it is done, we are good to release the latch and the client can<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    // start asynchronously wait for the operation.<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    //<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    // Note: the member syncLatch could be null if we are in failover or recovery scenario.<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    // This is ok for backward compatible, as 1.0 client would not able to peek at procedure.<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    this.syncLatch = syncLatch;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  }<a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121"></a>
+<span class="sourceLineNo">122</span>  @Override<a name="line.122"></a>
+<span class="sourceLineNo">123</span>  protected Flow executeFromState(final MasterProcedureEnv env, final DisableTableState state)<a name="line.123"></a>
+<span class="sourceLineNo">124</span>      throws InterruptedException {<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    if (isTraceEnabled()) {<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      LOG.trace(this + " execute state=" + state);<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>    try {<a name="line.129"></a>
+<span class="sourceLineNo">130</span>      switch (state) {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      case DISABLE_TABLE_PREPARE:<a name="line.131"></a>
+<span class="sourceLineNo">132</span>        if (prepareDisable(env)) {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>          setNextState(DisableTableState.DISABLE_TABLE_PRE_OPERATION);<a name="line.133"></a>
+<span class="sourceLineNo">134</span>        } else {<a name="line.134"></a>
+<span class="sourceLineNo">135</span>          assert isFailed() : "disable should have an exception here";<a name="line.135"></a>
+<span class="sourceLineNo">136</span>          return Flow.NO_MORE_STATE;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>        }<a name="line.137"></a>
+<span class="sourceLineNo">138</span>        break;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      case DISABLE_TABLE_PRE_OPERATION:<a name="line.139"></a>
+<span class="sourceLineNo">140</span>        preDisable(env, state);<a name="line.140"></a>
+<span class="sourceLineNo">141</span>        setNextState(DisableTableState.DISABLE_TABLE_SET_DISABLING_TABLE_STATE);<a name="line.141"></a>
+<span class="sourceLineNo">142</span>        break;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>      case DISABLE_TABLE_SET_DISABLING_TABLE_STATE:<a name="line.143"></a>
+<span class="sourceLineNo">144</span>        setTableStateToDisabling(env, tableName);<a name="line.144"></a>
+<span class="sourceLineNo">145</span>        setNextState(DisableTableState.DISABLE_TABLE_MARK_REGIONS_OFFLINE);<a name="line.145"></a>
+<span class="sourceLineNo">146</span>        break;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>      case DISABLE_TABLE_MARK_REGIONS_OFFLINE:<a name="line.147"></a>
+<span class="sourceLineNo">148</span>        if (markRegionsOffline(env, tableName, true) ==<a name="line.148"></a>
+<span class="sourceLineNo">149</span>            MarkRegionOfflineOpResult.MARK_ALL_REGIONS_OFFLINE_SUCCESSFUL) {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>          setNextState(DisableTableState.DISABLE_TABLE_SET_DISABLED_TABLE_STATE);<a name="line.150"></a>
+<span class="sourceLineNo">151</span>        } else {<a name="line.151"></a>
+<span class="sourceLineNo">152</span>          LOG.trace("Retrying later to disable the missing regions");<a name="line.152"></a>
+<span class="sourceLineNo">153</span>        }<a name="line.153"></a>
+<span class="sourceLineNo">154</span>        break;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>      case DISABLE_TABLE_SET_DISABLED_TABLE_STATE:<a name="line.155"></a>
+<span class="sourceLineNo">156</span>        setTableStateToDisabled(env, tableName);<a name="line.156"></a>
+<span class="sourceLineNo">157</span>        setNextState(DisableTableState.DISABLE_TABLE_POST_OPERATION);<a name="line.157"></a>
+<span class="sourceLineNo">158</span>        break;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>      case DISABLE_TABLE_POST_OPERATION:<a name="line.159"></a>
+<span class="sourceLineNo">160</span>        postDisable(env, state);<a name="line.160"></a>
+<span class="sourceLineNo">161</span>        return Flow.NO_MORE_STATE;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>      default:<a name="line.162"></a>
+<span class="sourceLineNo">163</span>        throw new UnsupportedOperationException("unhandled state=" + state);<a name="line.163"></a>
+<span class="sourceLineNo">164</span>      }<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    } catch (IOException e) {<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      LOG.warn("Retriable error trying to disable table=" + tableName + " state=" + state, e);<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    }<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    return Flow.HAS_MORE_STATE;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>  }<a name="line.169"></a>
+<span class="sourceLineNo">170</span><a name="line.170"></a>
+<span class="sourceLineNo">171</span>  @Override<a name="line.171"></a>
+<span class="sourceLineNo">172</span>  protected void rollbackState(final MasterProcedureEnv env, final DisableTableState state)<a name="line.172"></a>
+<span class="sourceLineNo">173</span>      throws IOException {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    if (state == DisableTableState.DISABLE_TABLE_PREPARE) {<a name="line.174"></a>
+<span class="sourceLineNo">175</span>      // nothing to rollback, prepare-disable is just table-state checks.<a name="line.175"></a>
+<span class="sourceLineNo">176</span>      // We can fail if the table does not exist or is not disabled.<a name="line.176"></a>
+<span class="sourceLineNo">177</span>      ProcedurePrepareLatch.releaseLatch(syncLatch, this);<a name="line.177"></a>
+<span class="sourceLineNo">178</span>      return;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    }<a name="line.179"></a>
+<span class="sourceLineNo">180</span><a name="line.180"></a>
+<span class="sourceLineNo">181</span>    // The delete doesn't have a rollback. The execution will succeed, at some point.<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    throw new UnsupportedOperationException("unhandled state=" + state);<a name="line.182"></a>
+<span class="sourceLineNo">183</span>  }<a name="line.183"></a>
+<span class="sourceLineNo">184</span><a name="line.184"></a>
+<span class="sourceLineNo">185</span>  @Override<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  protected DisableTableState getState(final int stateId) {<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    return DisableTableState.valueOf(stateId);<a name="line.187"></a>
+<span class="sourceLineNo">188</span>  }<a name="line.188"></a>
+<span class="sourceLineNo">189</span><a name="line.189"></a>
+<span class="sourceLineNo">190</span>  @Override<a name="line.190"></a>
+<span class="sourceLineNo">191</span>  protected int getStateId(final DisableTableState state) {<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    return state.getNumber();<a name="line.192"></a>
+<span class="sourceLineNo">193</span>  }<a name="line.193"></a>
+<span class="sourceLineNo">194</span><a name="line.194"></a>
+<span class="sourceLineNo">195</span>  @Override<a name="line.195"></a>
+<span class="sourceLineNo">196</span>  protected DisableTableState getInitialState() {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    return DisableTableState.DISABLE_TABLE_PREPARE;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>  }<a name="line.198"></a>
+<span class="sourceLineNo">199</span><a name="line.199"></a>
+<span class="sourceLineNo">200</span>  @Override<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  protected void setNextState(final DisableTableState state) {<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    if (aborted.get()) {<a name="line.202"></a>
+<span class="sourceLineNo">203</span>      setAbortFailure("disable-table", "abort requested");<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    } else {<a name="line.204"></a>
+<span class="sourceLineNo">205</span>      super.setNextState(state);<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    }<a name="line.206"></a>
+<span class="sourceLineNo">207</span>  }<a name="line.207"></a>
+<span class="sourceLineNo">208</span><a name="line.208"></a>
+<span class="sourceLineNo">209</span>  @Override<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  public boolean abort(final MasterProcedureEnv env) {<a name="line.210"></a>
+<span class="sourceLineNo">211</span>    aborted.set(true);<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    return true;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>  }<a name="line.213"></a>
+<span class="sourceLineNo">214</span><a name="line.214"></a>
+<span class="sourceLineNo">215</span>  @Override<a name="line.215"></a>
+<span class="sourceLineNo">216</span>  protected boolean acquireLock(final MasterProcedureEnv env) {<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    if (env.waitInitialized(this)) return false;<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    return env.getProcedureQueue().tryAcquireTableExclusiveLock(tableName, "disable table");<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  }<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  @Override<a name="line.221"></a>
+<span class="sourceLineNo">222</span>  protected void releaseLock(final MasterProcedureEnv env) {<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    env.getProcedureQueue().releaseTableExclusiveLock(tableName);<a name="line.223"></a>
+<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span>  @Override<a name="line.226"></a>
+<span class="sourceLineNo">227</span>  public void serializeStateData(final OutputStream stream) throws IOException {<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    super.serializeStateData(stream);<a name="line.228"></a>
+<span class="sourceLineNo">229</span><a name="line.229"></a>
+<span class="sourceLineNo">230</span>    MasterProcedureProtos.DisableTableStateData.Builder disableTableMsg =<a name="line.230"></a>
+<span class="sourceLineNo">231</span>        MasterProcedureProtos.DisableTableStateData.newBuilder()<a name="line.231"></a>
+<span class="sourceLineNo">232</span>            .setUserInfo(MasterProcedureUtil.toProtoUserInfo(user))<a name="line.232"></a>
+<span class="sourceLineNo">233</span>            .setTableName(ProtobufUtil.toProtoTableName(tableName))<a name="line.233"></a>
+<span class="sourceLineNo">234</span>            .setSkipTableStateCheck(skipTableStateCheck);<a name="line.234"></a>
+<span class="sourceLineNo">235</span><a name="line.235"></a>
+<span class="sourceLineNo">236</span>    disableTableMsg.build().writeDelimitedTo(stream);<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  }<a name="line.237"></a>
 <span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>    disableTableMsg.build().writeDelimitedTo(stream);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  @Override<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  public void deserializeStateData(final InputStream stream) throws IOException {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    super.deserializeStateData(stream);<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span>    MasterProcedureProtos.DisableTableStateData disableTableMsg =<a name="line.246"></a>
-<span class="sourceLineNo">247</span>        MasterProcedureProtos.DisableTableStateData.parseDelimitedFrom(stream);<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    user = MasterProcedureUtil.toUserInfo(disableTableMsg.getUserInfo());<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    tableName = ProtobufUtil.toTableName(disableTableMsg.getTableName());<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    skipTableStateCheck = disableTableMsg.getSkipTableStateCheck();<a name="line.250"></a>
-<span class="sourceLineNo">251</span>  }<a name="line.251"></a>
-<span class="sourceLineNo">252</span><a name="line.252"></a>
-<span class="sourceLineNo">253</span>  @Override<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  public void toStringClassDetails(StringBuilder sb) {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    sb.append(getClass().getSimpleName());<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    sb.append(" (table=");<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    sb.append(tableName);<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    sb.append(")");<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  }<a name="line.259"></a>
-<span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span>  @Override<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  public TableName getTableName() {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    return tableName;<a name="line.263"></a>
-<span class="sourceLineNo">264</span>  }<a name="line.264"></a>
-<span class="sourceLineNo">265</span><a name="line.265"></a>
-<span class="sourceLineNo">266</span>  @Override<a name="line.266"></a>
-<span class="sourceLineNo">267</span>  public TableOperationType getTableOperationType() {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    return TableOperationType.DISABLE;<a name="line.268"></a>
-<span class="sourceLineNo">269</span>  }<a name="line.269"></a>
-<span class="sourceLineNo">270</span><a name="line.270"></a>
-<span class="sourceLineNo">271</span>  /**<a name="line.271"></a>
-<span class="sourceLineNo">272</span>   * Action before any real action of disabling table. Set the exception in the procedure instead<a name="line.272"></a>
-<span class="sourceLineNo">273</span>   * of throwing it.  This approach is to deal with backward compatible with 1.0.<a name="line.273"></a>
-<span class="sourceLineNo">274</span>   * @param env MasterProcedureEnv<a name="line.274"></a>
-<span class="sourceLineNo">275</span>   * @throws IOException<a name="line.275"></a>
-<span class="sourceLineNo">276</span>   */<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  private boolean prepareDisable(final MasterProcedureEnv env) throws IOException {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    boolean canTableBeDisabled = true;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>    if (tableName.equals(TableName.META_TABLE_NAME)) {<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      setFailure("master-disable-table", new ConstraintException("Cannot disable catalog table"));<a name="line.280"></a>
+<span class="sourceLineNo">239</span>  @Override<a name="line.239"></a>
+<span class="sourceLineNo">240</span>  public void deserializeStateData(final InputStream stream) throws IOException {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    super.deserializeStateData(stream);<a name="line.241"></a>
+<span class="sourceLineNo">242</span><a name="line.242"></a>
+<span class="sourceLineNo">243</span>    MasterProcedureProtos.DisableTableStateData disableTableMsg =<a name="line.243"></a>
+<span class="sourceLineNo">244</span>        MasterProcedureProtos.DisableTableStateData.parseDelimitedFrom(stream);<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    user = MasterProcedureUtil.toUserInfo(disableTableMsg.getUserInfo());<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    tableName = ProtobufUtil.toTableName(disableTableMsg.getTableName());<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    skipTableStateCheck = disableTableMsg.getSkipTableStateCheck();<a name="line.247"></a>
+<span class="sourceLineNo">248</span>  }<a name="line.248"></a>
+<span class="sourceLineNo">249</span><a name="line.249"></a>
+<span class="sourceLineNo">250</span>  @Override<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  public void toStringClassDetails(StringBuilder sb) {<a name="line.251"></a>
+<span class="sourceLineNo">252</span>    sb.append(getClass().getSimpleName());<a name="line.252"></a>
+<span class="sourceLineNo">253</span>    sb.append(" (table=");<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    sb.append(tableName);<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    sb.append(")");<a name="line.255"></a>
+<span class="sourceLineNo">256</span>  }<a name="line.256"></a>
+<span class="sourceLineNo">257</span><a name="line.257"></a>
+<span class="sourceLineNo">258</span>  @Override<a name="line.258"></a>
+<span class="sourceLineNo">259</span>  public TableName getTableName() {<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    return tableName;<a name="line.260"></a>
+<span class="sourceLineNo">261</span>  }<a name="line.261"></a>
+<span class="sourceLineNo">262</span><a name="line.262"></a>
+<span class="sourceLineNo">263</span>  @Override<a name="line.263"></a>
+<span class="sourceLineNo">264</span>  public TableOperationType getTableOperationType() {<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    return TableOperationType.DISABLE;<a name="line.265"></a>
+<span class="sourceLineNo">266</span>  }<a name="line.266"></a>
+<span class="sourceLineNo">267</span><a name="line.267"></a>
+<span class="sourceLineNo">268</span>  /**<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   * Action before any real action of disabling table. Set the exception in the procedure instead<a name="line.269"></a>
+<span class="sourceLineNo">270</span>   * of throwing it.  This approach is to deal with backward compatible with 1.0.<a name="line.270"></a>
+<span class="sourceLineNo">271</span>   * @param env MasterProcedureEnv<a name="line.271"></a>
+<span class="sourceLineNo">272</span>   * @throws IOException<a name="line.272"></a>
+<span class="sourceLineNo">273</span>   */<a name="line.273"></a>
+<span class="sourceLineNo">274</span>  private boolean prepareDisable(final MasterProcedureEnv env) throws IOException {<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    boolean canTableBeDisabled = true;<a name="line.275"></a>
+<span class="sourceLineNo">276</span>    if (tableName.equals(TableName.META_TABLE_NAME)) {<a name="line.276"></a>
+<span class="sourceLineNo">277</span>      setFailure("master-disable-table", new ConstraintException("Cannot disable catalog table"));<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      canTableBeDisabled = false;<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    } else if (!MetaTableAccessor.tableExists(env.getMasterServices().getConnection(), tableName)) {<a name="line.279"></a>
+<span class="sourceLineNo">280</span>      setFailure("master-disable-table", new TableNotFoundException(tableName));<a name="line.280"></a>
 <span class="sourceLineNo">281</span>      canTableBeDisabled = false;<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    } else if (!MetaTableAccessor.tableExists(env.getMasterServices().getConnection(), tableName)) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      setFailure("master-disable-table", new TableNotFoundException(tableName));<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      canTableBeDisabled = false;<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    } else if (!skipTableStateCheck) {<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      // There could be multiple client requests trying to disable or enable<a name="line.286"></a>
-<span class="sourceLineNo">287</span>      // the table at the same time. Ensure only the first request is honored<a name="line.287"></a>
-<span class="sourceLineNo">288</span>      // After that, no other requests can be accepted until the table reaches<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      // DISABLED or ENABLED.<a name="line.289"></a>
-<span class="sourceLineNo">290</span>      //<a name="line.290"></a>
-<span class="sourceLineNo">291</span>      // Note: in 1.0 release, we called TableStateManager.setTableStateIfInStates() to set<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      // the state to DISABLING from ENABLED. The implementation was done before table lock<a name="line.292"></a>
-<span class="sourceLineNo">293</span>      // was implemented. With table lock, there is no need to set the state here (it will<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      // set the state later on). A quick state check should be enough for us to move forward.<a name="line.294"></a>
-<span class="sourceLineNo">295</span>      TableStateManager tsm =<a name="line.295"></a>
-<span class="sourceLineNo">296</span>        env.getMasterServices().getAssignmentManager().getTableStateManager();<a name="line.296"></a>
-<span class="sourceLineNo">297</span>      TableState.State state = tsm.getTableState(tableName);<a name="line.297"></a>
-<span class="sourceLineNo">298</span>      if(!state.equals(TableState.State.ENABLED)){<a name="line.298"></a>
-<span class="sourceLineNo">299</span>        LOG.info("Table " + tableName + " isn't enabled;is "+state.name()+"; skipping disable");<a name="line.299"></a>
-<span class="sourceLineNo">300</span>        setFailure("master-disable-table", new TableNotEnabledException(<a name="line.300"></a>
-<span class="sourceLineNo">301</span>                tableName+" state is "+state.name()));<a name="line.301"></a>
-<span class="sourceLineNo">302</span>        canTableBeDisabled = false;<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">282</span>    } else if (!skipTableStateCheck) {<a name="line.282"></a>
+<span class="sourceLineNo">283</span>      // There could be multiple client requests trying to disable or enable<a name="line.283"></a>
+<span class="sourceLineNo">284</span>      // the table at the same time. Ensure only the first request is honored<a name="line.284"></a>
+<span class="sourceLineNo">285</span>      // After that, no other requests can be accepted until the table reaches<a name="line.285"></a>
+<span class="sourceLineNo">286</span>      // DISABLED or ENABLED.<a name="line.286"></a>
+<span class="sourceLineNo">287</span>      //<a name="line.287"></a>
+<span class="sourceLineNo">288</span>      // Note: in 1.0 release, we called TableStateManager.setTableStateIfInStates() to set<a name="line.288"></a>
+<span class="sourceLineNo">289</span>      // the state to DISABLING from ENABLED. The implementation was done before table lock<a name="line.289"></a>
+<span class="sourceLineNo">290</span>      // was implemented. With table lock, there is no need to set the state here (it will<a name="line.290"></a>
+<span class="sourceLineNo">291</span>      // set the state later on). A quick state check should be enough for us to move forward.<a name="line.291"></a>
+<span class="sourceLineNo">292</span>      TableStateManager tsm =<a name="line.292"></a>
+<span class="sourceLineNo">293</span>        env.getMasterServices().getAssignmentManager().getTableStateManager();<a name="line.293"></a>
+<span class="sourceLineNo">294</span>      TableState.State state = tsm.getTableState(tableName);<a name="line.294"></a>
+<span class="sourceLineNo">295</span>      if(!state.equals(TableState.State.ENABLED)){<a name="line.295"></a>
+<span class="sourceLineNo">296</span>        LOG.info("Table " + tableName + " isn't enabled;is "+state.name()+"; skipping disable");<a name="line.296"></a>
+<span class="sourceLineNo">297</span>        setFailure("master-disable-table", new TableNotEnabledException(<a name="line.297"></a>
+<span class="sourceLineNo">298</span>                tableName+" state is "+state.name()));<a name="line.298"></a>
+<span class="sourceLineNo">299</span>        canTableBeDisabled = false;<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      }<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    }<a name="line.301"></a>
+<span class="sourceLineNo">302</span><a name="line.302"></a>
+<span class="sourceLineNo">303</span>    // We are done the check. Future actions in this procedure could be done asynchronously.<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    ProcedurePrepareLatch.releaseLatch(syncLatch, this);<a name="line.304"></a>
 <span class="sourceLineNo">305</span><a name="line.305"></a>
-<span class="sourceLineNo">306</span>    // We are done the check. Future actions in this procedure could be done asynchronously.<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    ProcedurePrepareLatch.releaseLatch(syncLatch, this);<a name="line.307"></a>
+<span class="sourceLineNo">306</span>    return canTableBeDisabled;<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>    return canTableBeDisabled;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>  }<a name="line.310"></a>
-<span class="sourceLineNo">311</span><a name="line.311"></a>
-<span class="sourceLineNo">312</span>  /**<a name="line.312"></a>
-<span class="sourceLineNo">313</span>   * Action before disabling table.<a name="line.313"></a>
-<span class="sourceLineNo">314</span>   * @param env MasterProcedureEnv<a name="line.314"></a>
-<span class="sourceLineNo">315</span>   * @param state the procedure state<a name="line.315"></a>
-<span class="sourceLineNo">316</span>   * @throws IOException<a name="line.316"></a>
-<span class="sourceLineNo">317</span>   * @throws InterruptedException<a name="line.317"></a>
-<span class="sourceLineNo">318</span>   */<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  protected void preDisable(final MasterProcedureEnv env, final DisableTableState state)<a name="line.319"></a>
-<span class="sourceLineNo">320</span>      throws IOException, InterruptedException {<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    runCoprocessorAction(env, state);<a name="line.321"></a>
-<span class="sourceLineNo">322</span>  }<a name="line.322"></a>
-<span class="sourceLineNo">323</span><a name="line.323"></a>
-<span class="sourceLineNo">324</span>  /**<a name="line.324"></a>
-<span class="sourceLineNo">325</span>   * Mark table state to Disabling<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   * @param env MasterProcedureEnv<a name="line.326"></a>
-<span class="sourceLineNo">327</span>   * @throws IOException<a name="line.327"></a>
-<span class="sourceLineNo">328</span>   */<a name="line.328"></a>
-<span class="sourceLineNo">329</span>  protected static void setTableStateToDisabling(<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      final MasterProcedureEnv env,<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      final TableName tableName) throws IOException {<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    // Set table disabling flag up in zk.<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    env.getMasterServices().getAssignmentManager().getTableStateManager().setTableState(<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      tableName,<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      TableState.State.DISABLING);<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>   * Mark regions of the table offline with retries<a name="line.339"></a>
-<span class="sourceLineNo">340</span>   * @param env MasterProcedureEnv<a name="line.340"></a>
-<span class="sourceLineNo">341</span>   * @param tableName the target table<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * @param retryRequired whether to retry if the first run failed<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   * @return whether the operation is fully completed or being interrupted.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   * @throws IOException<a name="line.344"></a>
-<span class="sourceLineNo">345</span>   */<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  protected static MarkRegionOfflineOpResult markRegionsOffline(<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      final MasterProcedureEnv env,<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      final TableName tableName,<a name="line.348"></a>
-<span class="sourceLineNo">349</span>      final Boolean retryRequired) throws IOException {<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    // Dev consideration: add a config to control max number of retry. For now, it is hard coded.<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    int maxTry = (retryRequired ? 10 : 1);<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    MarkRegionOfflineOpResult operationResult =<a name="line.352"></a>
-<span class="sourceLineNo">353</span>        MarkRegionOfflineOpResult.BULK_ASSIGN_REGIONS_FAILED;<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    do {<a name="line.354"></a>
-<span class="sourceLineNo">355</span>      try {<a name="line.355"></a>
-<span class="sourceLineNo">356</span>        operationResult = markRegionsOffline(env, tableName);<a name="line.356"></a>
-<span class="sourceLineNo">357</span>        if (operationResult == MarkRegionOfflineOpResult.MARK_ALL_REGIONS_OFFLINE_SUCCESSFUL) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>          break;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>        }<a name="line.359"></a>
+<span class="sourceLineNo">309</span>  /**<a name="line.309"></a>
+<span class="sourceLineNo">310</span>   * Action before disabling table.<a name="line.310"></a>
+<span class="sourceLineNo">311</span>   * @param env MasterProcedureEnv<a name="line.311"></a>
+<span class="sourceLineNo">312</span>   * @param state the procedure state<a name="line.312"></a>
+<span class="sourceLineNo">313</span>   * @throws IOException<a name="line.313"></a>
+<span class="sourceLineNo">314</span>   * @throws InterruptedException<a name="line.314"></a>
+<span class="sourceLineNo">315</span>   */<a name="line.315"></a>
+<span class="sourceLineNo">316</span>  protected void preDisable(final MasterProcedureEnv env, final DisableTableState state)<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      throws IOException, InterruptedException {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    runCoprocessorAction(env, state);<a name="line.318"></a>
+<span class="sourceLineNo">319</span>  }<a name="line.319"></a>
+<span class="sourceLineNo">320</span><a name="line.320"></a>
+<span class="sourceLineNo">321</span>  /**<a name="line.321"></a>
+<span class="sourceLineNo">322</span>   * Mark table state to Disabling<a name="line.322"></a>
+<span class="sourceLineNo">323</span>   * @param env MasterProcedureEnv<a name="line.323"></a>
+<span class="sourceLineNo">324</span>   * @throws IOException<a name="line.324"></a>
+<span class="sourceLineNo">325</span>   */<a name="line.325"></a>
+<span class="sourceLineNo">326</span>  protected static void setTableStateToDisabling(<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      final MasterProcedureEnv env,<a name="line.327"></a>
+<span class="sourceLineNo">328</span>      final TableName tableName) throws IOException {<a name="line.328"></a>
+<span class="sourceLineNo">329</span>    // Set table disabling flag up in zk.<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    env.getMasterServices().getAssignmentManager().getTableStateManager().setTableState(<a name="line.330"></a>
+<span class="sourceLineNo">331</span>      tableName,<a name="line.331"></a>
+<span class="sourceLineNo">332</span>      TableState.State.DISABLING);<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>   * Mark regions of the table offline with retries<a name="line.336"></a>
+<span class="sourceLineNo">337</span>   * @param env MasterProcedureEnv<a name="line.337"></a>
+<span class="sourceLineNo">338</span>   * @param tableName the target table<a name="line.338"></a>
+<span class="sourceLineNo">339</span>   * @param retryRequired whether to retry if the first run failed<a name="line.339"></a>
+<span class="sourceLineNo">340</span>   * @return whether the operation is fully completed or being interrupted.<a name="line.340"></a>
+<span class="sourceLineNo">341</span>   * @throws IOException<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   */<a name="line.342"></a>
+<span class="sourceLineNo">343</span>  protected static MarkRegionOfflineOpResult markRegionsOffline(<a name="line.343"></a>
+<span class="sourceLineNo">344</span>      final MasterProcedureEnv env,<a name="line.344"></a>
+<span class="sourceLineNo">345</span>      final TableName tableName,<a name="line.345"></a>
+<span class="sourceLineNo">346</span>      final Boolean retryRequired) throws IOException {<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    // Dev consideration: add a config to control max number of retry. For now, it is hard coded.<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    int maxTry = (retryRequired ? 10 : 1);<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    MarkRegionOfflineOpResult operationResult =<a name="line.349"></a>
+<span class="sourceLineNo">350</span>        MarkRegionOfflineOpResult.BULK_ASSIGN_REGIONS_FAILED;<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    do {<a name="line.351"></a>
+<span class="sourceLineNo">352</span>      try {<a name="line.352"></a>
+<span class="sourceLineNo">353</span>        operationResult = markRegionsOffline(env, tableName);<a name="line.353"></a>
+<span class="sourceLineNo">354</span>        if (operationResult == MarkRegionOfflineOpResult.MARK_ALL_REGIONS_OFFLINE_SUCCESSFUL) {<a name="line.354"></a>
+<span class="sourceLineNo">355</span>          break;<a name="line.355"></a>
+<span class="sourceLineNo">356</span>        }<a name="line.356"></a>
+<span class="sourceLineNo">357</span>        maxTry--;<a name="line.357"></a>
+<span class="sourceLineNo">358</span>      } catch (Exception e) {<a name="line.358"></a>
+<span class="sourceLineNo">359</span>        LOG.warn("Received exception while marking regions online. tries left: " + maxTry, e);<a name="line.359"></a>
 <span class="sourceLineNo">360</span>        maxTry--;<a name="line.360"></a>
-<span class="sourceLineNo">361</span>      } catch (Exception e) {<a name="line.361"></a>
-<span class="sourceLineNo">362</span>        LOG.warn("Received exception while marking regions online. tries left: " + maxTry, e);<a name="line.362"></a>
-<span class="sourceLineNo">363</span>        maxTry--;<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        if (maxTry &gt; 0) {<a name="line.364"></a>
-<span class="sourceLineNo">365</span>          continue; // we still have some retry left, try again.<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        }<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        throw e;<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      }<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    } while (maxTry &gt; 0);<a name="line.369"></a>
-<span class="sourceLineNo">370</span><a name="line.370"></a>
-<span class="sourceLineNo">371</span>    if (operationResult != MarkRegionOfflineOpResult.MARK_ALL_REGIONS_OFFLINE_SUCCESSFUL) {<a name="line.371"></a>
-<span class="sourceLineNo">372</span>      LOG.warn("Some or all regions of the Table '" + tableName + "' were still online");<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    }<a name="line.373"></a>
+<span class="sourceLineNo">361</span>        if (maxTry &gt; 0) {<a name="line.361"></a>
+<span class="sourceLineNo">362</span>          continue; // we still have some retry left, try again.<a name="line.362"></a>
+<span class="sourceLineNo">363</span>        }<a name="line.363"></a>
+<span class="sourceLineNo">364</span>        throw e;<a name="line.364"></a>
+<span class="sourceLineNo">365</span>      }<a name="line.365"></a>
+<span class="sourceLineNo">366</span>    } while (maxTry &gt; 0);<a name="line.366"></a>
+<span class="sourceLineNo">367</span><a name="line.367"></a>
+<span class="sourceLineNo">368</span>    if (operationResult != MarkRegionOfflineOpResult.MARK_ALL_REGIONS_OFFLINE_SUCCESSFUL) {<a name="line.368"></a>
+<span class="sourceLineNo">369</span>      LOG.warn("Some or all regions of the Table '" + tableName + "' were still online");<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>    return operationResult;<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>    return operationResult;<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  }<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>  /**<a name="line.378"></a>
-<span class="sourceLineNo">379</span>   * Mark regions of the table offline<a name="line.379"></a>
-<span class="sourceLineNo">380</span>   * @param env MasterProcedureEnv<a name="line.380"></a>
-<span class="sourceLineNo">381</span>   * @param tableName the target table<a name="line.381"></a>
-<span class="sourceLineNo">382</span>   * @return whether the operation is fully completed or being interrupted.<a name="line.382"></a>
-<span class="sourceLineNo">383</span>   * @throws IOException<a name="line.383"></a>
-<span class="sourceLineNo">384</span>   */<a name="line.384"></a>
-<span class="sourceLineNo">385</span>  private static MarkRegionOfflineOpResult markRegionsOffline(<a name="line.385"></a>
-<span class="sourceLineNo">386</span>      final MasterProcedureEnv env,<a name="line.386"></a>
-<span class="sourceLineNo">387</span>      final TableName tableName) throws IOException {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>    // Get list of online regions that are of this table.  Regions that are<a name="line.388"></a>
-<span class="sourceLineNo">389</span>    // already closed will not be included in this list; i.e. the returned<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    // list is not ALL regions in a table, its all online regions according<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    // to the in-memory state on this master.<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    MarkRegionOfflineOpResult operationResult =<a name="line.392"></a>
-<span class="sourceLineNo">393</span>        MarkRegionOfflineOpResult.MARK_ALL_REGIONS_OFFLINE_SUCCESSFUL;<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    final List&lt;HRegionInfo&gt; regions =<a name="line.394"></a>
-<span class="sourceLineNo">395</span>        env.getMasterServices().getAssignmentManager().getRegionStates()<a name="line.395"></a>
-<span class="sourceLineNo">396</span>            .getRegionsOfTable(tableName);<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    if (regions.size() &gt; 0) {<a name="line.397"></a>
-<span class="sourceLineNo">398</span>      LOG.info("Offlining " + regions.size() + " regions.");<a name="line.398"></a>
-<span class="sourceLineNo">399</span><a name="line.399"></a>
-<span class="sourceLineNo">400</span>      BulkDisabler bd = new BulkDisabler(env, tableName, regions);<a name="line.400"></a>
-<span class="sourceLineNo">401</span>      try {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>        if (!bd.bulkAssign()) {<a name="line.402"></a>
-<span class="sourceLineNo">403</span>          operationResult = MarkRegionOfflineOpResult.BULK_ASSIGN_REGIONS_FAILED;<a name="line.403"></a>
-<span class="sourceLineNo">404</span>        }<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      } catch (InterruptedException e) {<a name="line.405"></a>
-<span class="sourceLineNo">406</span>        LOG.warn("Disable was interrupted");<a name="line.406"></a>
-<span class="sourceLineNo">407</span>        // Preserve the interrupt.<a name="line.407"></a>
-<span class="sourceLineNo">408</span>        Thread.currentThread().interrupt();<a name="line.408"></a>
-<span class="sourceLineNo">409</span>        operationResult = MarkRegionOfflineOpResult.MARK_ALL_REGIONS_OFFLINE_INTERRUPTED;<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>    return operationResult;<a name="line.412"></a>
-<span class="sourceLineNo">413</span>  }<a name="line.413"></a>
-<span class="sourceLineNo">414</span><a name="line.414"></a>
-<span class="sourceLineNo">415</span>  /**<a name="line.415"></a>
-<span class="sourceLineNo">416</span>   * Mark table state to Disabled<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * @param env MasterProcedureEnv<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   * @throws IOException<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   */<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  protected static void setTableStateToDisabled(<a name="line.420"></a>
-<span class="sourceLineNo">421</span>      final MasterProcedureEnv env,<a name="line.421"></a>
-<span class="sourceLineNo">422</span>      final TableName tableName) throws IOException {<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    // Flip the table to disabled<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    env.getMasterServices().getAssignmentManager().getTableStateManager().setTableState(<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      tableName,<a name="line.425"></a>
-<span class="sourceLineNo">426</span>      TableState.State.DISABLED);<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    LOG.info("Disabled table, " + tableName + ", is completed.");<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>   * Action after disabling table.<a name="line.431"></a>
-<span class="sourceLineNo">432</span>   * @param env MasterProcedureEnv<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * @param state the procedure state<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * @throws IOException<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * @throws InterruptedException<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   */<a name="line.436"></a>
-<span class="sourceLineNo">437</span>  protected void postDisable(final MasterProcedureEnv env, final DisableTableState state)<a name="line.437"></a>
-<span class="sourceLineNo">438</span>      throws IOException, InterruptedException {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    runCoprocessorAction(env, state);<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>   * The procedure could be restarted from a different machine. If the variable is null, we need to<a name="line.443"></a>
-<span class="sourceLineNo">444</span>   * retrieve it.<a name="line.444"></a>
-<span class="sourceLineNo">445</span>   * @return traceEnabled<a name="line.445"></a>
-<span class="sourceLineNo">446</span>   */<a name="line.446"></a>
-<span class="sourceLineNo">447</span>  private Boolean isTraceEnabled() {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    if (traceEnabled == null) {<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      traceEnabled = LOG.isTraceEnabled();<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    }<a name="line.450"></a>
-<span class="sourceLineNo">451</span>    return traceEnabled;<a name="line.451"></a>
-<span class="sourceLineNo">452</span>  }<a name="line.452"></a>
-<span class="sourceLineNo">453</span><a name="line.453"></a>
-<span class="sourceLineNo">454</span>  /**<a name="line.454"></a>
-<span class="sourceLineNo">455</span>   * Coprocessor Action.<a name="line.455"></a>
-<span class="sourceLineNo">456</span>   * @param env MasterProcedureEnv<a name="line.456"></a>
-<span class="sourceLineNo">457</span>   * @param state the procedure state<a name="line.457"></a>
-<span class="sourceLineNo">458</span>   * @throws IOException<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   * @throws InterruptedException<a name="line.459"></a>
-<span class="sourceLineNo">460</span>   */<a name="line.460"></a>
-<span class="sourceLineNo">461</span>  private void runCoprocessorAction(final MasterProcedureEnv env, final DisableTableState state)<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      throws IOException, InterruptedException {<a name="line.462"></a>
-<span class="sourceLineNo">463</span>    final MasterCoprocessorHost cpHost = env.getMasterCoprocessorHost();<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    if (cpHost != null) {<a name="line.464"></a>
-<span class="sourceLineNo">465</span>      user.doAs(new PrivilegedExceptionAction&lt;Void&gt;() {<a name="line.465"></a>
-<span class="sourceLineNo">466</span>        @Override<a name="line.466"></a>
-<span class="sourceLineNo">467</span>        public Void run() throws Exception {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>          switch (state) {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>          case DISABLE_TABLE_PRE_OPERATION:<a name="line.469"></a>
-<span class="sourceLineNo">470</span>            cpHost.preDisableTableHandler(tableName);<a name="line.470"></a>
+<span class="sourceLineNo">375</span>  /**<a name="line.375"></a>
+<span class="sourceLineNo">376</span>   * Mark regions of the table offline<a name="line.376"></a>
+<span class="sourceLineNo">377</span>   * @param env MasterProcedureEnv<a name="line.377"></a>
+<span class="sourceLineNo">378</span>   * @param tableName the target table<a name="line.378"></a>
+<span class="sourceLineNo">379</span>   * @return whether the operation is fully completed or being interrupted.<a name="line.379"></a>
+<span class="sourceLineNo">380</span>   * @throws IOException<a name="line.380"></a>
+<span class="sourceLineNo">381</span>   */<a name="line.381"></a>
+<span class="sourceLineNo">382</span>  private static MarkRegionOfflineOpResult markRegionsOffline(<a name="line.382"></a>
+<span class="sourceLineNo">383</span>      final MasterProcedureEnv env,<a name="line.383"></a>
+<span class="sourceLineNo">384</span>      final TableName tableName) throws IOException {<a name="line.384"></a>
+<span class="sourceLineNo">385</span>    // Get list of online regions that are of this table.  Regions that are<a name="line.385"></a>
+<span class="sourceLineNo">386</span>    // already closed will not be included in this list; i.e. the returned<a name="line.386"></a>
+<span class="sourceLineNo">387</span>    // list is not ALL regions in a table, its all online regions according<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    // to the in-memory state on this master.<a name="line.388"></a>
+<span class="sourceLineNo">389</span>    MarkRegionOfflineOpResult operationResult =<a name="line.389"></a>
+<span class="sourceLineNo">390</span>        MarkRegionOfflineOpResult.MARK_ALL_REGIONS_OFFLINE_SUCCESSFUL;<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    final List&lt;HRegionInfo&gt; regions =<a name="line.391"></a>
+<span class="sourceLineNo">392</span>        env.getMasterServices().getAssignmentManager().getRegionStates()<a name="line.392"></a>
+<span class="sourceLineNo">393</span>            .getRegionsOfTable(tableName);<a name="line.393"></a>
+<span class="sourceLineNo">394</span>    if (regions.size() &gt; 0) {<a name="line.394"></a>
+<span class="sourceLineNo">395</span>      LOG.info("Offlining " + regions.size() + " regions.");<a name="line.395"></a>
+<span class="sourceLineNo">396</span><a name="line.396"></a>
+<span class="sourceLineNo">397</span>      BulkDisabler bd = new BulkDisabler(env, tableName, regions);<a name="line.397"></a>
+<span class="sourceLineNo">398</span>      try {<a name="line.398"></a>
+<span class="sourceLineNo">399</span>        if (!bd.bulkAssign()) {<a name="line.399"></a>
+<span class="sourceLineNo">400</span>          operationResult = MarkRegionOfflineOpResult.BULK_ASSIGN_REGIONS_FAILED;<a name="line.400"></a>
+<span class="sourceLineNo">401</span>        }<a name="line.401"></a>
+<span class="sourceLineNo">402</span>      } catch (InterruptedException e) {<a name="line.402"></a>
+<span class="sourceLineNo">403</span>        LOG.warn("Disable was interrupted");<a name="line.403"></a>
+<span class="sourceLineNo">404</span>        // Preserve the interrupt.<a name="line.404"></a>
+<span class="sourceLineNo">405</span>        Thread.currentThread().interrupt();<a name="line.405"></a>
+<span class="sourceLineNo">406</span>        operationResult = MarkRegionOfflineOpResult.MARK_ALL_REGIONS_OFFLINE_INTERRUPTED;<a name="line.406"></a>
+<span class="sourceLineNo">407</span>      }<a name="line.407"></a>
+<span class="sourceLineNo">408</span>    }<a name="line.408"></a>
+<span class="sourceLineNo">409</span>    return operationResult;<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>   * Mark table state to Disabled<a name="line.413"></a>
+<span class="sourceLineNo">414</span>   * @param env MasterProcedureEnv<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>  protected static void setTableStateToDisabled(<a name="line.417"></a>
+<span class="sourceLineNo">418</span>      final MasterProcedureEnv env,<a name="line.418"></a>
+<span class="sourceLineNo">419</span>      final TableName tableName) throws IOException {<a name="line.419"></a>
+<span class="sourceLineNo">420</span>    // Flip the table to disabled<a name="line.420"></a>
+<span class="sourceLineNo">421</span>    env.getMasterServices().getAssignmentManager().getTableStateManager().setTableState(<a name="line.421"></a>
+<span class="sourceLineNo">422</span>      tableName,<a name="line.422"></a>
+<span class="sourceLineNo">423</span>      TableState.State.DISABLED);<a name="line.423"></a>
+<span class="sourceLineNo">424</span>    LOG.info("Disabled table, " + tableName + ", is completed.");<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>  /**<a name="line.427"></a>
+<span class="sourceLineNo">428</span>   * Action after disabling table.<a name="line.428"></a>
+<span class="sourceLineNo">429</span>   * @param env MasterProcedureEnv<a name="line.429"></a>
+<span class="sourceLineNo">430</span>   * @param state the procedure state<a name="line.430"></a>
+<span class="sourceLineNo">431</span>   * @throws IOException<a name="line.431"></a>
+<span class="sourceLineNo">432</span>   * @throws InterruptedException<a name="line.432"></a>
+<span class="sourceLineNo">433</span>   */<a name="line.433"></a>
+<span class="sourceLineNo">434</span>  protected void postDisable(final MasterProcedureEnv env, final DisableTableState state)<a name="line.434"></a>
+<span class="sourceLineNo">435</span>      throws IOException, InterruptedException {<a name="line.435"></a>
+<span class="sourceLineNo">436</span>    runCoprocessorAction(env, state);<a name="line.436"></a>
+<span class="sourceLineNo">437</span>  }<a name="line.437"></a>
+<span class="sourceLineNo">438</span><a name="line.438"></a>
+<span class="sourceLineNo">439</span>  /**<a name="line.439"></a>
+<span class="sourceLineNo">440</span>   * The procedure could be restarted from a different machine. If the variable is null, we need to<a name="line.440"></a>
+<span class="sourceLineNo">441</span>   * retrieve it.<a name="line.441"></a>
+<span class="sourceLineNo">442</span>   * @return traceEnabled<a name="line.442"></a>
+<span class="sourceLineNo">443</span>   */<a name="line.443"></a>
+<span class="sourceLineNo">444</span>  private Boolean isTraceEnabled() {<a name="line.444"></a>
+<span class="sourceLineNo">445</span>    if (traceEnabled == null) {<a name="line.445"></a>
+<span class="sourceLineNo">446</span>      traceEnabled = LOG.isTraceEnabled();<a name="line.446"></a>
+<span class="sourceLineNo">447</span>    }<a name="line.447"></a>
+<span class="sourceLineNo">448</span>    return traceEnabled;<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>   * Coprocessor Action.<a name="line.452"></a>
+<span class="sourceLineNo">453</span>   * @param env MasterProcedureEnv<a name="line.453"></a>
+<span class="sourceLineNo">454</span>   * @param state the procedure state<a name="line.454"></a>
+<span class="sourceLineNo">455</span>   * @throws IOException<a name="line.455"></a>
+<span class="sourceLineNo">456</span>   * @throws InterruptedException<a name="line.456"></a>
+<span class="sourceLineNo">457</span>   */<a name="line.457"></a>
+<span class="sourceLineNo">458</span>  private void runCoprocessorAction(final MasterProcedureEnv env, final DisableTableState state)<a name="line.458"></a>
+<span class="sourceLineNo">459</span>      throws IOException, InterruptedException {<a name="line.459"></a>
+<span class="sourceLineNo">460</span>    final MasterCoprocessorHost cpHost = env.getMasterCoprocessorHost();<a name="line.460"></a>
+<span class="sourceLineNo">461</span>    if (cpHost != null) {<a name="line.461"></a>
+<span class="sourceLineNo">462</span>      user.doAs(new PrivilegedExceptionAction&lt;Void&gt;() {<a name="line.462"></a>
+<span class="sourceLineNo">463</span>        @Override<a name="line.463"></a>
+<span class="sourceLineNo">464</span>        public Void run() throws Exception {<a name="line.464"></a>
+<span class="sourceLineNo">465</span>          switch (state) {<a name="line.465"></a>
+<span class="sourceLineNo">466</span>          case DISABLE_TABLE_PRE_OPERATION:<a name="line.466"></a>
+<span class="sourceLineNo">467</span>            cpHost.preDisableTableHandler(tableName);<a name="line.467"></a>
+<span class="sourceLineNo">468</span>            break;<a name="line.468"></a>
+<span class="sourceLineNo">469</span>          case DISABLE_TABLE_POST_OPERATION:<a name="line.469"></a>
+<span class="sourceLineNo">470</span>            cpHost.postDisableTableHandler(tableName);<a name="line.470"></a>
 <span class="sourceLineNo">471</span>            break;<a name="line.471"></a>
-<span class="sourceLineNo">472</span>          case DISABLE_TABLE_POST_OPERATION:<a name="line.472"></a>
-<span class="sourceLineNo">473</span>            cpHost.postDisableTableHandler(tableName);<a name="line.473"></a>
-<span class="sourceLineNo">474</span>            break;<a name="line.474"></a>
-<span class="sourceLineNo">475</span>          default:<a name="line.475"></a>
-<span class="sourceLineNo">476</span>            throw new UnsupportedOperationException(this + " unhandled state=" + state);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>          }<a name="line.477"></a>
-<span class="sourceLineNo">478</span>          return null;<a name="line.478"></a>
-<span class="sourceLineNo">479</span>        }<a name="line.479"></a>
-<span class="sourceLineNo">480</span>      });<a name="line.480"></a>
-<span class="sourceLineNo">481</span>    }<a name="line.481"></a>
-<span class="sourceLineNo">482</span>  }<a name="line.482"></a>
-<span class="sourceLineNo">483</span><a name="line.483"></a>
-<span class="sourceLineNo">484</span>  /**<a name="line.484"></a>
-<span class="sourceLineNo">485</span>   * Run bulk disable.<a name="line.485"></a>
-<span class="sourceLineNo">486</span>   */<a name="line.486"></a>
-<span class="sourceLineNo">487</span>  private static class BulkDisabler extends BulkAssigner {<a name="line.487"></a>
-<span class="sourceLineNo">488</span>    private final AssignmentManager assignmentManager;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    private final List&lt;HRegionInfo&gt; regions;<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    private final TableName tableName;<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    private final int waitingTimeForEvents;<a name="line.491"></a>
-<span class="sourceLineNo">492</span><a name="line.492"></a>
-<span class="sourceLineNo">493</span>    public BulkDisabler(final MasterProcedureEnv env, final TableName tableName,<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        final List&lt;HRegionInfo&gt; regions) {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      super(env.getMasterServices());<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      this.assignmentManager = env.getMasterServices().getAssignmentManager();<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      this.tableName = tableName;<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      this.regions = regions;<a name="line.498"></a>
-<span class="sourceLineNo">499</span>      this.waitingTimeForEvents =<a name="line.499"></a>
-<span class="sourceLineNo">500</span>          env.getMasterServices().getConfiguration()<a name="line.500"></a>
-<span class="sourceLineNo">501</span>              .getInt("hbase.master.event.waiting.time", 1000);<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    }<a name="line.502"></a>
-<span class="sourceLineNo">503</span><a name="line.503"></a>
-<span class="sourceLineNo">504</span>    @Override<a name="line.504"></a>
-<span class="sourceLineNo">505</span>    protected void populatePool(ExecutorService pool) {<a name="line.505"></a>
-<span class="sourceLineNo">506</span>      RegionStates regionStates = assignmentManager.getRegionStates();<a name="line.506"></a>
-<span class="sourceLineNo">507</span>      for (final HRegionInfo region : regions) {<a name="line.507"></a>
-<span class="sourceLineNo">508</span>        if (regionStates.isRegionInTransition(region)<a name="line.508"></a>
-<span class="sourceLineNo">509</span>            &amp;&amp; !regionStates.isRegionInState(region, RegionState.State.FAILED_CLOSE)) {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>          continue;<a name="line.510"></a>
-<span class="sourceLineNo">511</span>        }<a name="line.511"></a>
-<span class="sourceLineNo">512</span>        pool.execute(Trace.wrap("DisableTableHandler.BulkDisabler", new Runnable() {<a name="line.512"></a>
-<span class="sourceLineNo">513</span>          @Override<a name="line.513"></a>
-<span class="sourceLineNo">514</span>          public void run() {<a name="line.514"></a>
-<span class="sourceLineNo">515<

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html
index e1c6d7b..a7c79ea 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html
@@ -112,7 +112,7 @@
 <span class="sourceLineNo">104</span>        throw new UnsupportedOperationException(this + " unhandled state=" + state);<a name="line.104"></a>
 <span class="sourceLineNo">105</span>      }<a name="line.105"></a>
 <span class="sourceLineNo">106</span>    } catch (IOException e) {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      LOG.warn("Error trying to delete the namespace" + namespaceName<a name="line.107"></a>
+<span class="sourceLineNo">107</span>      LOG.warn("Error trying to delete the namespace " + namespaceName<a name="line.107"></a>
 <span class="sourceLineNo">108</span>        + " (in state=" + state + ")", e);<a name="line.108"></a>
 <span class="sourceLineNo">109</span><a name="line.109"></a>
 <span class="sourceLineNo">110</span>      setFailure("master-delete-namespace", e);<a name="line.110"></a>
@@ -220,191 +220,196 @@
 <span class="sourceLineNo">212</span><a name="line.212"></a>
 <span class="sourceLineNo">213</span>  @Override<a name="line.213"></a>
 <span class="sourceLineNo">214</span>  protected boolean acquireLock(final MasterProcedureEnv env) {<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    return getTableNamespaceManager(env).acquireExclusiveLock();<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>  @Override<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  protected void releaseLock(final MasterProcedureEnv env) {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    getTableNamespaceManager(env).releaseExclusiveLock();<a name="line.220"></a>
-<span class="sourceLineNo">221</span>  }<a name="line.221"></a>
-<span class="sourceLineNo">222</span><a name="line.222"></a>
-<span class="sourceLineNo">223</span>  @Override<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  public TableName getTableName() {<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    return TableName.NAMESPACE_TABLE_NAME;<a name="line.225"></a>
-<span class="sourceLineNo">226</span>  }<a name="line.226"></a>
-<span class="sourceLineNo">227</span><a name="line.227"></a>
-<span class="sourceLineNo">228</span>  @Override<a name="line.228"></a>
-<span class="sourceLineNo">229</span>  public TableOperationType getTableOperationType() {<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    return TableOperationType.EDIT;<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>   * Action before any real action of deleting namespace.<a name="line.234"></a>
-<span class="sourceLineNo">235</span>   * @param env MasterProcedureEnv<a name="line.235"></a>
-<span class="sourceLineNo">236</span>   * @throws IOException<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   */<a name="line.237"></a>
-<span class="sourceLineNo">238</span>  private void prepareDelete(final MasterProcedureEnv env) throws IOException {<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    if (getTableNamespaceManager(env).doesNamespaceExist(namespaceName) == false) {<a name="line.239"></a>
-<span class="sourceLineNo">240</span>      throw new NamespaceNotFoundException(namespaceName);<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    }<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    if (NamespaceDescriptor.RESERVED_NAMESPACES.contains(namespaceName)) {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>      throw new ConstraintException("Reserved namespace "+ namespaceName +" cannot be removed.");<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>    int tableCount = 0;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    try {<a name="line.247"></a>
-<span class="sourceLineNo">248</span>      tableCount = env.getMasterServices().listTableDescriptorsByNamespace(namespaceName).size();<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    } catch (FileNotFoundException fnfe) {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      throw new NamespaceNotFoundException(namespaceName);<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    }<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    if (tableCount &gt; 0) {<a name="line.252"></a>
-<span class="sourceLineNo">253</span>      throw new ConstraintException("Only empty namespaces can be removed. " +<a name="line.253"></a>
-<span class="sourceLineNo">254</span>          "Namespace "+ namespaceName + " has "+ tableCount +" tables");<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>    // This is used for rollback<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    nsDescriptor = getTableNamespaceManager(env).get(namespaceName);<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  }<a name="line.259"></a>
-<span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span>  /**<a name="line.261"></a>
-<span class="sourceLineNo">262</span>   * delete the row from namespace table<a name="line.262"></a>
-<span class="sourceLineNo">263</span>   * @param env MasterProcedureEnv<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   * @param namespaceName name of the namespace in string format<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   * @throws IOException<a name="line.265"></a>
-<span class="sourceLineNo">266</span>   */<a name="line.266"></a>
-<span class="sourceLineNo">267</span>  protected static void deleteFromNSTable(<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      final MasterProcedureEnv env,<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      final String namespaceName) throws IOException {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    getTableNamespaceManager(env).removeFromNSTable(namespaceName);<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>   * undo the delete<a name="line.274"></a>
-<span class="sourceLineNo">275</span>   * @param env MasterProcedureEnv<a name="line.275"></a>
-<span class="sourceLineNo">276</span>   * @throws IOException<a name="line.276"></a>
-<span class="sourceLineNo">277</span>   */<a name="line.277"></a>
-<span class="sourceLineNo">278</span>  private void undoDeleteFromNSTable(final MasterProcedureEnv env) {<a name="line.278"></a>
-<span class="sourceLineNo">279</span>    try {<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      if (nsDescriptor != null) {<a name="line.280"></a>
-<span class="sourceLineNo">281</span>        CreateNamespaceProcedure.insertIntoNSTable(env, nsDescriptor);<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      }<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    } catch (Exception e) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      // Ignore<a name="line.284"></a>
-<span class="sourceLineNo">285</span>      LOG.debug("Rollback of deleteFromNSTable throws exception: " + e);<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    }<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  }<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span>  /**<a name="line.289"></a>
-<span class="sourceLineNo">290</span>   * remove from Zookeeper.<a name="line.290"></a>
-<span class="sourceLineNo">291</span>   * @param env MasterProcedureEnv<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   * @param namespaceName name of the namespace in string format<a name="line.292"></a>
-<span class="sourceLineNo">293</span>   * @throws IOException<a name="line.293"></a>
-<span class="sourceLineNo">294</span>   */<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  protected static void removeFromZKNamespaceManager(<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      final MasterProcedureEnv env,<a name="line.296"></a>
-<span class="sourceLineNo">297</span>      final String namespaceName) throws IOException {<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    getTableNamespaceManager(env).removeFromZKNamespaceManager(namespaceName);<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  }<a name="line.299"></a>
-<span class="sourceLineNo">300</span><a name="line.300"></a>
-<span class="sourceLineNo">301</span>  /**<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   * undo the remove from Zookeeper<a name="line.302"></a>
-<span class="sourceLineNo">303</span>   * @param env MasterProcedureEnv<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   * @throws IOException<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   */<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  private void undoRemoveFromZKNamespaceManager(final MasterProcedureEnv env) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    try {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      if (nsDescriptor != null) {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>        CreateNamespaceProcedure.updateZKNamespaceManager(env, nsDescriptor);<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      }<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    } catch (Exception e) {<a name="line.311"></a>
-<span class="sourceLineNo">312</span>      // Ignore<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      LOG.debug("Rollback of removeFromZKNamespaceManager throws exception: " + e);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    }<a name="line.314"></a>
-<span class="sourceLineNo">315</span>  }<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>  /**<a name="line.317"></a>
-<span class="sourceLineNo">318</span>   * Delete the namespace directories from the file system<a name="line.318"></a>
-<span class="sourceLineNo">319</span>   * @param env MasterProcedureEnv<a name="line.319"></a>
-<span class="sourceLineNo">320</span>   * @param namespaceName name of the namespace in string format<a name="line.320"></a>
-<span class="sourceLineNo">321</span>   * @throws IOException<a name="line.321"></a>
-<span class="sourceLineNo">322</span>   */<a name="line.322"></a>
-<span class="sourceLineNo">323</span>  protected static void deleteDirectory(<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      final MasterProcedureEnv env,<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      final String namespaceName) throws IOException {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    MasterFileSystem mfs = env.getMasterServices().getMasterFileSystem();<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    FileSystem fs = mfs.getFileSystem();<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    Path p = FSUtils.getNamespaceDir(mfs.getRootDir(), namespaceName);<a name="line.328"></a>
-<span class="sourceLineNo">329</span><a name="line.329"></a>
-<span class="sourceLineNo">330</span>    try {<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      for(FileStatus status : fs.listStatus(p)) {<a name="line.331"></a>
-<span class="sourceLineNo">332</span>        if (!HConstants.HBASE_NON_TABLE_DIRS.contains(status.getPath().getName())) {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>          throw new IOException("Namespace directory contains table dir: " + status.getPath());<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>      if (!fs.delete(FSUtils.getNamespaceDir(mfs.getRootDir(), namespaceName), true)) {<a name="line.336"></a>
-<span class="sourceLineNo">337</span>        throw new IOException("Failed to remove namespace: " + namespaceName);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      }<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    } catch (FileNotFoundException e) {<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      // File already deleted, continue<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      LOG.debug("deleteDirectory throws exception: " + e);<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    }<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
-<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>  /**<a name="line.345"></a>
-<span class="sourceLineNo">346</span>   * undo delete directory<a name="line.346"></a>
-<span class="sourceLineNo">347</span>   * @param env MasterProcedureEnv<a name="line.347"></a>
-<span class="sourceLineNo">348</span>   * @throws IOException<a name="line.348"></a>
-<span class="sourceLineNo">349</span>   */<a name="line.349"></a>
-<span class="sourceLineNo">350</span>  private void rollbackDeleteDirectory(final MasterProcedureEnv env) throws IOException {<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    try {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      CreateNamespaceProcedure.createDirectory(env, nsDescriptor);<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    } catch (Exception e) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      // Ignore exception<a name="line.354"></a>
-<span class="sourceLineNo">355</span>      LOG.debug("Rollback of deleteDirectory throws exception: " + e);<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>  /**<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * remove quota for the namespace<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   * @param env MasterProcedureEnv<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   * @param namespaceName name of the namespace in string format<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   * @throws IOException<a name="line.363"></a>
-<span class="sourceLineNo">364</span>   **/<a name="line.364"></a>
-<span class="sourceLineNo">365</span>  protected static void removeNamespaceQuota(<a name="line.365"></a>
-<span class="sourceLineNo">366</span>      final MasterProcedureEnv env,<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      final String namespaceName) throws IOException {<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    env.getMasterServices().getMasterQuotaManager().removeNamespaceQuota(namespaceName);<a name="line.368"></a>
-<span class="sourceLineNo">369</span>  }<a name="line.369"></a>
-<span class="sourceLineNo">370</span><a name="line.370"></a>
-<span class="sourceLineNo">371</span>  /**<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   * undo remove quota for the namespace<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   * @param env MasterProcedureEnv<a name="line.373"></a>
-<span class="sourceLineNo">374</span>   * @throws IOException<a name="line.374"></a>
-<span class="sourceLineNo">375</span>   **/<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  private void rollbacRemoveNamespaceQuota(final MasterProcedureEnv env) throws IOException {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    try {<a name="line.377"></a>
-<span class="sourceLineNo">378</span>      CreateNamespaceProcedure.setNamespaceQuota(env, nsDescriptor);<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    } catch (Exception e) {<a name="line.379"></a>
-<span class="sourceLineNo">380</span>      // Ignore exception<a name="line.380"></a>
-<span class="sourceLineNo">381</span>      LOG.debug("Rollback of removeNamespaceQuota throws exception: " + e);<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>  private static TableNamespaceManager getTableNamespaceManager(final MasterProcedureEnv env) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    return env.getMasterServices().getClusterSchema().getTableNamespaceManager();<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>   * The procedure could be restarted from a different machine. If the variable is null, we need to<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   * retrieve it.<a name="line.390"></a>
-<span class="sourceLineNo">391</span>   * @return traceEnabled<a name="line.391"></a>
-<span class="sourceLineNo">392</span>   */<a name="line.392"></a>
-<span class="sourceLineNo">393</span>  private Boolean isTraceEnabled() {<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    if (traceEnabled == null) {<a name="line.394"></a>
-<span class="sourceLineNo">395</span>      traceEnabled = LOG.isTraceEnabled();<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    }<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    return traceEnabled;<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">215</span>    if (env.waitInitialized(this)) return false;<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    return env.getProcedureQueue().tryAcquireNamespaceExclusiveLock(getNamespaceName());<a name="line.216"></a>
+<span class="sourceLineNo">217</span>  }<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>  @Override<a name="line.219"></a>
+<span class="sourceLineNo">220</span>  protected void releaseLock(final MasterProcedureEnv env) {<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    env.getProcedureQueue().releaseNamespaceExclusiveLock(getNamespaceName());<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>  @Override<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  public TableName getTableName() {<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    return TableName.NAMESPACE_TABLE_NAME;<a name="line.226"></a>
+<span class="sourceLineNo">227</span>  }<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
+<span class="sourceLineNo">229</span>  @Override<a name="line.229"></a>
+<span class="sourceLineNo">230</span>  public TableOperationType getTableOperationType() {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    return TableOperationType.EDIT;<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>  private String getNamespaceName() {<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    return namespaceName;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  }<a name="line.236"></a>
+<span class="sourceLineNo">237</span><a name="line.237"></a>
+<span class="sourceLineNo">238</span>  /**<a name="line.238"></a>
+<span class="sourceLineNo">239</span>   * Action before any real action of deleting namespace.<a name="line.239"></a>
+<span class="sourceLineNo">240</span>   * @param env MasterProcedureEnv<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   * @throws IOException<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
+<span class="sourceLineNo">243</span>  private void prepareDelete(final MasterProcedureEnv env) throws IOException {<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    if (getTableNamespaceManager(env).doesNamespaceExist(namespaceName) == false) {<a name="line.244"></a>
+<span class="sourceLineNo">245</span>      throw new NamespaceNotFoundException(namespaceName);<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    }<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    if (NamespaceDescriptor.RESERVED_NAMESPACES.contains(namespaceName)) {<a name="line.247"></a>
+<span class="sourceLineNo">248</span>      throw new ConstraintException("Reserved namespace "+ namespaceName +" cannot be removed.");<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>    int tableCount = 0;<a name="line.251"></a>
+<span class="sourceLineNo">252</span>    try {<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      tableCount = env.getMasterServices().listTableDescriptorsByNamespace(namespaceName).size();<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    } catch (FileNotFoundException fnfe) {<a name="line.254"></a>
+<span class="sourceLineNo">255</span>      throw new NamespaceNotFoundException(namespaceName);<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    }<a name="line.256"></a>
+<span class="sourceLineNo">257</span>    if (tableCount &gt; 0) {<a name="line.257"></a>
+<span class="sourceLineNo">258</span>      throw new ConstraintException("Only empty namespaces can be removed. " +<a name="line.258"></a>
+<span class="sourceLineNo">259</span>          "Namespace "+ namespaceName + " has "+ tableCount +" tables");<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>    // This is used for rollback<a name="line.262"></a>
+<span class="sourceLineNo">263</span>    nsDescriptor = getTableNamespaceManager(env).get(namespaceName);<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>   * delete the row from namespace table<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   * @param env MasterProcedureEnv<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   * @param namespaceName name of the namespace in string format<a name="line.269"></a>
+<span class="sourceLineNo">270</span>   * @throws IOException<a name="line.270"></a>
+<span class="sourceLineNo">271</span>   */<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  protected static void deleteFromNSTable(<a name="line.272"></a>
+<span class="sourceLineNo">273</span>      final MasterProcedureEnv env,<a name="line.273"></a>
+<span class="sourceLineNo">274</span>      final String namespaceName) throws IOException {<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    getTableNamespaceManager(env).removeFromNSTable(namespaceName);<a name="line.275"></a>
+<span class="sourceLineNo">276</span>  }<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span>  /**<a name="line.278"></a>
+<span class="sourceLineNo">279</span>   * undo the delete<a name="line.279"></a>
+<span class="sourceLineNo">280</span>   * @param env MasterProcedureEnv<a name="line.280"></a>
+<span class="sourceLineNo">281</span>   * @throws IOException<a name="line.281"></a>
+<span class="sourceLineNo">282</span>   */<a name="line.282"></a>
+<span class="sourceLineNo">283</span>  private void undoDeleteFromNSTable(final MasterProcedureEnv env) {<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    try {<a name="line.284"></a>
+<span class="sourceLineNo">285</span>      if (nsDescriptor != null) {<a name="line.285"></a>
+<span class="sourceLineNo">286</span>        CreateNamespaceProcedure.insertIntoNSTable(env, nsDescriptor);<a name="line.286"></a>
+<span class="sourceLineNo">287</span>      }<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    } catch (Exception e) {<a name="line.288"></a>
+<span class="sourceLineNo">289</span>      // Ignore<a name="line.289"></a>
+<span class="sourceLineNo">290</span>      LOG.debug("Rollback of deleteFromNSTable throws exception: " + e);<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>   * remove from Zookeeper.<a name="line.295"></a>
+<span class="sourceLineNo">296</span>   * @param env MasterProcedureEnv<a name="line.296"></a>
+<span class="sourceLineNo">297</span>   * @param namespaceName name of the namespace in string format<a name="line.297"></a>
+<span class="sourceLineNo">298</span>   * @throws IOException<a name="line.298"></a>
+<span class="sourceLineNo">299</span>   */<a name="line.299"></a>
+<span class="sourceLineNo">300</span>  protected static void removeFromZKNamespaceManager(<a name="line.300"></a>
+<span class="sourceLineNo">301</span>      final MasterProcedureEnv env,<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      final String namespaceName) throws IOException {<a name="line.302"></a>
+<span class="sourceLineNo">303</span>    getTableNamespaceManager(env).removeFromZKNamespaceManager(namespaceName);<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>   * undo the remove from Zookeeper<a name="line.307"></a>
+<span class="sourceLineNo">308</span>   * @param env MasterProcedureEnv<a name="line.308"></a>
+<span class="sourceLineNo">309</span>   * @throws IOException<a name="line.309"></a>
+<span class="sourceLineNo">310</span>   */<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  private void undoRemoveFromZKNamespaceManager(final MasterProcedureEnv env) {<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    try {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>      if (nsDescriptor != null) {<a name="line.313"></a>
+<span class="sourceLineNo">314</span>        CreateNamespaceProcedure.updateZKNamespaceManager(env, nsDescriptor);<a name="line.314"></a>
+<span class="sourceLineNo">315</span>      }<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    } catch (Exception e) {<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      // Ignore<a name="line.317"></a>
+<span class="sourceLineNo">318</span>      LOG.debug("Rollback of removeFromZKNamespaceManager throws exception: " + 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><a name="line.321"></a>
+<span class="sourceLineNo">322</span>  /**<a name="line.322"></a>
+<span class="sourceLineNo">323</span>   * Delete the namespace directories from the file system<a name="line.323"></a>
+<span class="sourceLineNo">324</span>   * @param env MasterProcedureEnv<a name="line.324"></a>
+<span class="sourceLineNo">325</span>   * @param namespaceName name of the namespace in string format<a name="line.325"></a>
+<span class="sourceLineNo">326</span>   * @throws IOException<a name="line.326"></a>
+<span class="sourceLineNo">327</span>   */<a name="line.327"></a>
+<span class="sourceLineNo">328</span>  protected static void deleteDirectory(<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      final MasterProcedureEnv env,<a name="line.329"></a>
+<span class="sourceLineNo">330</span>      final String namespaceName) throws IOException {<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    MasterFileSystem mfs = env.getMasterServices().getMasterFileSystem();<a name="line.331"></a>
+<span class="sourceLineNo">332</span>    FileSystem fs = mfs.getFileSystem();<a name="line.332"></a>
+<span class="sourceLineNo">333</span>    Path p = FSUtils.getNamespaceDir(mfs.getRootDir(), namespaceName);<a name="line.333"></a>
+<span class="sourceLineNo">334</span><a name="line.334"></a>
+<span class="sourceLineNo">335</span>    try {<a name="line.335"></a>
+<span class="sourceLineNo">336</span>      for(FileStatus status : fs.listStatus(p)) {<a name="line.336"></a>
+<span class="sourceLineNo">337</span>        if (!HConstants.HBASE_NON_TABLE_DIRS.contains(status.getPath().getName())) {<a name="line.337"></a>
+<span class="sourceLineNo">338</span>          throw new IOException("Namespace directory contains table dir: " + status.getPath());<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>      if (!fs.delete(FSUtils.getNamespaceDir(mfs.getRootDir(), namespaceName), true)) {<a name="line.341"></a>
+<span class="sourceLineNo">342</span>        throw new IOException("Failed to remove namespace: " + namespaceName);<a name="line.342"></a>
+<span class="sourceLineNo">343</span>      }<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    } catch (FileNotFoundException e) {<a name="line.344"></a>
+<span class="sourceLineNo">345</span>      // File already deleted, continue<a name="line.345"></a>
+<span class="sourceLineNo">346</span>      LOG.debug("deleteDirectory throws exception: " + e);<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><a name="line.349"></a>
+<span class="sourceLineNo">350</span>  /**<a name="line.350"></a>
+<span class="sourceLineNo">351</span>   * undo delete directory<a name="line.351"></a>
+<span class="sourceLineNo">352</span>   * @param env MasterProcedureEnv<a name="line.352"></a>
+<span class="sourceLineNo">353</span>   * @throws IOException<a name="line.353"></a>
+<span class="sourceLineNo">354</span>   */<a name="line.354"></a>
+<span class="sourceLineNo">355</span>  private void rollbackDeleteDirectory(final MasterProcedureEnv env) throws IOException {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    try {<a name="line.356"></a>
+<span class="sourceLineNo">357</span>      CreateNamespaceProcedure.createDirectory(env, nsDescriptor);<a name="line.357"></a>
+<span class="sourceLineNo">358</span>    } catch (Exception e) {<a name="line.358"></a>
+<span class="sourceLineNo">359</span>      // Ignore exception<a name="line.359"></a>
+<span class="sourceLineNo">360</span>      LOG.debug("Rollback of deleteDirectory throws exception: " + e);<a name="line.360"></a>
+<span class="sourceLineNo">361</span>    }<a name="line.361"></a>
+<span class="sourceLineNo">362</span>  }<a name="line.362"></a>
+<span class="sourceLineNo">363</span><a name="line.363"></a>
+<span class="sourceLineNo">364</span>  /**<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   * remove quota for the namespace<a name="line.365"></a>
+<span class="sourceLineNo">366</span>   * @param env MasterProcedureEnv<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   * @param namespaceName name of the namespace in string format<a name="line.367"></a>
+<span class="sourceLineNo">368</span>   * @throws IOException<a name="line.368"></a>
+<span class="sourceLineNo">369</span>   **/<a name="line.369"></a>
+<span class="sourceLineNo">370</span>  protected static void removeNamespaceQuota(<a name="line.370"></a>
+<span class="sourceLineNo">371</span>      final MasterProcedureEnv env,<a name="line.371"></a>
+<span class="sourceLineNo">372</span>      final String namespaceName) throws IOException {<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    env.getMasterServices().getMasterQuotaManager().removeNamespaceQuota(namespaceName);<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>   * undo remove quota for the namespace<a name="line.377"></a>
+<span class="sourceLineNo">378</span>   * @param env MasterProcedureEnv<a name="line.378"></a>
+<span class="sourceLineNo">379</span>   * @throws IOException<a name="line.379"></a>
+<span class="sourceLineNo">380</span>   **/<a name="line.380"></a>
+<span class="sourceLineNo">381</span>  private void rollbacRemoveNamespaceQuota(final MasterProcedureEnv env) throws IOException {<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    try {<a name="line.382"></a>
+<span class="sourceLineNo">383</span>      CreateNamespaceProcedure.setNamespaceQuota(env, nsDescriptor);<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    } catch (Exception e) {<a name="line.384"></a>
+<span class="sourceLineNo">385</span>      // Ignore exception<a name="line.385"></a>
+<span class="sourceLineNo">386</span>      LOG.debug("Rollback of removeNamespaceQuota throws exception: " + e);<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>  private static TableNamespaceManager getTableNamespaceManager(final MasterProcedureEnv env) {<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    return env.getMasterServices().getClusterSchema().getTableNamespaceManager();<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>   * The procedure could be restarted from a different machine. If the variable is null, we need to<a name="line.394"></a>
+<span class="sourceLineNo">395</span>   * retrieve it.<a name="line.395"></a>
+<span class="sourceLineNo">396</span>   * @return traceEnabled<a name="line.396"></a>
+<span class="sourceLineNo">397</span>   */<a name="line.397"></a>
+<span class="sourceLineNo">398</span>  private Boolean isTraceEnabled() {<a name="line.398"></a>
+<span class="sourceLineNo">399</span>    if (traceEnabled == null) {<a name="line.399"></a>
+<span class="sourceLineNo">400</span>      traceEnabled = LOG.isTraceEnabled();<a name="line.400"></a>
+<span class="sourceLineNo">401</span>    }<a name="line.401"></a>
+<span class="sourceLineNo">402</span>    return traceEnabled;<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>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/DeleteTableProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/DeleteTableProcedure.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/DeleteTableProcedure.html
index aeed12c..a1d5e74 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/DeleteTableProcedure.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/DeleteTableProcedure.html
@@ -208,7 +208,7 @@
 <span class="sourceLineNo">200</span><a name="line.200"></a>
 <span class="sourceLineNo">201</span>  @Override<a name="line.201"></a>
 <span class="sourceLineNo">202</span>  protected boolean acquireLock(final MasterProcedureEnv env) {<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    if (!env.isInitialized()) return false;<a name="line.203"></a>
+<span class="sourceLineNo">203</span>    if (env.waitInitialized(this)) return false;<a name="line.203"></a>
 <span class="sourceLineNo">204</span>    return env.getProcedureQueue().tryAcquireTableExclusiveLock(getTableName(), "delete table");<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>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.WALStoreLeaseRecovery.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.WALStoreLeaseRecovery.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.WALStoreLeaseRecovery.html
index 5e5dbff..90ee6ca 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.WALStoreLeaseRecovery.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.WALStoreLeaseRecovery.html
@@ -36,7 +36,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.MasterProcedureStoreListener.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.WALStoreLeaseRecovery.html" target="_top">Frames</a></li>
@@ -104,7 +104,7 @@
 <hr>
 <br>
 <pre><a href="../../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-public static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#line.47">MasterProcedureEnv.WALStoreLeaseRecovery</a>
+public static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#line.49">MasterProcedureEnv.WALStoreLeaseRecovery</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../../org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.LeaseRecovery.html" title="interface in org.apache.hadoop.hbase.procedure2.store.wal">WALProcedureStore.LeaseRecovery</a></pre>
 </li>
@@ -194,7 +194,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/procedure2/store/w
 <ul class="blockListLast">
 <li class="blockList">
 <h4>master</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.WALStoreLeaseRecovery.html#line.48">master</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.WALStoreLeaseRecovery.html#line.50">master</a></pre>
 </li>
 </ul>
 </li>
@@ -211,7 +211,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/procedure2/store/w
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MasterProcedureEnv.WALStoreLeaseRecovery</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.WALStoreLeaseRecovery.html#line.50">MasterProcedureEnv.WALStoreLeaseRecovery</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a>&nbsp;master)</pre>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.WALStoreLeaseRecovery.html#line.52">MasterProcedureEnv.WALStoreLeaseRecovery</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a>&nbsp;master)</pre>
 </li>
 </ul>
 </li>
@@ -228,7 +228,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/procedure2/store/w
 <ul class="blockListLast">
 <li class="blockList">
 <h4>recoverFileLease</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.WALStoreLeaseRecovery.html#line.55">recoverFileLease</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.WALStoreLeaseRecovery.html#line.57">recoverFileLease</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                     org.apache.hadoop.fs.Path&nbsp;path)
                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -265,7 +265,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/procedure2/store/w
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.MasterProcedureStoreListener.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.WALStoreLeaseRecovery.html" target="_top">Frames</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html
index 07c91b1..4a2d4bb 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html
@@ -97,7 +97,7 @@
 <br>
 <pre><a href="../../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
 <a href="../../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Evolving.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceStability.Evolving</a>
-public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#line.43">MasterProcedureEnv</a>
+public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#line.45">MasterProcedureEnv</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -149,8 +149,8 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#master">master</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#procQueue">procQueue</a></strong></code>&nbsp;</td>
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#procSched">procSched</a></strong></code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -197,7 +197,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#getMasterServices()">getMasterServices</a></strong>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a></code></td>
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#getProcedureQueue()">getProcedureQueue</a></strong>()</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
@@ -212,6 +212,27 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#isRunning()">isRunning</a></strong>()</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#setEventReady(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent,%20boolean)">setEventReady</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a>&nbsp;event,
+                          boolean&nbsp;isReady)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#suspend(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent)">suspend</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a>&nbsp;event)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#waitInitialized(org.apache.hadoop.hbase.procedure2.Procedure)">waitInitialized</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#waitServerCrashProcessingEnabled(org.apache.hadoop.hbase.procedure2.Procedure)">waitServerCrashProcessingEnabled</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#wake(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent)">wake</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a>&nbsp;event)</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
@@ -240,16 +261,16 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#line.44">LOG</a></pre>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#line.46">LOG</a></pre>
 </li>
 </ul>
-<a name="procQueue">
+<a name="procSched">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>procQueue</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#line.88">procQueue</a></pre>
+<h4>procSched</h4>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#line.90">procSched</a></pre>
 </li>
 </ul>
 <a name="master">
@@ -258,7 +279,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>master</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#line.89">master</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#line.91">master</a></pre>
 </li>
 </ul>
 </li>
@@ -275,7 +296,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MasterProcedureEnv</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#line.91">MasterProcedureEnv</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a>&nbsp;master)</pre>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#line.93">MasterProcedureEnv</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a>&nbsp;master)</pre>
 </li>
 </ul>
 </li>
@@ -292,7 +313,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getRequestUser</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#line.97">getRequestUser</a>()
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#line.99">getRequestUser</a>()
                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -304,7 +325,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterServices</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#line.105">getMasterServices</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#line.107">getMasterServices</a>()</pre>
 </li>
 </ul>
 <a name="getMasterConfiguration()">
@@ -313,7 +334,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterConfiguration</h4>
-<pre>public&nbsp;org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#line.109">getMasterConfiguration</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#line.111">getMasterConfiguration</a>()</pre>
 </li>
 </ul>
 <a name="getMasterCoprocessorHost()">
@@ -322,7 +343,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <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/procedure/MasterProcedureEnv.html#line.113">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/procedure/MasterProcedureEnv.html#line.115">getMasterCoprocessorHost</a>()</pre>
 </li>
 </ul>
 <a name="getProcedureQueue()">
@@ -331,7 +352,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getProcedureQueue</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#line.117">getProcedureQueue</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#line.119">getProcedureQueue</a>()</pre>
 </li>
 </ul>
 <a name="isRunning()">
@@ -340,16 +361,62 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isRunning</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#line.121">isRunning</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#line.123">isRunning</a>()</pre>
 </li>
 </ul>
 <a name="isInitialized()">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>isInitialized</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#line.125">isInitialized</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#line.127">isInitialized</a>()</pre>
+</li>
+</ul>
+<a name="waitInitialized(org.apache.hadoop.hbase.procedure2.Procedure)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>waitInitialized</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#line.131">waitInitialized</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
+</li>
+</ul>
+<a name="waitServerCrashProcessingEnabled(org.apache.hadoop.hbase.procedure2.Procedure)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>waitServerCrashProcessingEnabled</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#line.135">waitServerCrashProcessingEnabled</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
+</li>
+</ul>
+<a name="wake(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>wake</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#line.139">wake</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a>&nbsp;event)</pre>
+</li>
+</ul>
+<a name="suspend(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>suspend</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#line.143">suspend</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a>&nbsp;event)</pre>
+</li>
+</ul>
+<a name="setEventReady(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent, boolean)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setEventReady</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#line.147">setEventReady</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a>&nbsp;event,
+                 boolean&nbsp;isReady)</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html
deleted file mode 100644
index 3b1bc19..0000000
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html
+++ /dev/null
@@ -1,560 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>MasterProcedureQueue.AbstractRunQueue (Apache HBase 2.0.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="MasterProcedureQueue.AbstractRunQueue (Apache HBase 2.0.0-SNAPSHOT API)";
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar_top">
-<!--   -->
-</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/MasterProcedureQueue.AbstractRunQueue.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html" target="_top">Frames</a></li>
-<li><a href="MasterProcedureQueue.AbstractRunQueue.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method_summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method_detail">Method</a></li>
-</ul>
-</div>
-<a name="skip-navbar_top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.hadoop.hbase.master.procedure</div>
-<h2 title="Class MasterProcedureQueue.AbstractRunQueue" class="title">Class MasterProcedureQueue.AbstractRunQueue</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue.AbstractRunQueue</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues.FairObject</a></dd>
-</dl>
-<dl>
-<dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.ServerRunQueue</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.TableRunQueue</a></dd>
-</dl>
-<dl>
-<dt>Enclosing class:</dt>
-<dd><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a></dd>
-</dl>
-<hr>
-<br>
-<pre>private abstract static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.403">MasterProcedureQueue.AbstractRunQueue</a>
-extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
-implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a></pre>
-<div class="block">Base abstract class for RunQueue implementations.
- Be careful honoring synchronizations in subclasses. In here we protect access but if you are
- acting on a state found in here, be sure dependent code keeps synchronization.
- Implements basic in-memory read/write locking mechanism to prevent procedure steps being run
- in parallel.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field_summary">
-<!--   -->
-</a>
-<h3>Field Summary</h3>
-<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
-<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Field and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private boolean</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#exclusiveLock">exclusiveLock</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private int</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#priority">priority</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Deque.html?is-external=true" title="class or interface in java.util">Deque</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#runnables">runnables</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private int</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#sharedLock">sharedLock</a></strong></code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor_summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#MasterProcedureQueue.AbstractRunQueue(int)">MasterProcedureQueue.AbstractRunQueue</a></strong>(int&nbsp;priority)</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method_summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#acquireDeleteLock()">acquireDeleteLock</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#addBack(org.apache.hadoop.hbase.procedure2.Procedure)">addBack</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#addFront(org.apache.hadoop.hbase.procedure2.Procedure)">addFront</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#getPriority()">getPriority</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#isAvailable()">isAvailable</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>(package private) boolean</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#isEmpty()">isEmpty</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#isExclusiveLock()">isExclusiveLock</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#isLocked()">isLocked</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>(package private) boolean</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#isSingleSharedLock()">isSingleSharedLock</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#poll()">poll</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#releaseExclusiveLock()">releaseExclusiveLock</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#releaseSharedLock()">releaseSharedLock</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#toString()">toString</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#tryExclusiveLock()">tryExclusiveLock</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#trySharedLock()">trySharedLock</a></strong>()</code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang
 /Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ FIELD DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field_detail">
-<!--   -->
-</a>
-<h3>Field Detail</h3>
-<a name="runnables">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>runnables</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Deque.html?is-external=true" title="class or interface in java.util">Deque</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#line.405">runnables</a></pre>
-</li>
-</ul>
-<a name="priority">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>priority</h4>
-<pre>private final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#line.406">priority</a></pre>
-</li>
-</ul>
-<a name="exclusiveLock">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>exclusiveLock</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#line.407">exclusiveLock</a></pre>
-</li>
-</ul>
-<a name="sharedLock">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>sharedLock</h4>
-<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#line.408">sharedLock</a></pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor_detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="MasterProcedureQueue.AbstractRunQueue(int)">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>MasterProcedureQueue.AbstractRunQueue</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#line.410">MasterProcedureQueue.AbstractRunQueue</a>(int&nbsp;priority)</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method_detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="isEmpty()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>isEmpty</h4>
-<pre>boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#line.414">isEmpty</a>()</pre>
-</li>
-</ul>
-<a name="isAvailable()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>isAvailable</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#line.419">isAvailable</a>()</pre>
-<dl>
-<dt><strong>Specified by:</strong></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html#isAvailable()">isAvailable</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues.FairObject</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="getPriority()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getPriority</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#line.426">getPriority</a>()</pre>
-<dl>
-<dt><strong>Specified by:</strong></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html#getPriority()">getPriority</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues.FairObject</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="addFront(org.apache.hadoop.hbase.procedure2.Procedure)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>addFront</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#line.431">addFront</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
-<dl>
-<dt><strong>Specified by:</strong></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html#addFront(org.apache.hadoop.hbase.procedure2.Procedure)">addFront</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="addBack(org.apache.hadoop.hbase.procedure2.Procedure)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>addBack</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#line.436">addBack</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
-<dl>
-<dt><strong>Specified by:</strong></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html#addBack(org.apache.hadoop.hbase.procedure2.Procedure)">addBack</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="poll()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>poll</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#line.441">poll</a>()</pre>
-<dl>
-<dt><strong>Specified by:</strong></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html#poll()">poll</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="acquireDeleteLock()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>acquireDeleteLock</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#line.446">acquireDeleteLock</a>()</pre>
-<dl>
-<dt><strong>Specified by:</strong></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html#acquireDeleteLock()">acquireDeleteLock</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="isLocked()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>isLocked</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#line.450">isLocked</a>()</pre>
-</li>
-</ul>
-<a name="isExclusiveLock()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>isExclusiveLock</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#line.454">isExclusiveLock</a>()</pre>
-</li>
-</ul>
-<a name="trySharedLock()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>trySharedLock</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#line.458">trySharedLock</a>()</pre>
-</li>
-</ul>
-<a name="releaseSharedLock()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>releaseSharedLock</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#line.464">releaseSharedLock</a>()</pre>
-</li>
-</ul>
-<a name="isSingleSharedLock()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>isSingleSharedLock</h4>
-<pre>boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#line.471">isSingleSharedLock</a>()</pre>
-<dl><dt><span class="strong">Returns:</span></dt><dd>True if only one instance of a shared lock outstanding.</dd></dl>
-</li>
-</ul>
-<a name="tryExclusiveLock()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>tryExclusiveLock</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#line.475">tryExclusiveLock</a>()</pre>
-</li>
-</ul>
-<a name="releaseExclusiveLock()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>releaseExclusiveLock</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#line.481">releaseExclusiveLock</a>()</pre>
-</li>
-</ul>
-<a name="toString()">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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/procedure/MasterProcedureQueue.AbstractRunQueue.html#line.486">toString</a>()</pre>
-<dl>
-<dt><strong>Overrides:</strong></dt>
-<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar_bottom">
-<!--   -->
-</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/MasterProcedureQueue.AbstractRunQueue.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html" target="_top">Frames</a></li>
-<li><a href="MasterProcedureQueue.AbstractRunQueue.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method_summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method_detail">Method</a></li>
-</ul>
-</div>
-<a name="skip-navbar_bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html
deleted file mode 100644
index 3118e29..0000000
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html
+++ /dev/null
@@ -1,265 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>MasterProcedureQueue.RunQueue (Apache HBase 2.0.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="MasterProcedureQueue.RunQueue (Apache HBase 2.0.0-SNAPSHOT API)";
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar_top">
-<!--   -->
-</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/MasterProcedureQueue.RunQueue.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" target="_top">Frames</a></li>
-<li><a href="MasterProcedureQueue.RunQueue.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method_summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method_detail">Method</a></li>
-</ul>
-</div>
-<a name="skip-navbar_top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.hadoop.hbase.master.procedure</div>
-<h2 title="Interface MasterProcedureQueue.RunQueue" class="title">Interface MasterProcedureQueue.RunQueue</h2>
-</div>
-<div class="contentContainer">
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Superinterfaces:</dt>
-<dd><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues.FairObject</a></dd>
-</dl>
-<dl>
-<dt>All Known Implementing Classes:</dt>
-<dd><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.AbstractRunQueue</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.ServerRunQueue</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.TableRunQueue</a></dd>
-</dl>
-<dl>
-<dt>Enclosing class:</dt>
-<dd><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a></dd>
-</dl>
-<hr>
-<br>
-<pre>private static interface <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.389">MasterProcedureQueue.RunQueue</a>
-extends <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues.FairObject</a></pre>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method_summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html#acquireDeleteLock()">acquireDeleteLock</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html#addBack(org.apache.hadoop.hbase.procedure2.Procedure)">addBack</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html#addFront(org.apache.hadoop.hbase.procedure2.Procedure)">addFront</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html#poll()">poll</a></strong>()</code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.procedure2.ProcedureFairRunQueues.FairObject">
-<!--   -->
-</a>
-<h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.procedure2.<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues.FairObject</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html#getPriority()">getPriority</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html#isAvailable()">isAvailable</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method_detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="addFront(org.apache.hadoop.hbase.procedure2.Procedure)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>addFront</h4>
-<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html#line.390">addFront</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
-</li>
-</ul>
-<a name="addBack(org.apache.hadoop.hbase.procedure2.Procedure)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>addBack</h4>
-<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html#line.391">addBack</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
-</li>
-</ul>
-<a name="poll()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>poll</h4>
-<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html#line.392">poll</a>()</pre>
-</li>
-</ul>
-<a name="acquireDeleteLock()">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>acquireDeleteLock</h4>
-<pre>boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html#line.393">acquireDeleteLock</a>()</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar_bottom">
-<!--   -->
-</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/MasterProcedureQueue.RunQueue.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" target="_top">Frames</a></li>
-<li><a href="MasterProcedureQueue.RunQueue.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method_summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method_detail">Method</a></li>
-</ul>
-</div>
-<a name="skip-navbar_bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html
deleted file mode 100644
index edcfbb8..0000000
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html
+++ /dev/null
@@ -1,249 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>MasterProcedureQueue.ServerRunQueue (Apache HBase 2.0.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="MasterProcedureQueue.ServerRunQueue (Apache HBase 2.0.0-SNAPSHOT API)";
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar_top">
-<!--   -->
-</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/MasterProcedureQueue.ServerRunQueue.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" target="_top">Frames</a></li>
-<li><a href="MasterProcedureQueue.ServerRunQueue.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#methods_inherited_from_class_org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue.AbstractRunQueue">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
-<li>Method</li>
-</ul>
-</div>
-<a name="skip-navbar_top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.hadoop.hbase.master.procedure</div>
-<h2 title="Class MasterProcedureQueue.ServerRunQueue" class="title">Class MasterProcedureQueue.ServerRunQueue</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue.AbstractRunQueue</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue.ServerRunQueue</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues.FairObject</a></dd>
-</dl>
-<dl>
-<dt>Enclosing class:</dt>
-<dd><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a></dd>
-</dl>
-<hr>
-<br>
-<pre>private static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#line.494">MasterProcedureQueue.ServerRunQueue</a>
-extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.AbstractRunQueue</a></pre>
-<div class="block">Run Queue for Server procedures.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor_summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html#MasterProcedureQueue.ServerRunQueue(int)">MasterProcedureQueue.ServerRunQueue</a></strong>(int&nbsp;priority)</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method_summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<ul class="blockList">
-<li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue.AbstractRunQueue">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.AbstractRunQueue</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#acquireDeleteLock()">acquireDeleteLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#addBack(org.apache.hadoop.hbase.procedure2.Procedure)">addBack</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#addFront(org.apache.hadoop.hbase.procedure2.Procedure)">addFront</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#getPriority()">getPriority</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#isAvailable()">isAvailable</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#isEmpty()">isEmpty</a>, <a href="../../../../../../org/apache/hadoop/hbase/mast
 er/procedure/MasterProcedureQueue.AbstractRunQueue.html#isExclusiveLock()">isExclusiveLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#isLocked()">isLocked</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#isSingleSharedLock()">isSingleSharedLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#poll()">poll</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#releaseExclusiveLock()">releaseExclusiveLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#releaseSharedLock()">releaseSharedLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#toString()">toString</a>, <a href="../../../../../.
 ./org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#tryExclusiveLock()">tryExclusiveLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#trySharedLock()">trySharedLock</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang
 /Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor_detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="MasterProcedureQueue.ServerRunQueue(int)">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>MasterProcedureQueue.ServerRunQueue</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html#line.495">MasterProcedureQueue.ServerRunQueue</a>(int&nbsp;priority)</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar_bottom">
-<!--   -->
-</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/MasterProcedureQueue.ServerRunQueue.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" target="_top">Frames</a></li>
-<li><a href="MasterProcedureQueue.ServerRunQueue.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#methods_inherited_from_class_org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue.AbstractRunQueue">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
-<li>Method</li>
-</ul>
-</div>
-<a name="skip-navbar_bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html
new file mode 100644
index 0000000..b7e17e7
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html
@@ -0,0 +1,415 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MasterProcedureScheduler.AvlTree (Apache HBase 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="MasterProcedureScheduler.AvlTree (Apache HBase 2.0.0-SNAPSHOT API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MasterProcedureScheduler.AvlTree.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.AvlTree.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.hadoop.hbase.master.procedure</div>
+<h2 title="Class MasterProcedureScheduler.AvlTree" class="title">Class MasterProcedureScheduler.AvlTree</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.AvlTree</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></dd>
+</dl>
+<hr>
+<br>
+<pre>private static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.1214">MasterProcedureScheduler.AvlTree</a>
+extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier</th>
+<th class="colLast" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private </code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#MasterProcedureScheduler.AvlTree()">MasterProcedureScheduler.AvlTree</a></strong>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#balance(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">balance</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;p)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br>int</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#balanceFactor(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">balanceFactor</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;node)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#fixHeight(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">fixHeight</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;node)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#get(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20T)">get</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;root,
+      T&nbsp;key)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#getFirst(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">getFirst</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;root)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#getLast(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">getLast</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;root)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br>int</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#height(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">height</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;node)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#insert(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">insert</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;root,
+            <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;node)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#remove(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20T)">remove</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;root,
+            T&nbsp;key)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#removeMin(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">removeMin</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;p)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#rotateLeft(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">rotateLeft</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;q)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#rotateRight(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">rotateRight</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;p)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang
 /Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="MasterProcedureScheduler.AvlTree()">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MasterProcedureScheduler.AvlTree</h4>
+<pre>private&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#line.1214">MasterProcedureScheduler.AvlTree</a>()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="get(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,java.lang.Comparable)">
+<!--   -->
+</a><a name="get(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue, T)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>get</h4>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#line.1215">get</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;root,
+                                                              T&nbsp;key)</pre>
+</li>
+</ul>
+<a name="getFirst(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFirst</h4>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#line.1229">getFirst</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;root)</pre>
+</li>
+</ul>
+<a name="getLast(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLast</h4>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#line.1238">getLast</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;root)</pre>
+</li>
+</ul>
+<a name="insert(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue, org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>insert</h4>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#line.1247">insert</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;root,
+                                                                 <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;node)</pre>
+</li>
+</ul>
+<a name="removeMin(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeMin</h4>
+<pre>private static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#line.1257">removeMin</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;p)</pre>
+</li>
+</ul>
+<a name="remove(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,java.lang.Comparable)">
+<!--   -->
+</a><a name="remove(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue, T)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>remove</h4>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#line.1264">remove</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;root,
+                                                                 T&nbsp;key)</pre>
+</li>
+</ul>
+<a name="balance(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>balance</h4>
+<pre>private static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#line.1284">balance</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;p)</pre>
+</li>
+</ul>
+<a name="rotateRight(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rotateRight</h4>
+<pre>private static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#line.1301">rotateRight</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;p)</pre>
+</li>
+</ul>
+<a name="rotateLeft(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rotateLeft</h4>
+<pre>private static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#line.1310">rotateLeft</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;q)</pre>
+</li>
+</ul>
+<a name="fixHeight(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>fixHeight</h4>
+<pre>private static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#line.1319">fixHeight</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;node)</pre>
+</li>
+</ul>
+<a name="height(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>height</h4>
+<pre>private static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#line.1325">height</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;node)</pre>
+</li>
+</ul>
+<a name="balanceFactor(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>balanceFactor</h4>
+<pre>private static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html#line.1329">balanceFactor</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;node)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MasterProcedureScheduler.AvlTree.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.AvlTree.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html
new file mode 100644
index 0000000..a168226
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html
@@ -0,0 +1,412 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MasterProcedureScheduler.FairQueue (Apache HBase 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="MasterProcedureScheduler.FairQueue (Apache HBase 2.0.0-SNAPSHOT API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MasterProcedureScheduler.FairQueue.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.FairQueue.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.hadoop.hbase.master.procedure</div>
+<h2 title="Class MasterProcedureScheduler.FairQueue" class="title">Class MasterProcedureScheduler.FairQueue&lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.FairQueue&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></dd>
+</dl>
+<hr>
+<br>
+<pre>private static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.1143">MasterProcedureScheduler.FairQueue</a>&lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;
+extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private int</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#currentQuantum">currentQuantum</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="type parameter in MasterProcedureScheduler.FairQueue">T</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#currentQueue">currentQueue</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private int</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#quantum">quantum</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="type parameter in MasterProcedureScheduler.FairQueue">T</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#queueHead">queueHead</a></strong></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#MasterProcedureScheduler.FairQueue()">MasterProcedureScheduler.FairQueue</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#MasterProcedureScheduler.FairQueue(int)">MasterProcedureScheduler.FairQueue</a></strong>(int&nbsp;quantum)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#add(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">add</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="type parameter in MasterProcedureScheduler.FairQueue">T</a>&gt;&nbsp;queue)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private int</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#calculateQuantum(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">calculateQuantum</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&nbsp;queue)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#nextQueue()">nextQueue</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="type parameter in MasterProcedureScheduler.FairQueue">T</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#poll()">poll</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#remove(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">remove</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="type parameter in MasterProcedureScheduler.FairQueue">T</a>&gt;&nbsp;queue)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#setNextQueue(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">setNextQueue</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="type parameter in MasterProcedureScheduler.FairQueue">T</a>&gt;&nbsp;queue)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang
 /Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="quantum">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>quantum</h4>
+<pre>private final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#line.1144">quantum</a></pre>
+</li>
+</ul>
+<a name="currentQueue">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>currentQueue</h4>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="type parameter in MasterProcedureScheduler.FairQueue">T</a> extends <a href="http://docs.oracle.com/javase/7/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/master/procedure/MasterProcedureScheduler.FairQueue.html" title="type parameter in MasterProcedureScheduler.FairQueue">T</a>&gt;&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#line.1146">currentQueue</a></pre>
+</li>
+</ul>
+<a name="queueHead">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>queueHead</h4>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="type parameter in MasterProcedureScheduler.FairQueue">T</a> extends <a href="http://docs.oracle.com/javase/7/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/master/procedure/MasterProcedureScheduler.FairQueue.html" title="type parameter in MasterProcedureScheduler.FairQueue">T</a>&gt;&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#line.1147">queueHead</a></pre>
+</li>
+</ul>
+<a name="currentQuantum">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>currentQuantum</h4>
+<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#line.1148">currentQuantum</a></pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="MasterProcedureScheduler.FairQueue()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>MasterProcedureScheduler.FairQueue</h4>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#line.1150">MasterProcedureScheduler.FairQueue</a>()</pre>
+</li>
+</ul>
+<a name="MasterProcedureScheduler.FairQueue(int)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MasterProcedureScheduler.FairQueue</h4>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#line.1154">MasterProcedureScheduler.FairQueue</a>(int&nbsp;quantum)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="add(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>add</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#line.1158">add</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="type parameter in MasterProcedureScheduler.FairQueue">T</a>&gt;&nbsp;queue)</pre>
+</li>
+</ul>
+<a name="remove(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>remove</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#line.1163">remove</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="type parameter in MasterProcedureScheduler.FairQueue">T</a>&gt;&nbsp;queue)</pre>
+</li>
+</ul>
+<a name="poll()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>poll</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="type parameter in MasterProcedureScheduler.FairQueue">T</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#line.1171">poll</a>()</pre>
+</li>
+</ul>
+<a name="nextQueue()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>nextQueue</h4>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#line.1194">nextQueue</a>()</pre>
+</li>
+</ul>
+<a name="setNextQueue(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setNextQueue</h4>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#line.1200">setNextQueue</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="type parameter in MasterProcedureScheduler.FairQueue">T</a>&gt;&nbsp;queue)</pre>
+</li>
+</ul>
+<a name="calculateQuantum(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>calculateQuantum</h4>
+<pre>private&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html#line.1209">calculateQuantum</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&nbsp;queue)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MasterProcedureScheduler.FairQueue.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.FairQueue.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html
new file mode 100644
index 0000000..9f98aa7
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html
@@ -0,0 +1,322 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MasterProcedureScheduler.IterableList (Apache HBase 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="MasterProcedureScheduler.IterableList (Apache HBase 2.0.0-SNAPSHOT API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MasterProcedureScheduler.IterableList.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.IterableList.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.hadoop.hbase.master.procedure</div>
+<h2 title="Class MasterProcedureScheduler.IterableList" class="title">Class MasterProcedureScheduler.IterableList</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.IterableList</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></dd>
+</dl>
+<hr>
+<br>
+<pre>private static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.1334">MasterProcedureScheduler.IterableList</a>
+extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier</th>
+<th class="colLast" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private </code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html#MasterProcedureScheduler.IterableList()">MasterProcedureScheduler.IterableList</a></strong>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html#append(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">append</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;head,
+            <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;node)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html#appendList(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">appendList</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;head,
+                    <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;otherHead)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html#isLinked(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">isLinked</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;node)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html#prepend(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">prepend</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;head,
+              <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;node)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html#remove(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">remove</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;head,
+            <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;node)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang
 /Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="MasterProcedureScheduler.IterableList()">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MasterProcedureScheduler.IterableList</h4>
+<pre>private&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html#line.1334">MasterProcedureScheduler.IterableList</a>()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="prepend(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue, org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>prepend</h4>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html#line.1335">prepend</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;head,
+                                                                  <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;node)</pre>
+</li>
+</ul>
+<a name="append(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue, org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>append</h4>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html#line.1350">append</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;head,
+                                                                 <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;node)</pre>
+</li>
+</ul>
+<a name="appendList(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue, org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>appendList</h4>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html#line.1365">appendList</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;head,
+                                                                     <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;otherHead)</pre>
+</li>
+</ul>
+<a name="remove(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue, org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>remove</h4>
+<pre>private static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html#line.1378">remove</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;head,
+                                                                 <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;node)</pre>
+</li>
+</ul>
+<a name="isLinked(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isLinked</h4>
+<pre>private static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html#line.1392">isLinked</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;node)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MasterProcedureScheduler.IterableList.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.IterableList.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/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 e81a3ca..a9efec4 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
@@ -112,2687 +112,2704 @@
 <span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.master.procedure.EnableTableProcedure;<a name="line.104"></a>
 <span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureConstants;<a name="line.105"></a>
 <span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.master.procedure.ModifyColumnFamilyProcedure;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.master.procedure.ModifyTableProcedure;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.master.procedure.ProcedurePrepareLatch;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.master.procedure.ProcedureSyncWait;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.master.procedure.TruncateTableProcedure;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.master.snapshot.SnapshotManager;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.mob.MobConstants;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.monitoring.MemoryBoundedLogMessageBuffer;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.normalizer.NormalizationPlan;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.normalizer.NormalizationPlan.PlanType;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.procedure.MasterProcedureManagerHost;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.procedure.flush.MasterFlushTableProcedureManager;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionServerInfo;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitLogTask.RecoveryMode;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.quotas.MasterQuotaManager;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.regionserver.DefaultStoreEngine;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.regionserver.HRegionServer;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.regionserver.HStore;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.regionserver.RSRpcServices;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.regionserver.RegionSplitPolicy;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.regionserver.compactions.ExploringCompactionPolicy;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.regionserver.compactions.FIFOCompactionPolicy;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.replication.regionserver.Replication;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.util.Addressing;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.util.HFileArchiveUtil;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.util.HasThread;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.util.IdLock;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.util.ModifyRegionUtils;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.util.VersionInfo;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.util.ZKDataMigrator;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.zookeeper.DrainingServerTracker;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.zookeeper.LoadBalancerTracker;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.zookeeper.MasterAddressTracker;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.zookeeper.MetaTableLocator;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.zookeeper.RegionNormalizerTracker;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.zookeeper.RegionServerTracker;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.zookeeper.ZKClusterId;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.zookeeper.ZKUtil;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.zookeeper.KeeperException;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.mortbay.jetty.Connector;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.mortbay.jetty.nio.SelectChannelConnector;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.mortbay.jetty.servlet.Context;<a name="line.162"></a>
-<span class="sourceLineNo">163</span><a name="line.163"></a>
-<span class="sourceLineNo">164</span>import com.google.common.annotations.VisibleForTesting;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import com.google.common.collect.Maps;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import com.google.protobuf.Descriptors;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import com.google.protobuf.Service;<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> * HMaster is the "master server" for HBase. An HBase cluster has one active<a name="line.170"></a>
-<span class="sourceLineNo">171</span> * master.  If many masters are started, all compete.  Whichever wins goes on to<a name="line.171"></a>
-<span class="sourceLineNo">172</span> * run the cluster.  All others park themselves in their constructor until<a name="line.172"></a>
-<span class="sourceLineNo">173</span> * master or cluster shutdown or until the active master loses its lease in<a name="line.173"></a>
-<span class="sourceLineNo">174</span> * zookeeper.  Thereafter, all running master jostle to take over master role.<a name="line.174"></a>
-<span class="sourceLineNo">175</span> *<a name="line.175"></a>
-<span class="sourceLineNo">176</span> * &lt;p&gt;The Master can be asked shutdown the cluster. See {@link #shutdown()}.  In<a name="line.176"></a>
-<span class="sourceLineNo">177</span> * this case it will tell all regionservers to go down and then wait on them<a name="line.177"></a>
-<span class="sourceLineNo">178</span> * all reporting in that they are down.  This master will then shut itself down.<a name="line.178"></a>
-<span class="sourceLineNo">179</span> *<a name="line.179"></a>
-<span class="sourceLineNo">180</span> * &lt;p&gt;You can also shutdown just this master.  Call {@link #stopMaster()}.<a name="line.180"></a>
-<span class="sourceLineNo">181</span> *<a name="line.181"></a>
-<span class="sourceLineNo">182</span> * @see org.apache.zookeeper.Watcher<a name="line.182"></a>
-<span class="sourceLineNo">183</span> */<a name="line.183"></a>
-<span class="sourceLineNo">184</span>@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.TOOLS)<a name="line.184"></a>
-<span class="sourceLineNo">185</span>@SuppressWarnings("deprecation")<a name="line.185"></a>
-<span class="sourceLineNo">186</span>public class HMaster extends HRegionServer implements MasterServices {<a name="line.186"></a>
-<span class="sourceLineNo">187</span>  private static final Log LOG = LogFactory.getLog(HMaster.class.getName());<a name="line.187"></a>
-<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span>  /**<a name="line.189"></a>
-<span class="sourceLineNo">190</span>   * Protection against zombie master. Started once Master accepts active responsibility and<a name="line.190"></a>
-<span class="sourceLineNo">191</span>   * starts taking over responsibilities. Allows a finite time window before giving up ownership.<a name="line.191"></a>
-<span class="sourceLineNo">192</span>   */<a name="line.192"></a>
-<span class="sourceLineNo">193</span>  private static class InitializationMonitor extends HasThread {<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    /** The amount of time in milliseconds to sleep before checking initialization status. */<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    public static final String TIMEOUT_KEY = "hbase.master.initializationmonitor.timeout";<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    public static final long TIMEOUT_DEFAULT = TimeUnit.MILLISECONDS.convert(15, TimeUnit.MINUTES);<a name="line.196"></a>
-<span class="sourceLineNo">197</span><a name="line.197"></a>
-<span class="sourceLineNo">198</span>    /**<a name="line.198"></a>
-<span class="sourceLineNo">199</span>     * When timeout expired and initialization has not complete, call {@link System#exit(int)} when<a name="line.199"></a>
-<span class="sourceLineNo">200</span>     * true, do nothing otherwise.<a name="line.200"></a>
-<span class="sourceLineNo">201</span>     */<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    public static final String HALT_KEY = "hbase.master.initializationmonitor.haltontimeout";<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    public static final boolean HALT_DEFAULT = false;<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>    private final HMaster master;<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    private final long timeout;<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    private final boolean haltOnTimeout;<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>    /** Creates a Thread that monitors the {@link #isInitialized()} state. */<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    InitializationMonitor(HMaster master) {<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      super("MasterInitializationMonitor");<a name="line.211"></a>
-<span class="sourceLineNo">212</span>      this.master = master;<a name="line.212"></a>
-<span class="sourceLineNo">213</span>      this.timeout = master.getConfiguration().getLong(TIMEOUT_KEY, TIMEOUT_DEFAULT);<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      this.haltOnTimeout = master.getConfiguration().getBoolean(HALT_KEY, HALT_DEFAULT);<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      this.setDaemon(true);<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>    @Override<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    public void run() {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      try {<a name="line.220"></a>
-<span class="sourceLineNo">221</span>        while (!master.isStopped() &amp;&amp; master.isActiveMaster()) {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>          Thread.sleep(timeout);<a name="line.222"></a>
-<span class="sourceLineNo">223</span>          if (master.isInitialized()) {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>            LOG.debug("Initialization completed within allotted tolerance. Monitor exiting.");<a name="line.224"></a>
-<span class="sourceLineNo">225</span>          } else {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>            LOG.error("Master failed to complete initialization after " + timeout + "ms. Please"<a name="line.226"></a>
-<span class="sourceLineNo">227</span>                + " consider submitting a bug report including a thread dump of this process.");<a name="line.227"></a>
-<span class="sourceLineNo">228</span>            if (haltOnTimeout) {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>              LOG.error("Zombie Master exiting. Thread dump to stdout");<a name="line.229"></a>
-<span class="sourceLineNo">230</span>              Threads.printThreadInfo(System.out, "Zombie HMaster");<a name="line.230"></a>
-<span class="sourceLineNo">231</span>              System.exit(-1);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>            }<a name="line.232"></a>
-<span class="sourceLineNo">233</span>          }<a name="line.233"></a>
-<span class="sourceLineNo">234</span>        }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      } catch (InterruptedException ie) {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>        LOG.trace("InitMonitor thread interrupted. Existing.");<a name="line.236"></a>
-<span class="sourceLineNo">237</span>      }<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    }<a name="line.238"></a>
-<span class="sourceLineNo">239</span>  }<a name="line.239"></a>
-<span class="sourceLineNo">240</span><a name="line.240"></a>
-<span class="sourceLineNo">241</span>  // MASTER is name of the webapp and the attribute name used stuffing this<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  //instance into web context.<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  public static final String MASTER = "master";<a name="line.243"></a>
-<span class="sourceLineNo">244</span><a name="line.244"></a>
-<span class="sourceLineNo">245</span>  // Manager and zk listener for master election<a name="line.245"></a>
-<span class="sourceLineNo">246</span>  private final ActiveMasterManager activeMasterManager;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>  // Region server tracker<a name="line.247"></a>
-<span class="sourceLineNo">248</span>  RegionServerTracker regionServerTracker;<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  // Draining region server tracker<a name="line.249"></a>
-<span class="sourceLineNo">250</span>  private DrainingServerTracker drainingServerTracker;<a name="line.250"></a>
-<span class="sourceLineNo">251</span>  // Tracker for load balancer state<a name="line.251"></a>
-<span class="sourceLineNo">252</span>  LoadBalancerTracker loadBalancerTracker;<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>  // Tracker for region normalizer state<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  private RegionNormalizerTracker regionNormalizerTracker;<a name="line.255"></a>
-<span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span>  private ClusterSchemaService clusterSchemaService;<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>  // Metrics for the HMaster<a name="line.259"></a>
-<span class="sourceLineNo">260</span>  final MetricsMaster metricsMaster;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  // file system manager for the master FS operations<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  private MasterFileSystem fileSystemManager;<a name="line.262"></a>
-<span class="sourceLineNo">263</span><a name="line.263"></a>
-<span class="sourceLineNo">264</span>  // server manager to deal with region server info<a name="line.264"></a>
-<span class="sourceLineNo">265</span>  volatile ServerManager serverManager;<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>  // manager of assignment nodes in zookeeper<a name="line.267"></a>
-<span class="sourceLineNo">268</span>  AssignmentManager assignmentManager;<a name="line.268"></a>
-<span class="sourceLineNo">269</span><a name="line.269"></a>
-<span class="sourceLineNo">270</span>  // buffer for "fatal error" notices from region servers<a name="line.270"></a>
-<span class="sourceLineNo">271</span>  // in the cluster. This is only used for assisting<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  // operations/debugging.<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  MemoryBoundedLogMessageBuffer rsFatals;<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  // flag set after we become the active master (used for testing)<a name="line.275"></a>
-<span class="sourceLineNo">276</span>  private volatile boolean isActiveMaster = false;<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span>  // flag set after we complete initialization once active,<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  // it is not private since it's used in unit tests<a name="line.279"></a>
-<span class="sourceLineNo">280</span>  volatile boolean initialized = false;<a name="line.280"></a>
-<span class="sourceLineNo">281</span><a name="line.281"></a>
-<span class="sourceLineNo">282</span>  // flag set after master services are started,<a name="line.282"></a>
-<span class="sourceLineNo">283</span>  // initialization may have not completed yet.<a name="line.283"></a>
-<span class="sourceLineNo">284</span>  volatile boolean serviceStarted = false;<a name="line.284"></a>
-<span class="sourceLineNo">285</span><a name="line.285"></a>
-<span class="sourceLineNo">286</span>  // flag set after we complete assignMeta.<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  private volatile boolean serverCrashProcessingEnabled = false;<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span>  LoadBalancer balancer;<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  private RegionNormalizer normalizer;<a name="line.290"></a>
-<span class="sourceLineNo">291</span>  private BalancerChore balancerChore;<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  private RegionNormalizerChore normalizerChore;<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  private ClusterStatusChore clusterStatusChore;<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  private ClusterStatusPublisher clusterStatusPublisherChore = null;<a name="line.294"></a>
-<span class="sourceLineNo">295</span><a name="line.295"></a>
-<span class="sourceLineNo">296</span>  CatalogJanitor catalogJanitorChore;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>  private LogCleaner logCleaner;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>  private HFileCleaner hfileCleaner;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  private ExpiredMobFileCleanerChore expiredMobFileCleanerChore;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>  private MobCompactionChore mobCompactChore;<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  private MasterMobCompactionThread mobCompactThread;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  // used to synchronize the mobCompactionStates<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  private final IdLock mobCompactionLock = new IdLock();<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  // save the information of mob compactions in tables.<a name="line.304"></a>
-<span class="sourceLineNo">305</span>  // the key is table name, the value is the number of compactions in that table.<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  private Map&lt;TableName, AtomicInteger&gt; mobCompactionStates = Maps.newConcurrentMap();<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span>  MasterCoprocessorHost cpHost;<a name="line.308"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.master.procedure.ModifyColumnFamilyProcedure;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.master.procedure.ModifyTableProcedure;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.master.procedure.ProcedurePrepareLatch;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.master.procedure.ProcedureSyncWait;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.master.procedure.TruncateTableProcedure;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.master.snapshot.SnapshotManager;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.mob.MobConstants;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.monitoring.MemoryBoundedLogMessageBuffer;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.normalizer.NormalizationPlan;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.normalizer.NormalizationPlan.PlanType;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.procedure.MasterProcedureManagerHost;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.procedure.flush.MasterFlushTableProcedureManager;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionServerInfo;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitLogTask.RecoveryMode;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.quotas.MasterQuotaManager;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.regionserver.DefaultStoreEngine;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.regionserver.HRegionServer;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.regionserver.HStore;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.regionserver.RSRpcServices;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.regionserver.RegionSplitPolicy;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.regionserver.compactions.ExploringCompactionPolicy;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.regionserver.compactions.FIFOCompactionPolicy;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.replication.regionserver.Replication;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.util.Addressing;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.util.HFileArchiveUtil;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.util.HasThread;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.util.IdLock;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.util.ModifyRegionUtils;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.util.VersionInfo;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.util.ZKDataMigrator;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.zookeeper.DrainingServerTracker;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.zookeeper.LoadBalancerTracker;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.zookeeper.MasterAddressTracker;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.zookeeper.MetaTableLocator;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.zookeeper.RegionNormalizerTracker;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.zookeeper.RegionServerTracker;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.zookeeper.ZKClusterId;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.zookeeper.ZKUtil;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.zookeeper.KeeperException;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.mortbay.jetty.Connector;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.mortbay.jetty.nio.SelectChannelConnector;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.mortbay.jetty.servlet.Context;<a name="line.163"></a>
+<span class="sourceLineNo">164</span><a name="line.164"></a>
+<span class="sourceLineNo">165</span>import com.google.common.annotations.VisibleForTesting;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import com.google.common.collect.Maps;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import com.google.protobuf.Descriptors;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import com.google.protobuf.Service;<a name="line.168"></a>
+<span class="sourceLineNo">169</span><a name="line.169"></a>
+<span class="sourceLineNo">170</span>/**<a name="line.170"></a>
+<span class="sourceLineNo">171</span> * HMaster is the "master server" for HBase. An HBase cluster has one active<a name="line.171"></a>
+<span class="sourceLineNo">172</span> * master.  If many masters are started, all compete.  Whichever wins goes on to<a name="line.172"></a>
+<span class="sourceLineNo">173</span> * run the cluster.  All others park themselves in their constructor until<a name="line.173"></a>
+<span class="sourceLineNo">174</span> * master or cluster shutdown or until the active master loses its lease in<a name="line.174"></a>
+<span class="sourceLineNo">175</span> * zookeeper.  Thereafter, all running master jostle to take over master role.<a name="line.175"></a>
+<span class="sourceLineNo">176</span> *<a name="line.176"></a>
+<span class="sourceLineNo">177</span> * &lt;p&gt;The Master can be asked shutdown the cluster. See {@link #shutdown()}.  In<a name="line.177"></a>
+<span class="sourceLineNo">178</span> * this case it will tell all regionservers to go down and then wait on them<a name="line.178"></a>
+<span class="sourceLineNo">179</span> * all reporting in that they are down.  This master will then shut itself down.<a name="line.179"></a>
+<span class="sourceLineNo">180</span> *<a name="line.180"></a>
+<span class="sourceLineNo">181</span> * &lt;p&gt;You can also shutdown just this master.  Call {@link #stopMaster()}.<a name="line.181"></a>
+<span class="sourceLineNo">182</span> *<a name="line.182"></a>
+<span class="sourceLineNo">183</span> * @see org.apache.zookeeper.Watcher<a name="line.183"></a>
+<span class="sourceLineNo">184</span> */<a name="line.184"></a>
+<span class="sourceLineNo">185</span>@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.TOOLS)<a name="line.185"></a>
+<span class="sourceLineNo">186</span>@SuppressWarnings("deprecation")<a name="line.186"></a>
+<span class="sourceLineNo">187</span>public class HMaster extends HRegionServer implements MasterServices {<a name="line.187"></a>
+<span class="sourceLineNo">188</span>  private static final Log LOG = LogFactory.getLog(HMaster.class.getName());<a name="line.188"></a>
+<span class="sourceLineNo">189</span><a name="line.189"></a>
+<span class="sourceLineNo">190</span>  /**<a name="line.190"></a>
+<span class="sourceLineNo">191</span>   * Protection against zombie master. Started once Master accepts active responsibility and<a name="line.191"></a>
+<span class="sourceLineNo">192</span>   * starts taking over responsibilities. Allows a finite time window before giving up ownership.<a name="line.192"></a>
+<span class="sourceLineNo">193</span>   */<a name="line.193"></a>
+<span class="sourceLineNo">194</span>  private static class InitializationMonitor extends HasThread {<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    /** The amount of time in milliseconds to sleep before checking initialization status. */<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    public static final String TIMEOUT_KEY = "hbase.master.initializationmonitor.timeout";<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    public static final long TIMEOUT_DEFAULT = TimeUnit.MILLISECONDS.convert(15, TimeUnit.MINUTES);<a name="line.197"></a>
+<span class="sourceLineNo">198</span><a name="line.198"></a>
+<span class="sourceLineNo">199</span>    /**<a name="line.199"></a>
+<span class="sourceLineNo">200</span>     * When timeout expired and initialization has not complete, call {@link System#exit(int)} when<a name="line.200"></a>
+<span class="sourceLineNo">201</span>     * true, do nothing otherwise.<a name="line.201"></a>
+<span class="sourceLineNo">202</span>     */<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    public static final String HALT_KEY = "hbase.master.initializationmonitor.haltontimeout";<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    public static final boolean HALT_DEFAULT = false;<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>    private final HMaster master;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    private final long timeout;<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    private final boolean haltOnTimeout;<a name="line.208"></a>
+<span class="sourceLineNo">209</span><a name="line.209"></a>
+<span class="sourceLineNo">210</span>    /** Creates a Thread that monitors the {@link #isInitialized()} state. */<a name="line.210"></a>
+<span class="sourceLineNo">211</span>    InitializationMonitor(HMaster master) {<a name="line.211"></a>
+<span class="sourceLineNo">212</span>      super("MasterInitializationMonitor");<a name="line.212"></a>
+<span class="sourceLineNo">213</span>      this.master = master;<a name="line.213"></a>
+<span class="sourceLineNo">214</span>      this.timeout = master.getConfiguration().getLong(TIMEOUT_KEY, TIMEOUT_DEFAULT);<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      this.haltOnTimeout = master.getConfiguration().getBoolean(HALT_KEY, HALT_DEFAULT);<a name="line.215"></a>
+<span class="sourceLineNo">216</span>      this.setDaemon(true);<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    }<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>    @Override<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    public void run() {<a name="line.220"></a>
+<span class="sourceLineNo">221</span>      try {<a name="line.221"></a>
+<span class="sourceLineNo">222</span>        while (!master.isStopped() &amp;&amp; master.isActiveMaster()) {<a name="line.222"></a>
+<span class="sourceLineNo">223</span>          Thread.sleep(timeout);<a name="line.223"></a>
+<span class="sourceLineNo">224</span>          if (master.isInitialized()) {<a name="line.224"></a>
+<span class="sourceLineNo">225</span>            LOG.debug("Initialization completed within allotted tolerance. Monitor exiting.");<a name="line.225"></a>
+<span class="sourceLineNo">226</span>          } else {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>            LOG.error("Master failed to complete initialization after " + timeout + "ms. Please"<a name="line.227"></a>
+<span class="sourceLineNo">228</span>                + " consider submitting a bug report including a thread dump of this process.");<a name="line.228"></a>
+<span class="sourceLineNo">229</span>            if (haltOnTimeout) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>              LOG.error("Zombie Master exiting. Thread dump to stdout");<a name="line.230"></a>
+<span class="sourceLineNo">231</span>              Threads.printThreadInfo(System.out, "Zombie HMaster");<a name="line.231"></a>
+<span class="sourceLineNo">232</span>              System.exit(-1);<a name="line.232"></a>
+<span class="sourceLineNo">233</span>            }<a name="line.233"></a>
+<span class="sourceLineNo">234</span>          }<a name="line.234"></a>
+<span class="sourceLineNo">235</span>        }<a name="line.235"></a>
+<span class="sourceLineNo">236</span>      } catch (InterruptedException ie) {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>        LOG.trace("InitMonitor thread interrupted. Existing.");<a name="line.237"></a>
+<span class="sourceLineNo">238</span>      }<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    }<a name="line.239"></a>
+<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
+<span class="sourceLineNo">241</span><a name="line.241"></a>
+<span class="sourceLineNo">242</span>  // MASTER is name of the webapp and the attribute name used stuffing this<a name="line.242"></a>
+<span class="sourceLineNo">243</span>  //instance into web context.<a name="line.243"></a>
+<span class="sourceLineNo">244</span>  public static final String MASTER = "master";<a name="line.244"></a>
+<span class="sourceLineNo">245</span><a name="line.245"></a>
+<span class="sourceLineNo">246</span>  // Manager and zk listener for master election<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  private final ActiveMasterManager activeMasterManager;<a name="line.247"></a>
+<span class="sourceLineNo">248</span>  // Region server tracker<a name="line.248"></a>
+<span class="sourceLineNo">249</span>  RegionServerTracker regionServerTracker;<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  // Draining region server tracker<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  private DrainingServerTracker drainingServerTracker;<a name="line.251"></a>
+<span class="sourceLineNo">252</span>  // Tracker for load balancer state<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  LoadBalancerTracker loadBalancerTracker;<a name="line.253"></a>
+<span class="sourceLineNo">254</span><a name="line.254"></a>
+<span class="sourceLineNo">255</span>  // Tracker for region normalizer state<a name="line.255"></a>
+<span class="sourceLineNo">256</span>  private RegionNormalizerTracker regionNormalizerTracker;<a name="line.256"></a>
+<span class="sourceLineNo">257</span><a name="line.257"></a>
+<span class="sourceLineNo">258</span>  private ClusterSchemaService clusterSchemaService;<a name="line.258"></a>
+<span class="sourceLineNo">259</span><a name="line.259"></a>
+<span class="sourceLineNo">260</span>  // Metrics for the HMaster<a name="line.260"></a>
+<span class="sourceLineNo">261</span>  final MetricsMaster metricsMaster;<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  // file system manager for the master FS operations<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  private MasterFileSystem fileSystemManager;<a name="line.263"></a>
+<span class="sourceLineNo">264</span><a name="line.264"></a>
+<span class="sourceLineNo">265</span>  // server manager to deal with region server info<a name="line.265"></a>
+<span class="sourceLineNo">266</span>  volatile ServerManager serverManager;<a name="line.266"></a>
+<span class="sourceLineNo">267</span><a name="line.267"></a>
+<span class="sourceLineNo">268</span>  // manager of assignment nodes in zookeeper<a name="line.268"></a>
+<span class="sourceLineNo">269</span>  AssignmentManager assignmentManager;<a name="line.269"></a>
+<span class="sourceLineNo">270</span><a name="line.270"></a>
+<span class="sourceLineNo">271</span>  // buffer for "fatal error" notices from region servers<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  // in the cluster. This is only used for assisting<a name="line.272"></a>
+<span class="sourceLineNo">273</span>  // operations/debugging.<a name="line.273"></a>
+<span class="sourceLineNo">274</span>  MemoryBoundedLogMessageBuffer rsFatals;<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></a>
+<span class="sourceLineNo">276</span>  // flag set after we become the active master (used for testing)<a name="line.276"></a>
+<span class="sourceLineNo">277</span>  private volatile boolean isActiveMaster = false;<a name="line.277"></a>
+<span class="sourceLineNo">278</span><a name="line.278"></a>
+<span class="sourceLineNo">279</span>  // flag set after we complete initialization once active,<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  // it is not private since it's used in unit tests<a name="line.280"></a>
+<span class="sourceLineNo">281</span>  private final ProcedureEvent initialized = new ProcedureEvent("master initialized");<a name="line.281"></a>
+<span class="sourceLineNo">282</span><a name="line.282"></a>
+<span class="sourceLineNo">283</span>  // flag set after master services are started,<a name="line.283"></a>
+<span class="sourceLineNo">284</span>  // initialization may have not completed yet.<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  volatile boolean serviceStarted = false;<a name="line.285"></a>
+<span class="sourceLineNo">286</span><a name="line.286"></a>
+<span class="sourceLineNo">287</span>  // flag set after we complete assignMeta.<a name="line.287"></a>
+<span class="sourceLineNo">288</span>  private final ProcedureEvent serverCrashProcessingEnabled =<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    new ProcedureEvent("server crash processing");<a name="line.289"></a>
+<span class="sourceLineNo">290</span><a name="line.290"></a>
+<span class="sourceLineNo">291</span>  LoadBalancer balancer;<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  private RegionNormalizer normalizer;<a name="line.292"></a>
+<span class="sourceLineNo">293</span>  private BalancerChore balancerChore;<a name="line.293"></a>
+<span class="sourceLineNo">294</span>  private RegionNormalizerChore normalizerChore;<a name="line.294"></a>
+<span class="sourceLineNo">295</span>  private ClusterStatusChore clusterStatusChore;<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  private ClusterStatusPublisher clusterStatusPublisherChore = null;<a name="line.296"></a>
+<span class="sourceLineNo">297</span><a name="line.297"></a>
+<span class="sourceLineNo">298</span>  CatalogJanitor catalogJanitorChore;<a name="line.298"></a>
+<span class="sourceLineNo">299</span>  private LogCleaner logCleaner;<a name="line.299"></a>
+<span class="sourceLineNo">300</span>  private HFileCleaner hfileCleaner;<a name="line.300"></a>
+<span class="sourceLineNo">301</span>  private ExpiredMobFileCleanerChore expiredMobFileCleanerChore;<a name="line.301"></a>
+<span class="sourceLineNo">302</span>  private MobCompactionChore mobCompactChore;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  private MasterMobCompactionThread mobCompactThread;<a name="line.303"></a>
+<span class="sourceLineNo">304</span>  // used to synchronize the mobCompactionStates<a name="line.304"></a>
+<span class="sourceLineNo">305</span>  private final IdLock mobCompactionLock = new IdLock();<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  // save the information of mob compactions in tables.<a name="line.306"></a>
+<span class="sourceLineNo">307</span>  // the key is table name, the value is the number of compactions in that table.<a name="line.307"></a>
+<span class="sourceLineNo">308</span>  private Map&lt;TableName, AtomicInteger&gt; mobCompactionStates = Maps.newConcurrentMap();<a name="line.308"></a>
 <span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>  private final boolean preLoadTableDescriptors;<a name="line.310"></a>
+<span class="sourceLineNo">310</span>  MasterCoprocessorHost cpHost;<a name="line.310"></a>
 <span class="sourceLineNo">311</span><a name="line.311"></a>
-<span class="sourceLineNo">312</span>  // Time stamps for when a hmaster became active<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  private long masterActiveTime;<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  //should we check the compression codec type at master side, default true, HBASE-6370<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  private final boolean masterCheckCompression;<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>  //should we check encryption settings at master side, default true<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  private final boolean masterCheckEncryption;<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>  Map&lt;String, Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.321"></a>
+<span class="sourceLineNo">312</span>  private final boolean preLoadTableDescriptors;<a name="line.312"></a>
+<span class="sourceLineNo">313</span><a name="line.313"></a>
+<span class="sourceLineNo">314</span>  // Time stamps for when a hmaster became active<a name="line.314"></a>
+<span class="sourceLineNo">315</span>  private long masterActiveTime;<a name="line.315"></a>
+<span class="sourceLineNo">316</span><a name="line.316"></a>
+<span class="sourceLineNo">317</span>  //should we check the compression codec type at master side, default true, HBASE-6370<a name="line.317"></a>
+<span class="sourceLineNo">318</span>  private final boolean masterCheckCompression;<a name="line.318"></a>
+<span class="sourceLineNo">319</span><a name="line.319"></a>
+<span class="sourceLineNo">320</span>  //should we check encryption settings at master side, default true<a name="line.320"></a>
+<span class="sourceLineNo">321</span>  private final boolean masterCheckEncryption;<a name="line.321"></a>
 <span class="sourceLineNo">322</span><a name="line.322"></a>
-<span class="sourceLineNo">323</span>  // monitor for snapshot of hbase tables<a name="line.323"></a>
-<span class="sourceLineNo">324</span>  SnapshotManager snapshotManager;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  // monitor for distributed procedures<a name="line.325"></a>
-<span class="sourceLineNo">326</span>  MasterProcedureManagerHost mpmHost;<a name="line.326"></a>
-<span class="sourceLineNo">327</span><a name="line.327"></a>
-<span class="sourceLineNo">328</span>  // it is assigned after 'initialized' guard set to true, so should be volatile<a name="line.328"></a>
-<span class="sourceLineNo">329</span>  private volatile MasterQuotaManager quotaManager;<a name="line.329"></a>
-<span class="sourceLineNo">330</span><a name="line.330"></a>
-<span class="sourceLineNo">331</span>  private ProcedureExecutor&lt;MasterProcedureEnv&gt; procedureExecutor;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  private WALProcedureStore procedureStore;<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>  // handle table states<a name="line.334"></a>
-<span class="sourceLineNo">335</span>  private TableStateManager tableStateManager;<a name="line.335"></a>
-<span class="sourceLineNo">336</span>  <a name="line.336"></a>
-<span class="sourceLineNo">337</span>  private long splitPlanCount;<a name="line.337"></a>
-<span class="sourceLineNo">338</span>  private long mergePlanCount;<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>  /** flag used in test cases in order to simulate RS failures during master initialization */<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  private volatile boolean initializationBeforeMetaAssignment = false;<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>  /** jetty server for master to redirect requests to regionserver infoServer */<a name="line.343"></a>
-<span class="sourceLineNo">344</span>  private org.mortbay.jetty.Server masterJettyServer;<a name="line.344"></a>
-<span class="sourceLineNo">345</span><a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public static class RedirectServlet extends HttpServlet {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    private static final long serialVersionUID = 2894774810058302472L;<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    private static int regionServerInfoPort;<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>    @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    public void doGet(HttpServletRequest request,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>        HttpServletResponse response) throws ServletException, IOException {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      String redirectUrl = request.getScheme() + "://"<a name="line.353"></a>
-<span class="sourceLineNo">354</span>        + request.getServerName() + ":" + regionServerInfoPort<a name="line.354"></a>
-<span class="sourceLineNo">355</span>        + request.getRequestURI();<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      response.sendRedirect(redirectUrl);<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    }<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  }<a name="line.358"></a>
-<span class="sourceLineNo">359</span><a name="line.359"></a>
-<span class="sourceLineNo">360</span>  /**<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   * Initializes the HMaster. The steps are as follows:<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   * &lt;p&gt;<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   * &lt;ol&gt;<a name="line.363"></a>
-<span class="sourceLineNo">364</span>   * &lt;li&gt;Initialize the local HRegionServer<a name="line.364"></a>
-<span class="sourceLineNo">365</span>   * &lt;li&gt;Start the ActiveMasterManager.<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   * &lt;/ol&gt;<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * &lt;p&gt;<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * Remaining steps of initialization occur in<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   * #finishActiveMasterInitialization(MonitoredTask) after<a name="line.369"></a>
-<span class="sourceLineNo">370</span>   * the master becomes the active one.<a name="line.370"></a>
-<span class="sourceLineNo">371</span>   */<a name="line.371"></a>
-<span class="sourceLineNo">372</span>  public HMaster(final Configuration conf, CoordinatedStateManager csm)<a name="line.372"></a>
-<span class="sourceLineNo">373</span>      throws IOException, KeeperException {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    super(conf, csm);<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    this.rsFatals = new MemoryBoundedLogMessageBuffer(<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      conf.getLong("hbase.master.buffer.for.rs.fatals", 1*1024*1024));<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>    LOG.info("hbase.rootdir=" + FSUtils.getRootDir(this.conf) +<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      ", hbase.cluster.distributed=" + this.conf.getBoolean(HConstants.CLUSTER_DISTRIBUTED, false));<a name="line.379"></a>
-<span class="sourceLineNo">380</span><a name="line.380"></a>
-<span class="sourceLineNo">381</span>    // Disable usage of meta replicas in the master<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    this.conf.setBoolean(HConstants.USE_META_REPLICAS, false);<a name="line.382"></a>
-<span class="sourceLineNo">383</span><a name="line.383"></a>
-<span class="sourceLineNo">384</span>    Replication.decorateMasterConfiguration(this.conf);<a name="line.384"></a>
+<span class="sourceLineNo">323</span>  Map&lt;String, Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.323"></a>
+<span class="sourceLineNo">324</span><a name="line.324"></a>
+<span class="sourceLineNo">325</span>  // monitor for snapshot of hbase tables<a name="line.325"></a>
+<span class="sourceLineNo">326</span>  SnapshotManager snapshotManager;<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  // monitor for distributed procedures<a name="line.327"></a>
+<span class="sourceLineNo">328</span>  MasterProcedureManagerHost mpmHost;<a name="line.328"></a>
+<span class="sourceLineNo">329</span><a name="line.329"></a>
+<span class="sourceLineNo">330</span>  // it is assigned after 'initialized' guard set to true, so should be volatile<a name="line.330"></a>
+<span class="sourceLineNo">331</span>  private volatile MasterQuotaManager quotaManager;<a name="line.331"></a>
+<span class="sourceLineNo">332</span><a name="line.332"></a>
+<span class="sourceLineNo">333</span>  private ProcedureExecutor&lt;MasterProcedureEnv&gt; procedureExecutor;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  private WALProcedureStore procedureStore;<a name="line.334"></a>
+<span class="sourceLineNo">335</span><a name="line.335"></a>
+<span class="sourceLineNo">336</span>  // handle table states<a name="line.336"></a>
+<span class="sourceLineNo">337</span>  private TableStateManager tableStateManager;<a name="line.337"></a>
+<span class="sourceLineNo">338</span>  <a name="line.338"></a>
+<span class="sourceLineNo">339</span>  private long splitPlanCount;<a name="line.339"></a>
+<span class="sourceLineNo">340</span>  private long mergePlanCount;<a name="line.340"></a>
+<span class="sourceLineNo">341</span><a name="line.341"></a>
+<span class="sourceLineNo">342</span>  /** flag used in test cases in order to simulate RS failures during master initialization */<a name="line.342"></a>
+<span class="sourceLineNo">343</span>  private volatile boolean initializationBeforeMetaAssignment = false;<a name="line.343"></a>
+<span class="sourceLineNo">344</span><a name="line.344"></a>
+<span class="sourceLineNo">345</span>  /** jetty server for master to redirect requests to regionserver infoServer */<a name="line.345"></a>
+<span class="sourceLineNo">346</span>  private org.mortbay.jetty.Server masterJettyServer;<a name="line.346"></a>
+<span class="sourceLineNo">347</span><a name="line.347"></a>
+<span class="sourceLineNo">348</span>  public static class RedirectServlet extends HttpServlet {<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    private static final long serialVersionUID = 2894774810058302472L;<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    private static int regionServerInfoPort;<a name="line.350"></a>
+<span class="sourceLineNo">351</span><a name="line.351"></a>
+<span class="sourceLineNo">352</span>    @Override<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    public void doGet(HttpServletRequest request,<a name="line.353"></a>
+<span class="sourceLineNo">354</span>        HttpServletResponse response) throws ServletException, IOException {<a name="line.354"></a>
+<span class="sourceLineNo">355</span>      String redirectUrl = request.getScheme() + "://"<a name="line.355"></a>
+<span class="sourceLineNo">356</span>        + request.getServerName() + ":" + regionServerInfoPort<a name="line.356"></a>
+<span class="sourceLineNo">357</span>        + request.getRequestURI();<a name="line.357"></a>
+<span class="sourceLineNo">358</span>      response.sendRedirect(redirectUrl);<a name="line.358"></a>
+<span class="sourceLineNo">359</span>    }<a name="line.359"></a>
+<span class="sourceLineNo">360</span>  }<a name="line.360"></a>
+<span class="sourceLineNo">361</span><a name="line.361"></a>
+<span class="sourceLineNo">362</span>  /**<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   * Initializes the HMaster. The steps are as follows:<a name="line.363"></a>
+<span class="sourceLineNo">364</span>   * &lt;p&gt;<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   * &lt;ol&gt;<a name="line.365"></a>
+<span class="sourceLineNo">366</span>   * &lt;li&gt;Initialize the local HRegionServer<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   * &lt;li&gt;Start the ActiveMasterManager.<a name="line.367"></a>
+<span class="sourceLineNo">368</span>   * &lt;/ol&gt;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>   * &lt;p&gt;<a name="line.369"></a>
+<span class="sourceLineNo">370</span>   * Remaining steps of initialization occur in<a name="line.370"></a>
+<span class="sourceLineNo">371</span>   * #finishActiveMasterInitialization(MonitoredTask) after<a name="line.371"></a>
+<span class="sourceLineNo">372</span>   * the master becomes the active one.<a name="line.372"></a>
+<span class="sourceLineNo">373</span>   */<a name="line.373"></a>
+<span class="sourceLineNo">374</span>  public HMaster(final Configuration conf, CoordinatedStateManager csm)<a name="line.374"></a>
+<span class="sourceLineNo">375</span>      throws IOException, KeeperException {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    super(conf, csm);<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    this.rsFatals = new MemoryBoundedLogMessageBuffer(<a name="line.377"></a>
+<span class="sourceLineNo">378</span>      conf.getLong("hbase.master.buffer.for.rs.fatals", 1*1024*1024));<a name="line.378"></a>
+<span class="sourceLineNo">379</span><a name="line.379"></a>
+<span class="sourceLineNo">380</span>    LOG.info("hbase.rootdir=" + FSUtils.getRootDir(this.conf) +<a name="line.380"></a>
+<span class="sourceLineNo">381</span>      ", hbase.cluster.distributed=" + this.conf.getBoolean(HConstants.CLUSTER_DISTRIBUTED, false));<a name="line.381"></a>
+<span class="sourceLineNo">382</span><a name="line.382"></a>
+<span class="sourceLineNo">383</span>    // Disable usage of meta replicas in the master<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    this.conf.setBoolean(HConstants.USE_META_REPLICAS, false);<a name="line.384"></a>
 <span class="sourceLineNo">385</span><a name="line.385"></a>
-<span class="sourceLineNo">386</span>    // Hack! Maps DFSClient =&gt; Master for logs.  HDFS made this<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    // config param for task trackers, but we can piggyback off of it.<a name="line.387"></a>
-<span class="sourceLineNo">388</span>    if (this.conf.get("mapreduce.task.attempt.id") == null) {<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      this.conf.set("mapreduce.task.attempt.id", "hb_m_" + this.serverName.toString());<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>    // should we check the compression codec type at master side, default true, HBASE-6370<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    this.masterCheckCompression = conf.getBoolean("hbase.master.check.compression", true);<a name="line.393"></a>
-<span class="sourceLineNo">394</span><a name="line.394"></a>
-<span class="sourceLineNo">395</span>    // should we check encryption settings at master side, default true<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    this.masterCheckEncryption = conf.getBoolean("hbase.master.check.encryption", true);<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>    this.metricsMaster = new MetricsMaster(new MetricsMasterWrapperImpl(this));<a name="line.398"></a>
+<span class="sourceLineNo">386</span>    Replication.decorateMasterConfiguration(this.conf);<a name="line.386"></a>
+<span class="sourceLineNo">387</span><a name="line.387"></a>
+<span class="sourceLineNo">388</span>    // Hack! Maps DFSClient =&gt; Master for logs.  HDFS made this<a name="line.388"></a>
+<span class="sourceLineNo">389</span>    // config param for task trackers, but we can piggyback off of it.<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    if (this.conf.get("mapreduce.task.attempt.id") == null) {<a name="line.390"></a>
+<span class="sourceLineNo">391</span>      this.conf.set("mapreduce.task.attempt.id", "hb_m_" + this.serverName.toString());<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>    // should we check the compression codec type at master side, default true, HBASE-6370<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    this.masterCheckCompression = conf.getBoolean("hbase.master.check.compression", true);<a name="line.395"></a>
+<span class="sourceLineNo">396</span><a name="line.396"></a>
+<span class="sourceLineNo">397</span>    // should we check encryption settings at master side, default true<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    this.masterCheckEncryption = conf.getBoolean("hbase.master.check.encryption", true);<a name="line.398"></a>
 <span class="sourceLineNo">399</span><a name="line.399"></a>
-<span class="sourceLineNo">400</span>    // preload table descriptor at startup<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    this.preLoadTableDescriptors = conf.getBoolean("hbase.master.preload.tabledescriptors", true);<a name="line.401"></a>
-<span class="sourceLineNo">402</span><a name="line.402"></a>
-<span class="sourceLineNo">403</span>    // Do we publish the status?<a name="line.403"></a>
+<span class="sourceLineNo">400</span>    this.metricsMaster = new MetricsMaster(new MetricsMasterWrapperImpl(this));<a name="line.400"></a>
+<span class="sourceLineNo">401</span><a name="line.401"></a>
+<span class="sourceLineNo">402</span>    // preload table descriptor at startup<a name="line.402"></a>
+<span class="sourceLineNo">403</span>    this.preLoadTableDescriptors = conf.getBoolean("hbase.master.preload.tabledescriptors", true);<a name="line.403"></a>
 <span class="sourceLineNo">404</span><a name="line.404"></a>
-<span class="sourceLineNo">405</span>    boolean shouldPublish = conf.getBoolean(HConstants.STATUS_PUBLISHED,<a name="line.405"></a>
-<span class="sourceLineNo">406</span>        HConstants.STATUS_PUBLISHED_DEFAULT);<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    Class&lt;? extends ClusterStatusPublisher.Publisher&gt; publisherClass =<a name="line.407"></a>
-<span class="sourceLineNo">408</span>        conf.getClass(ClusterStatusPublisher.STATUS_PUBLISHER_CLASS,<a name="line.408"></a>
-<span class="sourceLineNo">409</span>            ClusterStatusPublisher.DEFAULT_STATUS_PUBLISHER_CLASS,<a name="line.409"></a>
-<span class="sourceLineNo">410</span>            ClusterStatusPublisher.Publisher.class);<a name="line.410"></a>
-<span class="sourceLineNo">411</span><a name="line.411"></a>
-<span class="sourceLineNo">412</span>    if (shouldPublish) {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      if (publisherClass == null) {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>        LOG.warn(HConstants.STATUS_PUBLISHED + " is true, but " +<a name="line.414"></a>
-<span class="sourceLineNo">415</span>            ClusterStatusPublisher.DEFAULT_STATUS_PUBLISHER_CLASS +<a name="line.415"></a>
-<span class="sourceLineNo">416</span>            " is not set - not publishing status");<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      } else {<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        clusterStatusPublisherChore = new ClusterStatusPublisher(this, conf, publisherClass);<a name="line.418"></a>
-<span class="sourceLineNo">419</span>        getChoreService().scheduleChore(clusterStatusPublisherChore);<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>    // Some unit tests don't need a cluster, so no zookeeper at all<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    if (!conf.getBoolean("hbase.testing.nocluster", false)) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      activeMasterManager = new ActiveMasterManager(zooKeeper, this.serverName, this);<a name="line.425"></a>
-<span class="sourceLineNo">426</span>      int infoPort = putUpJettyServer();<a name="line.426"></a>
-<span class="sourceLineNo">427</span>      startActiveMasterManager(infoPort);<a name="line.427"></a>
-<span class="sourceLineNo">428</span>    } else {<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      activeMasterManager = null;<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>  // return the actual infoPort, -1 means disable info server.<a name="line.433"></a>
-<span class="sourceLineNo">434</span>  private int putUpJettyServer() throws IOException {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>    if (!conf.getBoolean("hbase.master.infoserver.redirect", true)) {<a name="line.435"></a>
-<span class="sourceLineNo">436</span>      return -1;<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    }<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    int infoPort = conf.getInt("hbase.master.info.port.orig",<a name="line.438"></a>
-<span class="sourceLineNo">439</span>      HConstants.DEFAULT_MASTER_INFOPORT);<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    // -1 is for disabling info server, so no redirecting<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    if (infoPort &lt; 0 || infoServer == null) {<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      return -1;<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    }<a name="line.443"></a>
-<span class="sourceLineNo">444</span>    String addr = conf.get("hbase.master.info.bindAddress", "0.0.0.0");<a name="line.444"></a>
-<span class="sourceLineNo">445</span>    if (!Addressing.isLocalAddress(InetAddress.getByName(addr))) {<a name="line.445"></a>
-<span class="sourceLineNo">446</span>      String msg =<a name="line.446"></a>
-<span class="sourceLineNo">447</span>          "Failed to start redirecting jetty server. Address " + addr<a name="line.447"></a>
-<span class="sourceLineNo">448</span>              + " does not belong to this host. Correct configuration parameter: "<a name="line.448"></a>
-<span class="sourceLineNo">449</span>              + "hbase.master.info.bindAddress";<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      LOG.error(msg);<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      throw new IOException(msg);<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>    RedirectServlet.regionServerInfoPort = infoServer.getPort();<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    if(RedirectServlet.regionServerInfoPort == infoPort) {<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      return infoPort;<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    }<a name="line.457"></a>
-<span class="sourceLineNo">458</span>    masterJettyServer = new org.mortbay.jetty.Server();<a name="line.458"></a>
-<span class="sourceLineNo">459</span>    Connector connector = new SelectChannelConnector();<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    connector.setHost(addr);<a name="line.460"></a>
-<span class="sourceLineNo">461</span>    connector.setPort(infoPort);<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    masterJettyServer.addConnector(connector);<a name="line.462"></a>
-<span class="sourceLineNo">463</span>    masterJettyServer.setStopAtShutdown(true);<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    Context context = new Context(masterJettyServer, "/", Context.NO_SESSIONS);<a name="line.464"></a>
-<span class="sourceLineNo">465</span>    context.addServlet(RedirectServlet.class, "/*");<a name="line.465"></a>
-<span class="sourceLineNo">466</span>    try {<a name="line.466"></a>
-<span class="sourceLineNo">467</span>      masterJettyServer.start();<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    } catch (Exception e) {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      throw new IOException("Failed to start redirecting jetty server", e);<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    }<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    return connector.getLocalPort();<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>  @Override<a name="line.474"></a>
-<span class="sourceLineNo">475</span>  protected TableDescriptors getFsTableDescriptors() throws IOException {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>    return super.getFsTableDescriptors();<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>   * For compatibility, if failed with regionserver credentials, try the master one<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   */<a name="line.481"></a>
-<span class="sourceLineNo">482</span>  @Override<a name="line.482"></a>
-<span class="sourceLineNo">483</span>  protected void login(UserProvider user, String host) throws IOException {<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    try {<a name="line.484"></a>
-<span class="sourceLineNo">485</span>      super.login(user, host);<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    } catch (IOException ie) {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      user.login("hbase.master.keytab.file",<a name="line.487"></a>
-<span class="sourceLineNo">488</span>        "hbase.master.kerberos.principal", host);<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    }<a name="line.489"></a>
-<span class="sourceLineNo">490</span>  }<a name="line.490"></a>
-<span class="sourceLineNo">491</span><a name="line.491"></a>
-<span class="sourceLineNo">492</span>  /**<a name="line.492"></a>
-<span class="sourceLineNo">493</span>   * If configured to put regions on active master,<a name="line.493"></a>
-<span class="sourceLineNo">494</span>   * wait till a backup master becomes active.<a name="line.494"></a>
-<span class="sourceLineNo">495</span>   * Otherwise, loop till the server is stopped or aborted.<a name="line.495"></a>
-<span class="sourceLineNo">496</span>   */<a name="line.496"></a>
-<span class="sourceLineNo">497</span>  @Override<a name="line.497"></a>
-<span class="sourceLineNo">498</span>  protected void waitForMasterActive(){<a name="line.498"></a>
-<span class="sourceLineNo">499</span>    boolean tablesOnMaster = BaseLoadBalancer.tablesOnMaster(conf);<a name="line.499"></a>
-<span class="sourceLineNo">500</span>    while (!(tablesOnMaster &amp;&amp; isActiveMaster)<a name="line.500"></a>
-<span class="sourceLineNo">501</span>        &amp;&amp; !isStopped() &amp;&amp; !isAborted()) {<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      sleeper.sleep();<a name="line.502"></a>
-<span class="sourceLineNo">503</span>    }<a name="line.503"></a>
-<span class="sourceLineNo">504</span>  }<a name="line.504"></a>
-<span class="sourceLineNo">505</span><a name="line.505"></a>
-<span class="sourceLineNo">506</span>  @VisibleForTesting<a name="line.506"></a>
-<span class="sourceLineNo">507</span>  public MasterRpcServices getMasterRpcServices() {<a name="line.507"></a>
-<span class="sourceLineNo">508</span>    return (MasterRpcServices)rpcServices;<a name="line.508"></a>
-<span class="sourceLineNo">509</span>  }<a name="line.509"></a>
-<span class="sourceLineNo">510</span><a name="line.510"></a>
-<span class="sourceLineNo">511</span>  public boolean balanceSwitch(final boolean b) throws IOException {<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    return getMasterRpcServices().switchBalancer(b, BalanceSwitchMode.ASYNC);<a name="line.512"></a>
-<span class="sourceLineNo">513</span>  }<a name="line.513"></a>
-<span class="sourceLineNo">514</span><a name="line.514"></a>
-<span class="sourceLineNo">515</span>  @Override<a name="line.515"></a>
-<span class="sourceLineNo">516</span>  protected String getProcessName() {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    return MASTER;<a name="line.517"></a>
-<span class="sourceLineNo">518</span>  }<a name="line.518"></a>
-<span class="sourceLineNo">519</span><a name="line.519"></a>
-<span class="sourceLineNo">520</span>  @Override<a name="line.520"></a>
-<span class="sourceLineNo">521</span>  protected boolean canCreateBaseZNode() {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    return true;<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>  @Override<a name="line.525"></a>
-<span class="sourceLineNo">526</span>  protected boolean canUpdateTableDescriptor() {<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    return true;<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>  @Override<a name="line.530"></a>
-<span class="sourceLineNo">531</span>  protected RSRpcServices createRpcServices() throws IOException {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    return new MasterRpcServices(this);<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>  @Override<a name="line.535"></a>
-<span class="sourceLineNo">536</span>  protected void configureInfoServer() {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>    infoServer.addServlet("master-status", "/master-status", MasterStatusServlet.class);<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    infoServer.setAttribute(MASTER, this);<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    if (BaseLoadBalancer.tablesOnMaster(conf)) {<a name="line.539"></a>
-<span class="sourceLineNo">540</span>      super.configureInfoServer();<a name="line.540"></a>
-<span class="sourceLineNo">541</span>    }<a name="line.541"></a>
-<span class="sourceLineNo">542</span>  }<a name="line.542"></a>
-<span class="sourceLineNo">543</span><a name="line.543"></a>
-<span class="sourceLineNo">544</span>  @Override<a name="line.544"></a>
-<span class="sourceLineNo">545</span>  protected Class&lt;? extends HttpServlet&gt; getDumpServlet() {<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    return MasterDumpServlet.class;<a name="line.546"></a>
-<span class="sourceLineNo">547</span>  }<a name="line.547"></a>
-<span class="sourceLineNo">548</span><a name="line.548"></a>
-<span class="sourceLineNo">549</span>  /**<a name="line.549"></a>
-<span class="sourceLineNo">550</span>   * Emit the HMaster metrics, such as region in transition metrics.<a name="line.550"></a>
-<span class="sourceLineNo">551</span>   * Surrounding in a try block just to be sure metrics doesn't abort HMaster.<a name="line.551"></a>
-<span class="sourceLineNo">552</span>   */<a name="line.552"></a>
-<span class="sourceLineNo">553</span>  @Override<a name="line.553"></a>
-<span class="sourceLineNo">554</span>  protected void doMetrics() {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>    try {<a name="line.555"></a>
-<span class="sourceLineNo">556</span>      if (assignmentManager != null) {<a name="line.556"></a>
-<span class="sourceLineNo">557</span>        assignmentManager.updateRegionsInTransitionMetrics();<a name="line.557"></a>
-<span class="sourceLineNo">558</span>      }<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    } catch (Throwable e) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      LOG.error("Couldn't update metrics: " + e.getMessage());<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    }<a name="line.561"></a>
-<span class="sourceLineNo">562</span>  }<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span>  MetricsMaster getMasterMetrics() {<a name="line.564"></a>
-<span class="sourceLineNo">565</span>    return metricsMaster;<a name="line.565"></a>
-<span class="sourceLineNo">566</span>  }<a name="line.566"></a>
-<span class="sourceLineNo">567</span><a name="line.567"></a>
-<span class="sourceLineNo">568</span>  /**<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * Initialize all ZK based system trackers.<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   */<a name="line.570"></a>
-<span class="sourceLineNo">571</span>  void initializeZKBasedSystemTrackers() throws IOException,<a name="line.571"></a>
-<span class="sourceLineNo">572</span>      InterruptedException, KeeperException, CoordinatedStateException {<a name="line.572"></a>
-<span class="sourceLineNo">573</span>    this.balancer = LoadBalancerFactory.getLoadBalancer(conf);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    this.normalizer = RegionNormalizerFactory.getRegionNormalizer(conf);<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    this.normalizer.setMasterServices(this);<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    this.loadBalancerTracker = new LoadBalancerTracker(zooKeeper, this);<a name="line.576"></a>
-<span class="sourceLineNo">577</span>    this.loadBalancerTracker.start();<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    this.regionNormalizerTracker = new RegionNormalizerTracker(zooKeeper, this);<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    this.regionNormalizerTracker.start();<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    this.assignmentManager = new AssignmentManager(this, serverManager,<a name="line.580"></a>
-<span class="sourceLineNo">581</span>      this.balancer, this.service, this.metricsMaster,<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      this.tableLockManager, tableStateManager);<a name="line.582"></a>
-<span class="sourceLineNo">583</span><a name="line.583"></a>
-<span class="sourceLineNo">584</span>    this.regionServerTracker = new RegionServerTracker(zooKeeper, this, this.serverManager);<a name="line.584"></a>
-<span class="sourceLineNo">585</span>    this.regionServerTracker.start();<a name="line.585"></a>
-<span class="sourceLineNo">586</span><a name="line.586"></a>
-<span class="sourceLineNo">587</span>    this.drainingServerTracker = new DrainingServerTracker(zooKeeper, this, this.serverManager);<a name="line.587"></a>
-<span class="sourceLineNo">588</span>    this.drainingServerTracker.start();<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span>    // Set the cluster as up.  If new RSs, they'll be waiting on this before<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    // going ahead with their startup.<a name="line.591"></a>
-<span class="sourceLineNo">592</span>    boolean wasUp = this.clusterStatusTracker.isClusterUp();<a name="line.592"></a>
-<span class="sourceLineNo">593</span>    if (!wasUp) this.clusterStatusTracker.setClusterUp();<a name="line.593"></a>
-<span class="sourceLineNo">594</span><a name="line.594"></a>
-<span class="sourceLineNo">595</span>    LOG.info("Server active/primary master=" + this.serverName +<a name="line.595"></a>
-<span class="sourceLineNo">596</span>        ", sessionid=0x" +<a name="line.596"></a>
-<span class="sourceLineNo">597</span>        Long.toHexString(this.zooKeeper.getRecoverableZooKeeper().getSessionId()) +<a name="line.597"></a>
-<span class="sourceLineNo">598</span>        ", setting cluster-up flag (Was=" + wasUp + ")");<a name="line.598"></a>
-<span class="sourceLineNo">599</span><a name="line.599"></a>
-<span class="sourceLineNo">600</span>    // create/initialize the snapshot manager and other procedure managers<a name="line.600"></a>
-<span class="sourceLineNo">601</span>    this.snapshotManager = new SnapshotManager();<a name="line.601"></a>
-<span class="sourceLineNo">602</span>    this.mpmHost = new MasterProcedureManagerHost();<a name="line.602"></a>
-<span class="sourceLineNo">603</span>    this.mpmHost.register(this.snapshotManager);<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    this.mpmHost.register(new MasterFlushTableProcedureManager());<a name="line.604"></a>
-<span class="sourceLineNo">605</span>    this.mpmHost.loadProcedures(conf);<a name="line.605"></a>
-<span class="sourceLineNo">606</span>    this.mpmHost.initialize(this, this.metricsMaster);<a name="line.606"></a>
-<span class="sourceLineNo">607</span><a name="line.607"></a>
-<span class="sourceLineNo">608</span>  }<a name="line.608"></a>
+<span class="sourceLineNo">405</span>    // Do we publish the status?<a name="line.405"></a>
+<span class="sourceLineNo">406</span><a name="line.406"></a>
+<span class="sourceLineNo">407</span>    boolean shouldPublish = conf.getBoolean(HConstants.STATUS_PUBLISHED,<a name="line.407"></a>
+<span class="sourceLineNo">408</span>        HConstants.STATUS_PUBLISHED_DEFAULT);<a name="line.408"></a>
+<span class="sourceLineNo">409</span>    Class&lt;? extends ClusterStatusPublisher.Publisher&gt; publisherClass =<a name="line.409"></a>
+<span class="sourceLineNo">410</span>        conf.getClass(ClusterStatusPublisher.STATUS_PUBLISHER_CLASS,<a name="line.410"></a>
+<span class="sourceLineNo">411</span>            ClusterStatusPublisher.DEFAULT_STATUS_PUBLISHER_CLASS,<a name="line.411"></a>
+<span class="sourceLineNo">412</span>            ClusterStatusPublisher.Publisher.class);<a name="line.412"></a>
+<span class="sourceLineNo">413</span><a name="line.413"></a>
+<span class="sourceLineNo">414</span>    if (shouldPublish) {<a name="line.414"></a>
+<span class="sourceLineNo">415</span>      if (publisherClass == null) {<a name="line.415"></a>
+<span class="sourceLineNo">416</span>        LOG.warn(HConstants.STATUS_PUBLISHED + " is true, but " +<a name="line.416"></a>
+<span class="sourceLineNo">417</span>            ClusterStatusPublisher.DEFAULT_STATUS_PUBLISHER_CLASS +<a name="line.417"></a>
+<span class="sourceLineNo">418</span>            " is not set - not publishing status");<a name="line.418"></a>
+<span class="sourceLineNo">419</span>      } else {<a name="line.419"></a>
+<span class="sourceLineNo">420</span>        clusterStatusPublisherChore = new ClusterStatusPublisher(this, conf, publisherClass);<a name="line.420"></a>
+<span class="sourceLineNo">421</span>        getChoreService().scheduleChore(clusterStatusPublisherChore);<a name="line.421"></a>
+<span class="sourceLineNo">422</span>      }<a name="line.422"></a>
+<span class="sourceLineNo">423</span>    }<a name="line.423"></a>
+<span class="sourceLineNo">424</span><a name="line.424"></a>
+<span class="sourceLineNo">425</span>    // Some unit tests don't need a cluster, so no zookeeper at all<a name="line.425"></a>
+<span class="sourceLineNo">426</span>    if (!conf.getBoolean("hbase.testing.nocluster", false)) {<a name="line.426"></a>
+<span class="sourceLineNo">427</span>      activeMasterManager = new ActiveMasterManager(zooKeeper, this.serverName, this);<a name="line.427"></a>
+<span class="sourceLineNo">428</span>      int infoPort = putUpJettyServer();<a name="line.428"></a>
+<span class="sourceLineNo">429</span>      startActiveMasterManager(infoPort);<a name="line.429"></a>
+<span class="sourceLineNo">430</span>    } else {<a name="line.430"></a>
+<span class="sourceLineNo">431</span>      activeMasterManager = null;<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>  // return the actual infoPort, -1 means disable info server.<a name="line.435"></a>
+<span class="sourceLineNo">436</span>  private int putUpJettyServer() throws IOException {<a name="line.436"></a>
+<span class="sourceLineNo">437</span>    if (!conf.getBoolean("hbase.master.infoserver.redirect", true)) {<a name="line.437"></a>
+<span class="sourceLineNo">438</span>      return -1;<a name="line.438"></a>
+<span class="sourceLineNo">439</span>    }<a name="line.439"></a>
+<span class="sourceLineNo">440</span>    int infoPort = conf.getInt("hbase.master.info.port.orig",<a name="line.440"></a>
+<span class="sourceLineNo">441</span>      HConstants.DEFAULT_MASTER_INFOPORT);<a name="line.441"></a>
+<span class="sourceLineNo">442</span>    // -1 is for disabling info server, so no redirecting<a name="line.442"></a>
+<span class="sourceLineNo">443</span>    if (infoPort &lt; 0 || infoServer == null) {<a name="line.443"></a>
+<span class="sourceLineNo">444</span>      return -1;<a name="line.444"></a>
+<span class="sourceLineNo">445</span>    }<a name="line.445"></a>
+<span class="sourceLineNo">446</span>    String addr = conf.get("hbase.master.info.bindAddress", "0.0.0.0");<a name="line.446"></a>
+<span class="sourceLineNo">447</span>    if (!Addressing.isLocalAddress(InetAddress.getByName(addr))) {<a name="line.447"></a>
+<span class="sourceLineNo">448</span>      String msg =<a name="line.448"></a>
+<span class="sourceLineNo">449</span>          "Failed to start redirecting jetty server. Address " + addr<a name="line.449"></a>
+<span class="sourceLineNo">450</span>              + " does not belong to this host. Correct configuration parameter: "<a name="line.450"></a>
+<span class="sourceLineNo">451</span>              + "hbase.master.info.bindAddress";<a name="line.451"></a>
+<span class="sourceLineNo">452</span>      LOG.error(msg);<a name="line.452"></a>
+<span class="sourceLineNo">453</span>      throw new IOException(msg);<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>    RedirectServlet.regionServerInfoPort = infoServer.getPort();<a name="line.456"></a>
+<span class="sourceLineNo">457</span>    if(RedirectServlet.regionServerInfoPort == infoPort) {<a name="line.457"></a>
+<span class="sourceLineNo">458</span>      return infoPort;<a name="line.458"></a>
+<span class="sourceLineNo">459</span>    }<a name="line.459"></a>
+<span class="sourceLineNo">460</span>    masterJettyServer = new org.mortbay.jetty.Server();<a name="line.460"></a>
+<span class="sourceLineNo">461</span>    Connector connector = new SelectChannelConnector();<a name="line.461"></a>
+<span class="sourceLineNo">462</span>    connector.setHost(addr);<a name="line.462"></a>
+<span class="sourceLineNo">463</span>    connector.setPort(infoPort);<a name="line.463"></a>
+<span class="sourceLineNo">464</span>    masterJettyServer.addConnector(connector);<a name="line.464"></a>
+<span class="sourceLineNo">465</span>    masterJettyServer.setStopAtShutdown(true);<a name="line.465"></a>
+<span class="sourceLineNo">466</span>    Context context = new Context(masterJettyServer, "/", Context.NO_SESSIONS);<a name="line.466"></a>
+<span cl

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html
new file mode 100644
index 0000000..a381955
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html
@@ -0,0 +1,408 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MasterProcedureScheduler.QueueImpl (Apache HBase 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="MasterProcedureScheduler.QueueImpl (Apache HBase 2.0.0-SNAPSHOT API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MasterProcedureScheduler.QueueImpl.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.QueueImpl.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.hadoop.hbase.master.procedure</div>
+<h2 title="Class MasterProcedureScheduler.QueueImpl" class="title">Class MasterProcedureScheduler.QueueImpl&lt;TKey extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;TKey&gt;&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue</a>&lt;TKey&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.QueueImpl&lt;TKey&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueInterface</a></dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ServerQueue</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.TableQueue</a></dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></dd>
+</dl>
+<hr>
+<br>
+<pre>private abstract static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.1101">MasterProcedureScheduler.QueueImpl</a>&lt;TKey extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;TKey&gt;&gt;
+extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;TKey&gt;</pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/ArrayDeque.html?is-external=true" title="class or interface in java.util">ArrayDeque</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#runnables">runnables</a></strong></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#MasterProcedureScheduler.QueueImpl(TKey)">MasterProcedureScheduler.QueueImpl</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="type parameter in MasterProcedureScheduler.QueueImpl">TKey</a>&nbsp;key)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#MasterProcedureScheduler.QueueImpl(TKey,%20int)">MasterProcedureScheduler.QueueImpl</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="type parameter in MasterProcedureScheduler.QueueImpl">TKey</a>&nbsp;key,
+                                                                    int&nbsp;priority)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#add(org.apache.hadoop.hbase.procedure2.Procedure,%20boolean)">add</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc,
+      boolean&nbsp;addToFront)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#addBack(org.apache.hadoop.hbase.procedure2.Procedure)">addBack</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#addFront(org.apache.hadoop.hbase.procedure2.Procedure)">addFront</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#isEmpty()">isEmpty</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#poll()">poll</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#size()">size</a></strong>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#acquireDeleteLock()">acquireDeleteLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#compareKey(TKey)">compareKey</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#compareTo(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">compareTo</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#getKey()">getKey</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#getPriority()">getPriority</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#hasExclusiveLock()">hasExclusiveLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Q
 ueue.html#isAvailable()">isAvailable</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#isLocked()">isLocked</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#isSingleSharedLock()">isSingleSharedLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#isSuspended()">isSuspended</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#releaseExclusiveLock()">releaseExclusiveLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#releaseSharedLock()">releaseSharedLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#setSuspended(boolean)">setSuspended</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler
 .Queue.html#toString()">toString</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#tryExclusiveLock()">tryExclusiveLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#trySharedLock()">trySharedLock</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang
 /Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.QueueInterface">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueInterface</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html#requireExclusiveLock(org.apache.hadoop.hbase.procedure2.Procedure)">requireExclusiveLock</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="runnables">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>runnables</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/ArrayDeque.html?is-external=true" title="class or interface in java.util">ArrayDeque</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#line.1102">runnables</a></pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="MasterProcedureScheduler.QueueImpl(java.lang.Comparable)">
+<!--   -->
+</a><a name="MasterProcedureScheduler.QueueImpl(TKey)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>MasterProcedureScheduler.QueueImpl</h4>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#line.1104">MasterProcedureScheduler.QueueImpl</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="type parameter in MasterProcedureScheduler.QueueImpl">TKey</a>&nbsp;key)</pre>
+</li>
+</ul>
+<a name="MasterProcedureScheduler.QueueImpl(java.lang.Comparable,int)">
+<!--   -->
+</a><a name="MasterProcedureScheduler.QueueImpl(TKey, int)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MasterProcedureScheduler.QueueImpl</h4>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#line.1108">MasterProcedureScheduler.QueueImpl</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="type parameter in MasterProcedureScheduler.QueueImpl">TKey</a>&nbsp;key,
+                                  int&nbsp;priority)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="add(org.apache.hadoop.hbase.procedure2.Procedure, boolean)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>add</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#line.1112">add</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc,
+       boolean&nbsp;addToFront)</pre>
+</li>
+</ul>
+<a name="addFront(org.apache.hadoop.hbase.procedure2.Procedure)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addFront</h4>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#line.1120">addFront</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
+</li>
+</ul>
+<a name="addBack(org.apache.hadoop.hbase.procedure2.Procedure)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addBack</h4>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#line.1124">addBack</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
+</li>
+</ul>
+<a name="poll()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>poll</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#line.1129">poll</a>()</pre>
+</li>
+</ul>
+<a name="isEmpty()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isEmpty</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#line.1134">isEmpty</a>()</pre>
+</li>
+</ul>
+<a name="size()">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>size</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#line.1138">size</a>()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MasterProcedureScheduler.QueueImpl.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.QueueImpl.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html
new file mode 100644
index 0000000..b04e2e7
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html
@@ -0,0 +1,294 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MasterProcedureScheduler.QueueInterface (Apache HBase 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="MasterProcedureScheduler.QueueInterface (Apache HBase 2.0.0-SNAPSHOT API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MasterProcedureScheduler.QueueInterface.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.QueueInterface.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.hadoop.hbase.master.procedure</div>
+<h2 title="Interface MasterProcedureScheduler.QueueInterface" class="title">Interface MasterProcedureScheduler.QueueInterface</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.NamespaceQueue</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueImpl</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ServerQueue</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html" title="class in org.apache.hadoop.hbase.master.pr
 ocedure">MasterProcedureScheduler.TableQueue</a></dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></dd>
+</dl>
+<hr>
+<br>
+<pre>private static interface <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.980">MasterProcedureScheduler.QueueInterface</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html#add(org.apache.hadoop.hbase.procedure2.Procedure,%20boolean)">add</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc,
+      boolean&nbsp;addFront)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html#isAvailable()">isAvailable</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html#isEmpty()">isEmpty</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html#isSuspended()">isSuspended</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html#poll()">poll</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html#requireExclusiveLock(org.apache.hadoop.hbase.procedure2.Procedure)">requireExclusiveLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html#size()">size</a></strong>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="isAvailable()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isAvailable</h4>
+<pre>boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html#line.981">isAvailable</a>()</pre>
+</li>
+</ul>
+<a name="isEmpty()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isEmpty</h4>
+<pre>boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html#line.982">isEmpty</a>()</pre>
+</li>
+</ul>
+<a name="size()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>size</h4>
+<pre>int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html#line.983">size</a>()</pre>
+</li>
+</ul>
+<a name="add(org.apache.hadoop.hbase.procedure2.Procedure, boolean)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>add</h4>
+<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html#line.984">add</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc,
+       boolean&nbsp;addFront)</pre>
+</li>
+</ul>
+<a name="requireExclusiveLock(org.apache.hadoop.hbase.procedure2.Procedure)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>requireExclusiveLock</h4>
+<pre>boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html#line.985">requireExclusiveLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
+</li>
+</ul>
+<a name="poll()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>poll</h4>
+<pre><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html#line.986">poll</a>()</pre>
+</li>
+</ul>
+<a name="isSuspended()">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isSuspended</h4>
+<pre>boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html#line.988">isSuspended</a>()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MasterProcedureScheduler.QueueInterface.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.QueueInterface.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html
new file mode 100644
index 0000000..0bf74c1
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html
@@ -0,0 +1,288 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MasterProcedureScheduler.ServerQueue (Apache HBase 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="MasterProcedureScheduler.ServerQueue (Apache HBase 2.0.0-SNAPSHOT API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MasterProcedureScheduler.ServerQueue.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.ServerQueue.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.hadoop.hbase.master.procedure</div>
+<h2 title="Class MasterProcedureScheduler.ServerQueue" class="title">Class MasterProcedureScheduler.ServerQueue</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue</a>&lt;TKey&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="class in org.apache.hadoop.hbase.master.procedure">org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.QueueImpl</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ServerQueue</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueInterface</a></dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.571">MasterProcedureScheduler.ServerQueue</a>
+extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueImpl</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html#MasterProcedureScheduler.ServerQueue(org.apache.hadoop.hbase.ServerName)">MasterProcedureScheduler.ServerQueue</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html#requireExclusiveLock(org.apache.hadoop.hbase.procedure2.Procedure)">requireExclusiveLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.QueueImpl">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueImpl</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#add(org.apache.hadoop.hbase.procedure2.Procedure,%20boolean)">add</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#addBack(org.apache.hadoop.hbase.procedure2.Procedure)">addBack</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#addFront(org.apache.hadoop.hbase.procedure2.Procedure)">addFront</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#isEmpty()">isEmpty</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#poll()">poll</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#size()">size</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#acquireDeleteLock()">acquireDeleteLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#compareKey(TKey)">compareKey</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#compareTo(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">compareTo</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#getKey()">getKey</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#getPriority()">getPriority</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#hasExclusiveLock()">hasExclusiveLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Q
 ueue.html#isAvailable()">isAvailable</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#isLocked()">isLocked</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#isSingleSharedLock()">isSingleSharedLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#isSuspended()">isSuspended</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#releaseExclusiveLock()">releaseExclusiveLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#releaseSharedLock()">releaseSharedLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#setSuspended(boolean)">setSuspended</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler
 .Queue.html#toString()">toString</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#tryExclusiveLock()">tryExclusiveLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#trySharedLock()">trySharedLock</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang
 /Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="MasterProcedureScheduler.ServerQueue(org.apache.hadoop.hbase.ServerName)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MasterProcedureScheduler.ServerQueue</h4>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html#line.572">MasterProcedureScheduler.ServerQueue</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="requireExclusiveLock(org.apache.hadoop.hbase.procedure2.Procedure)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>requireExclusiveLock</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html#line.576">requireExclusiveLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MasterProcedureScheduler.ServerQueue.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.ServerQueue.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/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 e81a3ca..a9efec4 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.html
@@ -112,2687 +112,2704 @@
 <span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.master.procedure.EnableTableProcedure;<a name="line.104"></a>
 <span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureConstants;<a name="line.105"></a>
 <span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.master.procedure.ModifyColumnFamilyProcedure;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.master.procedure.ModifyTableProcedure;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.master.procedure.ProcedurePrepareLatch;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.master.procedure.ProcedureSyncWait;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.master.procedure.TruncateTableProcedure;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.master.snapshot.SnapshotManager;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.mob.MobConstants;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.monitoring.MemoryBoundedLogMessageBuffer;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.normalizer.NormalizationPlan;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.normalizer.NormalizationPlan.PlanType;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.procedure.MasterProcedureManagerHost;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.procedure.flush.MasterFlushTableProcedureManager;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionServerInfo;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitLogTask.RecoveryMode;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.quotas.MasterQuotaManager;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.regionserver.DefaultStoreEngine;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.regionserver.HRegionServer;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.regionserver.HStore;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.regionserver.RSRpcServices;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.regionserver.RegionSplitPolicy;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.regionserver.compactions.ExploringCompactionPolicy;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.regionserver.compactions.FIFOCompactionPolicy;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.replication.regionserver.Replication;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.util.Addressing;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.util.HFileArchiveUtil;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.util.HasThread;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.util.IdLock;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.util.ModifyRegionUtils;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.util.VersionInfo;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.util.ZKDataMigrator;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.zookeeper.DrainingServerTracker;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.zookeeper.LoadBalancerTracker;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.zookeeper.MasterAddressTracker;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.zookeeper.MetaTableLocator;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.zookeeper.RegionNormalizerTracker;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.zookeeper.RegionServerTracker;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.zookeeper.ZKClusterId;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.zookeeper.ZKUtil;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.zookeeper.KeeperException;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.mortbay.jetty.Connector;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.mortbay.jetty.nio.SelectChannelConnector;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.mortbay.jetty.servlet.Context;<a name="line.162"></a>
-<span class="sourceLineNo">163</span><a name="line.163"></a>
-<span class="sourceLineNo">164</span>import com.google.common.annotations.VisibleForTesting;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import com.google.common.collect.Maps;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import com.google.protobuf.Descriptors;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import com.google.protobuf.Service;<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> * HMaster is the "master server" for HBase. An HBase cluster has one active<a name="line.170"></a>
-<span class="sourceLineNo">171</span> * master.  If many masters are started, all compete.  Whichever wins goes on to<a name="line.171"></a>
-<span class="sourceLineNo">172</span> * run the cluster.  All others park themselves in their constructor until<a name="line.172"></a>
-<span class="sourceLineNo">173</span> * master or cluster shutdown or until the active master loses its lease in<a name="line.173"></a>
-<span class="sourceLineNo">174</span> * zookeeper.  Thereafter, all running master jostle to take over master role.<a name="line.174"></a>
-<span class="sourceLineNo">175</span> *<a name="line.175"></a>
-<span class="sourceLineNo">176</span> * &lt;p&gt;The Master can be asked shutdown the cluster. See {@link #shutdown()}.  In<a name="line.176"></a>
-<span class="sourceLineNo">177</span> * this case it will tell all regionservers to go down and then wait on them<a name="line.177"></a>
-<span class="sourceLineNo">178</span> * all reporting in that they are down.  This master will then shut itself down.<a name="line.178"></a>
-<span class="sourceLineNo">179</span> *<a name="line.179"></a>
-<span class="sourceLineNo">180</span> * &lt;p&gt;You can also shutdown just this master.  Call {@link #stopMaster()}.<a name="line.180"></a>
-<span class="sourceLineNo">181</span> *<a name="line.181"></a>
-<span class="sourceLineNo">182</span> * @see org.apache.zookeeper.Watcher<a name="line.182"></a>
-<span class="sourceLineNo">183</span> */<a name="line.183"></a>
-<span class="sourceLineNo">184</span>@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.TOOLS)<a name="line.184"></a>
-<span class="sourceLineNo">185</span>@SuppressWarnings("deprecation")<a name="line.185"></a>
-<span class="sourceLineNo">186</span>public class HMaster extends HRegionServer implements MasterServices {<a name="line.186"></a>
-<span class="sourceLineNo">187</span>  private static final Log LOG = LogFactory.getLog(HMaster.class.getName());<a name="line.187"></a>
-<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span>  /**<a name="line.189"></a>
-<span class="sourceLineNo">190</span>   * Protection against zombie master. Started once Master accepts active responsibility and<a name="line.190"></a>
-<span class="sourceLineNo">191</span>   * starts taking over responsibilities. Allows a finite time window before giving up ownership.<a name="line.191"></a>
-<span class="sourceLineNo">192</span>   */<a name="line.192"></a>
-<span class="sourceLineNo">193</span>  private static class InitializationMonitor extends HasThread {<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    /** The amount of time in milliseconds to sleep before checking initialization status. */<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    public static final String TIMEOUT_KEY = "hbase.master.initializationmonitor.timeout";<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    public static final long TIMEOUT_DEFAULT = TimeUnit.MILLISECONDS.convert(15, TimeUnit.MINUTES);<a name="line.196"></a>
-<span class="sourceLineNo">197</span><a name="line.197"></a>
-<span class="sourceLineNo">198</span>    /**<a name="line.198"></a>
-<span class="sourceLineNo">199</span>     * When timeout expired and initialization has not complete, call {@link System#exit(int)} when<a name="line.199"></a>
-<span class="sourceLineNo">200</span>     * true, do nothing otherwise.<a name="line.200"></a>
-<span class="sourceLineNo">201</span>     */<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    public static final String HALT_KEY = "hbase.master.initializationmonitor.haltontimeout";<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    public static final boolean HALT_DEFAULT = false;<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>    private final HMaster master;<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    private final long timeout;<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    private final boolean haltOnTimeout;<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>    /** Creates a Thread that monitors the {@link #isInitialized()} state. */<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    InitializationMonitor(HMaster master) {<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      super("MasterInitializationMonitor");<a name="line.211"></a>
-<span class="sourceLineNo">212</span>      this.master = master;<a name="line.212"></a>
-<span class="sourceLineNo">213</span>      this.timeout = master.getConfiguration().getLong(TIMEOUT_KEY, TIMEOUT_DEFAULT);<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      this.haltOnTimeout = master.getConfiguration().getBoolean(HALT_KEY, HALT_DEFAULT);<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      this.setDaemon(true);<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>    @Override<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    public void run() {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      try {<a name="line.220"></a>
-<span class="sourceLineNo">221</span>        while (!master.isStopped() &amp;&amp; master.isActiveMaster()) {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>          Thread.sleep(timeout);<a name="line.222"></a>
-<span class="sourceLineNo">223</span>          if (master.isInitialized()) {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>            LOG.debug("Initialization completed within allotted tolerance. Monitor exiting.");<a name="line.224"></a>
-<span class="sourceLineNo">225</span>          } else {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>            LOG.error("Master failed to complete initialization after " + timeout + "ms. Please"<a name="line.226"></a>
-<span class="sourceLineNo">227</span>                + " consider submitting a bug report including a thread dump of this process.");<a name="line.227"></a>
-<span class="sourceLineNo">228</span>            if (haltOnTimeout) {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>              LOG.error("Zombie Master exiting. Thread dump to stdout");<a name="line.229"></a>
-<span class="sourceLineNo">230</span>              Threads.printThreadInfo(System.out, "Zombie HMaster");<a name="line.230"></a>
-<span class="sourceLineNo">231</span>              System.exit(-1);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>            }<a name="line.232"></a>
-<span class="sourceLineNo">233</span>          }<a name="line.233"></a>
-<span class="sourceLineNo">234</span>        }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      } catch (InterruptedException ie) {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>        LOG.trace("InitMonitor thread interrupted. Existing.");<a name="line.236"></a>
-<span class="sourceLineNo">237</span>      }<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    }<a name="line.238"></a>
-<span class="sourceLineNo">239</span>  }<a name="line.239"></a>
-<span class="sourceLineNo">240</span><a name="line.240"></a>
-<span class="sourceLineNo">241</span>  // MASTER is name of the webapp and the attribute name used stuffing this<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  //instance into web context.<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  public static final String MASTER = "master";<a name="line.243"></a>
-<span class="sourceLineNo">244</span><a name="line.244"></a>
-<span class="sourceLineNo">245</span>  // Manager and zk listener for master election<a name="line.245"></a>
-<span class="sourceLineNo">246</span>  private final ActiveMasterManager activeMasterManager;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>  // Region server tracker<a name="line.247"></a>
-<span class="sourceLineNo">248</span>  RegionServerTracker regionServerTracker;<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  // Draining region server tracker<a name="line.249"></a>
-<span class="sourceLineNo">250</span>  private DrainingServerTracker drainingServerTracker;<a name="line.250"></a>
-<span class="sourceLineNo">251</span>  // Tracker for load balancer state<a name="line.251"></a>
-<span class="sourceLineNo">252</span>  LoadBalancerTracker loadBalancerTracker;<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>  // Tracker for region normalizer state<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  private RegionNormalizerTracker regionNormalizerTracker;<a name="line.255"></a>
-<span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span>  private ClusterSchemaService clusterSchemaService;<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>  // Metrics for the HMaster<a name="line.259"></a>
-<span class="sourceLineNo">260</span>  final MetricsMaster metricsMaster;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  // file system manager for the master FS operations<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  private MasterFileSystem fileSystemManager;<a name="line.262"></a>
-<span class="sourceLineNo">263</span><a name="line.263"></a>
-<span class="sourceLineNo">264</span>  // server manager to deal with region server info<a name="line.264"></a>
-<span class="sourceLineNo">265</span>  volatile ServerManager serverManager;<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>  // manager of assignment nodes in zookeeper<a name="line.267"></a>
-<span class="sourceLineNo">268</span>  AssignmentManager assignmentManager;<a name="line.268"></a>
-<span class="sourceLineNo">269</span><a name="line.269"></a>
-<span class="sourceLineNo">270</span>  // buffer for "fatal error" notices from region servers<a name="line.270"></a>
-<span class="sourceLineNo">271</span>  // in the cluster. This is only used for assisting<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  // operations/debugging.<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  MemoryBoundedLogMessageBuffer rsFatals;<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  // flag set after we become the active master (used for testing)<a name="line.275"></a>
-<span class="sourceLineNo">276</span>  private volatile boolean isActiveMaster = false;<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span>  // flag set after we complete initialization once active,<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  // it is not private since it's used in unit tests<a name="line.279"></a>
-<span class="sourceLineNo">280</span>  volatile boolean initialized = false;<a name="line.280"></a>
-<span class="sourceLineNo">281</span><a name="line.281"></a>
-<span class="sourceLineNo">282</span>  // flag set after master services are started,<a name="line.282"></a>
-<span class="sourceLineNo">283</span>  // initialization may have not completed yet.<a name="line.283"></a>
-<span class="sourceLineNo">284</span>  volatile boolean serviceStarted = false;<a name="line.284"></a>
-<span class="sourceLineNo">285</span><a name="line.285"></a>
-<span class="sourceLineNo">286</span>  // flag set after we complete assignMeta.<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  private volatile boolean serverCrashProcessingEnabled = false;<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span>  LoadBalancer balancer;<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  private RegionNormalizer normalizer;<a name="line.290"></a>
-<span class="sourceLineNo">291</span>  private BalancerChore balancerChore;<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  private RegionNormalizerChore normalizerChore;<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  private ClusterStatusChore clusterStatusChore;<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  private ClusterStatusPublisher clusterStatusPublisherChore = null;<a name="line.294"></a>
-<span class="sourceLineNo">295</span><a name="line.295"></a>
-<span class="sourceLineNo">296</span>  CatalogJanitor catalogJanitorChore;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>  private LogCleaner logCleaner;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>  private HFileCleaner hfileCleaner;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  private ExpiredMobFileCleanerChore expiredMobFileCleanerChore;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>  private MobCompactionChore mobCompactChore;<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  private MasterMobCompactionThread mobCompactThread;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  // used to synchronize the mobCompactionStates<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  private final IdLock mobCompactionLock = new IdLock();<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  // save the information of mob compactions in tables.<a name="line.304"></a>
-<span class="sourceLineNo">305</span>  // the key is table name, the value is the number of compactions in that table.<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  private Map&lt;TableName, AtomicInteger&gt; mobCompactionStates = Maps.newConcurrentMap();<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span>  MasterCoprocessorHost cpHost;<a name="line.308"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.master.procedure.ModifyColumnFamilyProcedure;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.master.procedure.ModifyTableProcedure;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.master.procedure.ProcedurePrepareLatch;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.master.procedure.ProcedureSyncWait;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.master.procedure.TruncateTableProcedure;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.master.snapshot.SnapshotManager;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.mob.MobConstants;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.monitoring.MemoryBoundedLogMessageBuffer;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.normalizer.NormalizationPlan;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.normalizer.NormalizationPlan.PlanType;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.procedure.MasterProcedureManagerHost;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.procedure.flush.MasterFlushTableProcedureManager;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionServerInfo;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitLogTask.RecoveryMode;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.quotas.MasterQuotaManager;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.regionserver.DefaultStoreEngine;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.regionserver.HRegionServer;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.regionserver.HStore;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.regionserver.RSRpcServices;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.regionserver.RegionSplitPolicy;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.regionserver.compactions.ExploringCompactionPolicy;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.regionserver.compactions.FIFOCompactionPolicy;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.replication.regionserver.Replication;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.util.Addressing;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.util.HFileArchiveUtil;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.util.HasThread;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.util.IdLock;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.util.ModifyRegionUtils;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.util.VersionInfo;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.util.ZKDataMigrator;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.zookeeper.DrainingServerTracker;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.zookeeper.LoadBalancerTracker;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.zookeeper.MasterAddressTracker;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.zookeeper.MetaTableLocator;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.zookeeper.RegionNormalizerTracker;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.zookeeper.RegionServerTracker;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.zookeeper.ZKClusterId;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.zookeeper.ZKUtil;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.zookeeper.KeeperException;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.mortbay.jetty.Connector;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.mortbay.jetty.nio.SelectChannelConnector;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.mortbay.jetty.servlet.Context;<a name="line.163"></a>
+<span class="sourceLineNo">164</span><a name="line.164"></a>
+<span class="sourceLineNo">165</span>import com.google.common.annotations.VisibleForTesting;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import com.google.common.collect.Maps;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import com.google.protobuf.Descriptors;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import com.google.protobuf.Service;<a name="line.168"></a>
+<span class="sourceLineNo">169</span><a name="line.169"></a>
+<span class="sourceLineNo">170</span>/**<a name="line.170"></a>
+<span class="sourceLineNo">171</span> * HMaster is the "master server" for HBase. An HBase cluster has one active<a name="line.171"></a>
+<span class="sourceLineNo">172</span> * master.  If many masters are started, all compete.  Whichever wins goes on to<a name="line.172"></a>
+<span class="sourceLineNo">173</span> * run the cluster.  All others park themselves in their constructor until<a name="line.173"></a>
+<span class="sourceLineNo">174</span> * master or cluster shutdown or until the active master loses its lease in<a name="line.174"></a>
+<span class="sourceLineNo">175</span> * zookeeper.  Thereafter, all running master jostle to take over master role.<a name="line.175"></a>
+<span class="sourceLineNo">176</span> *<a name="line.176"></a>
+<span class="sourceLineNo">177</span> * &lt;p&gt;The Master can be asked shutdown the cluster. See {@link #shutdown()}.  In<a name="line.177"></a>
+<span class="sourceLineNo">178</span> * this case it will tell all regionservers to go down and then wait on them<a name="line.178"></a>
+<span class="sourceLineNo">179</span> * all reporting in that they are down.  This master will then shut itself down.<a name="line.179"></a>
+<span class="sourceLineNo">180</span> *<a name="line.180"></a>
+<span class="sourceLineNo">181</span> * &lt;p&gt;You can also shutdown just this master.  Call {@link #stopMaster()}.<a name="line.181"></a>
+<span class="sourceLineNo">182</span> *<a name="line.182"></a>
+<span class="sourceLineNo">183</span> * @see org.apache.zookeeper.Watcher<a name="line.183"></a>
+<span class="sourceLineNo">184</span> */<a name="line.184"></a>
+<span class="sourceLineNo">185</span>@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.TOOLS)<a name="line.185"></a>
+<span class="sourceLineNo">186</span>@SuppressWarnings("deprecation")<a name="line.186"></a>
+<span class="sourceLineNo">187</span>public class HMaster extends HRegionServer implements MasterServices {<a name="line.187"></a>
+<span class="sourceLineNo">188</span>  private static final Log LOG = LogFactory.getLog(HMaster.class.getName());<a name="line.188"></a>
+<span class="sourceLineNo">189</span><a name="line.189"></a>
+<span class="sourceLineNo">190</span>  /**<a name="line.190"></a>
+<span class="sourceLineNo">191</span>   * Protection against zombie master. Started once Master accepts active responsibility and<a name="line.191"></a>
+<span class="sourceLineNo">192</span>   * starts taking over responsibilities. Allows a finite time window before giving up ownership.<a name="line.192"></a>
+<span class="sourceLineNo">193</span>   */<a name="line.193"></a>
+<span class="sourceLineNo">194</span>  private static class InitializationMonitor extends HasThread {<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    /** The amount of time in milliseconds to sleep before checking initialization status. */<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    public static final String TIMEOUT_KEY = "hbase.master.initializationmonitor.timeout";<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    public static final long TIMEOUT_DEFAULT = TimeUnit.MILLISECONDS.convert(15, TimeUnit.MINUTES);<a name="line.197"></a>
+<span class="sourceLineNo">198</span><a name="line.198"></a>
+<span class="sourceLineNo">199</span>    /**<a name="line.199"></a>
+<span class="sourceLineNo">200</span>     * When timeout expired and initialization has not complete, call {@link System#exit(int)} when<a name="line.200"></a>
+<span class="sourceLineNo">201</span>     * true, do nothing otherwise.<a name="line.201"></a>
+<span class="sourceLineNo">202</span>     */<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    public static final String HALT_KEY = "hbase.master.initializationmonitor.haltontimeout";<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    public static final boolean HALT_DEFAULT = false;<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>    private final HMaster master;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    private final long timeout;<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    private final boolean haltOnTimeout;<a name="line.208"></a>
+<span class="sourceLineNo">209</span><a name="line.209"></a>
+<span class="sourceLineNo">210</span>    /** Creates a Thread that monitors the {@link #isInitialized()} state. */<a name="line.210"></a>
+<span class="sourceLineNo">211</span>    InitializationMonitor(HMaster master) {<a name="line.211"></a>
+<span class="sourceLineNo">212</span>      super("MasterInitializationMonitor");<a name="line.212"></a>
+<span class="sourceLineNo">213</span>      this.master = master;<a name="line.213"></a>
+<span class="sourceLineNo">214</span>      this.timeout = master.getConfiguration().getLong(TIMEOUT_KEY, TIMEOUT_DEFAULT);<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      this.haltOnTimeout = master.getConfiguration().getBoolean(HALT_KEY, HALT_DEFAULT);<a name="line.215"></a>
+<span class="sourceLineNo">216</span>      this.setDaemon(true);<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    }<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>    @Override<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    public void run() {<a name="line.220"></a>
+<span class="sourceLineNo">221</span>      try {<a name="line.221"></a>
+<span class="sourceLineNo">222</span>        while (!master.isStopped() &amp;&amp; master.isActiveMaster()) {<a name="line.222"></a>
+<span class="sourceLineNo">223</span>          Thread.sleep(timeout);<a name="line.223"></a>
+<span class="sourceLineNo">224</span>          if (master.isInitialized()) {<a name="line.224"></a>
+<span class="sourceLineNo">225</span>            LOG.debug("Initialization completed within allotted tolerance. Monitor exiting.");<a name="line.225"></a>
+<span class="sourceLineNo">226</span>          } else {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>            LOG.error("Master failed to complete initialization after " + timeout + "ms. Please"<a name="line.227"></a>
+<span class="sourceLineNo">228</span>                + " consider submitting a bug report including a thread dump of this process.");<a name="line.228"></a>
+<span class="sourceLineNo">229</span>            if (haltOnTimeout) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>              LOG.error("Zombie Master exiting. Thread dump to stdout");<a name="line.230"></a>
+<span class="sourceLineNo">231</span>              Threads.printThreadInfo(System.out, "Zombie HMaster");<a name="line.231"></a>
+<span class="sourceLineNo">232</span>              System.exit(-1);<a name="line.232"></a>
+<span class="sourceLineNo">233</span>            }<a name="line.233"></a>
+<span class="sourceLineNo">234</span>          }<a name="line.234"></a>
+<span class="sourceLineNo">235</span>        }<a name="line.235"></a>
+<span class="sourceLineNo">236</span>      } catch (InterruptedException ie) {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>        LOG.trace("InitMonitor thread interrupted. Existing.");<a name="line.237"></a>
+<span class="sourceLineNo">238</span>      }<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    }<a name="line.239"></a>
+<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
+<span class="sourceLineNo">241</span><a name="line.241"></a>
+<span class="sourceLineNo">242</span>  // MASTER is name of the webapp and the attribute name used stuffing this<a name="line.242"></a>
+<span class="sourceLineNo">243</span>  //instance into web context.<a name="line.243"></a>
+<span class="sourceLineNo">244</span>  public static final String MASTER = "master";<a name="line.244"></a>
+<span class="sourceLineNo">245</span><a name="line.245"></a>
+<span class="sourceLineNo">246</span>  // Manager and zk listener for master election<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  private final ActiveMasterManager activeMasterManager;<a name="line.247"></a>
+<span class="sourceLineNo">248</span>  // Region server tracker<a name="line.248"></a>
+<span class="sourceLineNo">249</span>  RegionServerTracker regionServerTracker;<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  // Draining region server tracker<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  private DrainingServerTracker drainingServerTracker;<a name="line.251"></a>
+<span class="sourceLineNo">252</span>  // Tracker for load balancer state<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  LoadBalancerTracker loadBalancerTracker;<a name="line.253"></a>
+<span class="sourceLineNo">254</span><a name="line.254"></a>
+<span class="sourceLineNo">255</span>  // Tracker for region normalizer state<a name="line.255"></a>
+<span class="sourceLineNo">256</span>  private RegionNormalizerTracker regionNormalizerTracker;<a name="line.256"></a>
+<span class="sourceLineNo">257</span><a name="line.257"></a>
+<span class="sourceLineNo">258</span>  private ClusterSchemaService clusterSchemaService;<a name="line.258"></a>
+<span class="sourceLineNo">259</span><a name="line.259"></a>
+<span class="sourceLineNo">260</span>  // Metrics for the HMaster<a name="line.260"></a>
+<span class="sourceLineNo">261</span>  final MetricsMaster metricsMaster;<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  // file system manager for the master FS operations<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  private MasterFileSystem fileSystemManager;<a name="line.263"></a>
+<span class="sourceLineNo">264</span><a name="line.264"></a>
+<span class="sourceLineNo">265</span>  // server manager to deal with region server info<a name="line.265"></a>
+<span class="sourceLineNo">266</span>  volatile ServerManager serverManager;<a name="line.266"></a>
+<span class="sourceLineNo">267</span><a name="line.267"></a>
+<span class="sourceLineNo">268</span>  // manager of assignment nodes in zookeeper<a name="line.268"></a>
+<span class="sourceLineNo">269</span>  AssignmentManager assignmentManager;<a name="line.269"></a>
+<span class="sourceLineNo">270</span><a name="line.270"></a>
+<span class="sourceLineNo">271</span>  // buffer for "fatal error" notices from region servers<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  // in the cluster. This is only used for assisting<a name="line.272"></a>
+<span class="sourceLineNo">273</span>  // operations/debugging.<a name="line.273"></a>
+<span class="sourceLineNo">274</span>  MemoryBoundedLogMessageBuffer rsFatals;<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></a>
+<span class="sourceLineNo">276</span>  // flag set after we become the active master (used for testing)<a name="line.276"></a>
+<span class="sourceLineNo">277</span>  private volatile boolean isActiveMaster = false;<a name="line.277"></a>
+<span class="sourceLineNo">278</span><a name="line.278"></a>
+<span class="sourceLineNo">279</span>  // flag set after we complete initialization once active,<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  // it is not private since it's used in unit tests<a name="line.280"></a>
+<span class="sourceLineNo">281</span>  private final ProcedureEvent initialized = new ProcedureEvent("master initialized");<a name="line.281"></a>
+<span class="sourceLineNo">282</span><a name="line.282"></a>
+<span class="sourceLineNo">283</span>  // flag set after master services are started,<a name="line.283"></a>
+<span class="sourceLineNo">284</span>  // initialization may have not completed yet.<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  volatile boolean serviceStarted = false;<a name="line.285"></a>
+<span class="sourceLineNo">286</span><a name="line.286"></a>
+<span class="sourceLineNo">287</span>  // flag set after we complete assignMeta.<a name="line.287"></a>
+<span class="sourceLineNo">288</span>  private final ProcedureEvent serverCrashProcessingEnabled =<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    new ProcedureEvent("server crash processing");<a name="line.289"></a>
+<span class="sourceLineNo">290</span><a name="line.290"></a>
+<span class="sourceLineNo">291</span>  LoadBalancer balancer;<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  private RegionNormalizer normalizer;<a name="line.292"></a>
+<span class="sourceLineNo">293</span>  private BalancerChore balancerChore;<a name="line.293"></a>
+<span class="sourceLineNo">294</span>  private RegionNormalizerChore normalizerChore;<a name="line.294"></a>
+<span class="sourceLineNo">295</span>  private ClusterStatusChore clusterStatusChore;<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  private ClusterStatusPublisher clusterStatusPublisherChore = null;<a name="line.296"></a>
+<span class="sourceLineNo">297</span><a name="line.297"></a>
+<span class="sourceLineNo">298</span>  CatalogJanitor catalogJanitorChore;<a name="line.298"></a>
+<span class="sourceLineNo">299</span>  private LogCleaner logCleaner;<a name="line.299"></a>
+<span class="sourceLineNo">300</span>  private HFileCleaner hfileCleaner;<a name="line.300"></a>
+<span class="sourceLineNo">301</span>  private ExpiredMobFileCleanerChore expiredMobFileCleanerChore;<a name="line.301"></a>
+<span class="sourceLineNo">302</span>  private MobCompactionChore mobCompactChore;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  private MasterMobCompactionThread mobCompactThread;<a name="line.303"></a>
+<span class="sourceLineNo">304</span>  // used to synchronize the mobCompactionStates<a name="line.304"></a>
+<span class="sourceLineNo">305</span>  private final IdLock mobCompactionLock = new IdLock();<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  // save the information of mob compactions in tables.<a name="line.306"></a>
+<span class="sourceLineNo">307</span>  // the key is table name, the value is the number of compactions in that table.<a name="line.307"></a>
+<span class="sourceLineNo">308</span>  private Map&lt;TableName, AtomicInteger&gt; mobCompactionStates = Maps.newConcurrentMap();<a name="line.308"></a>
 <span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>  private final boolean preLoadTableDescriptors;<a name="line.310"></a>
+<span class="sourceLineNo">310</span>  MasterCoprocessorHost cpHost;<a name="line.310"></a>
 <span class="sourceLineNo">311</span><a name="line.311"></a>
-<span class="sourceLineNo">312</span>  // Time stamps for when a hmaster became active<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  private long masterActiveTime;<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  //should we check the compression codec type at master side, default true, HBASE-6370<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  private final boolean masterCheckCompression;<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>  //should we check encryption settings at master side, default true<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  private final boolean masterCheckEncryption;<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>  Map&lt;String, Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.321"></a>
+<span class="sourceLineNo">312</span>  private final boolean preLoadTableDescriptors;<a name="line.312"></a>
+<span class="sourceLineNo">313</span><a name="line.313"></a>
+<span class="sourceLineNo">314</span>  // Time stamps for when a hmaster became active<a name="line.314"></a>
+<span class="sourceLineNo">315</span>  private long masterActiveTime;<a name="line.315"></a>
+<span class="sourceLineNo">316</span><a name="line.316"></a>
+<span class="sourceLineNo">317</span>  //should we check the compression codec type at master side, default true, HBASE-6370<a name="line.317"></a>
+<span class="sourceLineNo">318</span>  private final boolean masterCheckCompression;<a name="line.318"></a>
+<span class="sourceLineNo">319</span><a name="line.319"></a>
+<span class="sourceLineNo">320</span>  //should we check encryption settings at master side, default true<a name="line.320"></a>
+<span class="sourceLineNo">321</span>  private final boolean masterCheckEncryption;<a name="line.321"></a>
 <span class="sourceLineNo">322</span><a name="line.322"></a>
-<span class="sourceLineNo">323</span>  // monitor for snapshot of hbase tables<a name="line.323"></a>
-<span class="sourceLineNo">324</span>  SnapshotManager snapshotManager;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  // monitor for distributed procedures<a name="line.325"></a>
-<span class="sourceLineNo">326</span>  MasterProcedureManagerHost mpmHost;<a name="line.326"></a>
-<span class="sourceLineNo">327</span><a name="line.327"></a>
-<span class="sourceLineNo">328</span>  // it is assigned after 'initialized' guard set to true, so should be volatile<a name="line.328"></a>
-<span class="sourceLineNo">329</span>  private volatile MasterQuotaManager quotaManager;<a name="line.329"></a>
-<span class="sourceLineNo">330</span><a name="line.330"></a>
-<span class="sourceLineNo">331</span>  private ProcedureExecutor&lt;MasterProcedureEnv&gt; procedureExecutor;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  private WALProcedureStore procedureStore;<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>  // handle table states<a name="line.334"></a>
-<span class="sourceLineNo">335</span>  private TableStateManager tableStateManager;<a name="line.335"></a>
-<span class="sourceLineNo">336</span>  <a name="line.336"></a>
-<span class="sourceLineNo">337</span>  private long splitPlanCount;<a name="line.337"></a>
-<span class="sourceLineNo">338</span>  private long mergePlanCount;<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>  /** flag used in test cases in order to simulate RS failures during master initialization */<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  private volatile boolean initializationBeforeMetaAssignment = false;<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>  /** jetty server for master to redirect requests to regionserver infoServer */<a name="line.343"></a>
-<span class="sourceLineNo">344</span>  private org.mortbay.jetty.Server masterJettyServer;<a name="line.344"></a>
-<span class="sourceLineNo">345</span><a name="line.345"></a>
-<span class="sourceLineNo">346</span>  public static class RedirectServlet extends HttpServlet {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    private static final long serialVersionUID = 2894774810058302472L;<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    private static int regionServerInfoPort;<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>    @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    public void doGet(HttpServletRequest request,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>        HttpServletResponse response) throws ServletException, IOException {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      String redirectUrl = request.getScheme() + "://"<a name="line.353"></a>
-<span class="sourceLineNo">354</span>        + request.getServerName() + ":" + regionServerInfoPort<a name="line.354"></a>
-<span class="sourceLineNo">355</span>        + request.getRequestURI();<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      response.sendRedirect(redirectUrl);<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    }<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  }<a name="line.358"></a>
-<span class="sourceLineNo">359</span><a name="line.359"></a>
-<span class="sourceLineNo">360</span>  /**<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   * Initializes the HMaster. The steps are as follows:<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   * &lt;p&gt;<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   * &lt;ol&gt;<a name="line.363"></a>
-<span class="sourceLineNo">364</span>   * &lt;li&gt;Initialize the local HRegionServer<a name="line.364"></a>
-<span class="sourceLineNo">365</span>   * &lt;li&gt;Start the ActiveMasterManager.<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   * &lt;/ol&gt;<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * &lt;p&gt;<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * Remaining steps of initialization occur in<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   * #finishActiveMasterInitialization(MonitoredTask) after<a name="line.369"></a>
-<span class="sourceLineNo">370</span>   * the master becomes the active one.<a name="line.370"></a>
-<span class="sourceLineNo">371</span>   */<a name="line.371"></a>
-<span class="sourceLineNo">372</span>  public HMaster(final Configuration conf, CoordinatedStateManager csm)<a name="line.372"></a>
-<span class="sourceLineNo">373</span>      throws IOException, KeeperException {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    super(conf, csm);<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    this.rsFatals = new MemoryBoundedLogMessageBuffer(<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      conf.getLong("hbase.master.buffer.for.rs.fatals", 1*1024*1024));<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>    LOG.info("hbase.rootdir=" + FSUtils.getRootDir(this.conf) +<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      ", hbase.cluster.distributed=" + this.conf.getBoolean(HConstants.CLUSTER_DISTRIBUTED, false));<a name="line.379"></a>
-<span class="sourceLineNo">380</span><a name="line.380"></a>
-<span class="sourceLineNo">381</span>    // Disable usage of meta replicas in the master<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    this.conf.setBoolean(HConstants.USE_META_REPLICAS, false);<a name="line.382"></a>
-<span class="sourceLineNo">383</span><a name="line.383"></a>
-<span class="sourceLineNo">384</span>    Replication.decorateMasterConfiguration(this.conf);<a name="line.384"></a>
+<span class="sourceLineNo">323</span>  Map&lt;String, Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.323"></a>
+<span class="sourceLineNo">324</span><a name="line.324"></a>
+<span class="sourceLineNo">325</span>  // monitor for snapshot of hbase tables<a name="line.325"></a>
+<span class="sourceLineNo">326</span>  SnapshotManager snapshotManager;<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  // monitor for distributed procedures<a name="line.327"></a>
+<span class="sourceLineNo">328</span>  MasterProcedureManagerHost mpmHost;<a name="line.328"></a>
+<span class="sourceLineNo">329</span><a name="line.329"></a>
+<span class="sourceLineNo">330</span>  // it is assigned after 'initialized' guard set to true, so should be volatile<a name="line.330"></a>
+<span class="sourceLineNo">331</span>  private volatile MasterQuotaManager quotaManager;<a name="line.331"></a>
+<span class="sourceLineNo">332</span><a name="line.332"></a>
+<span class="sourceLineNo">333</span>  private ProcedureExecutor&lt;MasterProcedureEnv&gt; procedureExecutor;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  private WALProcedureStore procedureStore;<a name="line.334"></a>
+<span class="sourceLineNo">335</span><a name="line.335"></a>
+<span class="sourceLineNo">336</span>  // handle table states<a name="line.336"></a>
+<span class="sourceLineNo">337</span>  private TableStateManager tableStateManager;<a name="line.337"></a>
+<span class="sourceLineNo">338</span>  <a name="line.338"></a>
+<span class="sourceLineNo">339</span>  private long splitPlanCount;<a name="line.339"></a>
+<span class="sourceLineNo">340</span>  private long mergePlanCount;<a name="line.340"></a>
+<span class="sourceLineNo">341</span><a name="line.341"></a>
+<span class="sourceLineNo">342</span>  /** flag used in test cases in order to simulate RS failures during master initialization */<a name="line.342"></a>
+<span class="sourceLineNo">343</span>  private volatile boolean initializationBeforeMetaAssignment = false;<a name="line.343"></a>
+<span class="sourceLineNo">344</span><a name="line.344"></a>
+<span class="sourceLineNo">345</span>  /** jetty server for master to redirect requests to regionserver infoServer */<a name="line.345"></a>
+<span class="sourceLineNo">346</span>  private org.mortbay.jetty.Server masterJettyServer;<a name="line.346"></a>
+<span class="sourceLineNo">347</span><a name="line.347"></a>
+<span class="sourceLineNo">348</span>  public static class RedirectServlet extends HttpServlet {<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    private static final long serialVersionUID = 2894774810058302472L;<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    private static int regionServerInfoPort;<a name="line.350"></a>
+<span class="sourceLineNo">351</span><a name="line.351"></a>
+<span class="sourceLineNo">352</span>    @Override<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    public void doGet(HttpServletRequest request,<a name="line.353"></a>
+<span class="sourceLineNo">354</span>        HttpServletResponse response) throws ServletException, IOException {<a name="line.354"></a>
+<span class="sourceLineNo">355</span>      String redirectUrl = request.getScheme() + "://"<a name="line.355"></a>
+<span class="sourceLineNo">356</span>        + request.getServerName() + ":" + regionServerInfoPort<a name="line.356"></a>
+<span class="sourceLineNo">357</span>        + request.getRequestURI();<a name="line.357"></a>
+<span class="sourceLineNo">358</span>      response.sendRedirect(redirectUrl);<a name="line.358"></a>
+<span class="sourceLineNo">359</span>    }<a name="line.359"></a>
+<span class="sourceLineNo">360</span>  }<a name="line.360"></a>
+<span class="sourceLineNo">361</span><a name="line.361"></a>
+<span class="sourceLineNo">362</span>  /**<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   * Initializes the HMaster. The steps are as follows:<a name="line.363"></a>
+<span class="sourceLineNo">364</span>   * &lt;p&gt;<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   * &lt;ol&gt;<a name="line.365"></a>
+<span class="sourceLineNo">366</span>   * &lt;li&gt;Initialize the local HRegionServer<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   * &lt;li&gt;Start the ActiveMasterManager.<a name="line.367"></a>
+<span class="sourceLineNo">368</span>   * &lt;/ol&gt;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>   * &lt;p&gt;<a name="line.369"></a>
+<span class="sourceLineNo">370</span>   * Remaining steps of initialization occur in<a name="line.370"></a>
+<span class="sourceLineNo">371</span>   * #finishActiveMasterInitialization(MonitoredTask) after<a name="line.371"></a>
+<span class="sourceLineNo">372</span>   * the master becomes the active one.<a name="line.372"></a>
+<span class="sourceLineNo">373</span>   */<a name="line.373"></a>
+<span class="sourceLineNo">374</span>  public HMaster(final Configuration conf, CoordinatedStateManager csm)<a name="line.374"></a>
+<span class="sourceLineNo">375</span>      throws IOException, KeeperException {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    super(conf, csm);<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    this.rsFatals = new MemoryBoundedLogMessageBuffer(<a name="line.377"></a>
+<span class="sourceLineNo">378</span>      conf.getLong("hbase.master.buffer.for.rs.fatals", 1*1024*1024));<a name="line.378"></a>
+<span class="sourceLineNo">379</span><a name="line.379"></a>
+<span class="sourceLineNo">380</span>    LOG.info("hbase.rootdir=" + FSUtils.getRootDir(this.conf) +<a name="line.380"></a>
+<span class="sourceLineNo">381</span>      ", hbase.cluster.distributed=" + this.conf.getBoolean(HConstants.CLUSTER_DISTRIBUTED, false));<a name="line.381"></a>
+<span class="sourceLineNo">382</span><a name="line.382"></a>
+<span class="sourceLineNo">383</span>    // Disable usage of meta replicas in the master<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    this.conf.setBoolean(HConstants.USE_META_REPLICAS, false);<a name="line.384"></a>
 <span class="sourceLineNo">385</span><a name="line.385"></a>
-<span class="sourceLineNo">386</span>    // Hack! Maps DFSClient =&gt; Master for logs.  HDFS made this<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    // config param for task trackers, but we can piggyback off of it.<a name="line.387"></a>
-<span class="sourceLineNo">388</span>    if (this.conf.get("mapreduce.task.attempt.id") == null) {<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      this.conf.set("mapreduce.task.attempt.id", "hb_m_" + this.serverName.toString());<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>    // should we check the compression codec type at master side, default true, HBASE-6370<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    this.masterCheckCompression = conf.getBoolean("hbase.master.check.compression", true);<a name="line.393"></a>
-<span class="sourceLineNo">394</span><a name="line.394"></a>
-<span class="sourceLineNo">395</span>    // should we check encryption settings at master side, default true<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    this.masterCheckEncryption = conf.getBoolean("hbase.master.check.encryption", true);<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>    this.metricsMaster = new MetricsMaster(new MetricsMasterWrapperImpl(this));<a name="line.398"></a>
+<span class="sourceLineNo">386</span>    Replication.decorateMasterConfiguration(this.conf);<a name="line.386"></a>
+<span class="sourceLineNo">387</span><a name="line.387"></a>
+<span class="sourceLineNo">388</span>    // Hack! Maps DFSClient =&gt; Master for logs.  HDFS made this<a name="line.388"></a>
+<span class="sourceLineNo">389</span>    // config param for task trackers, but we can piggyback off of it.<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    if (this.conf.get("mapreduce.task.attempt.id") == null) {<a name="line.390"></a>
+<span class="sourceLineNo">391</span>      this.conf.set("mapreduce.task.attempt.id", "hb_m_" + this.serverName.toString());<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>    // should we check the compression codec type at master side, default true, HBASE-6370<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    this.masterCheckCompression = conf.getBoolean("hbase.master.check.compression", true);<a name="line.395"></a>
+<span class="sourceLineNo">396</span><a name="line.396"></a>
+<span class="sourceLineNo">397</span>    // should we check encryption settings at master side, default true<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    this.masterCheckEncryption = conf.getBoolean("hbase.master.check.encryption", true);<a name="line.398"></a>
 <span class="sourceLineNo">399</span><a name="line.399"></a>
-<span class="sourceLineNo">400</span>    // preload table descriptor at startup<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    this.preLoadTableDescriptors = conf.getBoolean("hbase.master.preload.tabledescriptors", true);<a name="line.401"></a>
-<span class="sourceLineNo">402</span><a name="line.402"></a>
-<span class="sourceLineNo">403</span>    // Do we publish the status?<a name="line.403"></a>
+<span class="sourceLineNo">400</span>    this.metricsMaster = new MetricsMaster(new MetricsMasterWrapperImpl(this));<a name="line.400"></a>
+<span class="sourceLineNo">401</span><a name="line.401"></a>
+<span class="sourceLineNo">402</span>    // preload table descriptor at startup<a name="line.402"></a>
+<span class="sourceLineNo">403</span>    this.preLoadTableDescriptors = conf.getBoolean("hbase.master.preload.tabledescriptors", true);<a name="line.403"></a>
 <span class="sourceLineNo">404</span><a name="line.404"></a>
-<span class="sourceLineNo">405</span>    boolean shouldPublish = conf.getBoolean(HConstants.STATUS_PUBLISHED,<a name="line.405"></a>
-<span class="sourceLineNo">406</span>        HConstants.STATUS_PUBLISHED_DEFAULT);<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    Class&lt;? extends ClusterStatusPublisher.Publisher&gt; publisherClass =<a name="line.407"></a>
-<span class="sourceLineNo">408</span>        conf.getClass(ClusterStatusPublisher.STATUS_PUBLISHER_CLASS,<a name="line.408"></a>
-<span class="sourceLineNo">409</span>            ClusterStatusPublisher.DEFAULT_STATUS_PUBLISHER_CLASS,<a name="line.409"></a>
-<span class="sourceLineNo">410</span>            ClusterStatusPublisher.Publisher.class);<a name="line.410"></a>
-<span class="sourceLineNo">411</span><a name="line.411"></a>
-<span class="sourceLineNo">412</span>    if (shouldPublish) {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      if (publisherClass == null) {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>        LOG.warn(HConstants.STATUS_PUBLISHED + " is true, but " +<a name="line.414"></a>
-<span class="sourceLineNo">415</span>            ClusterStatusPublisher.DEFAULT_STATUS_PUBLISHER_CLASS +<a name="line.415"></a>
-<span class="sourceLineNo">416</span>            " is not set - not publishing status");<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      } else {<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        clusterStatusPublisherChore = new ClusterStatusPublisher(this, conf, publisherClass);<a name="line.418"></a>
-<span class="sourceLineNo">419</span>        getChoreService().scheduleChore(clusterStatusPublisherChore);<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>    // Some unit tests don't need a cluster, so no zookeeper at all<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    if (!conf.getBoolean("hbase.testing.nocluster", false)) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      activeMasterManager = new ActiveMasterManager(zooKeeper, this.serverName, this);<a name="line.425"></a>
-<span class="sourceLineNo">426</span>      int infoPort = putUpJettyServer();<a name="line.426"></a>
-<span class="sourceLineNo">427</span>      startActiveMasterManager(infoPort);<a name="line.427"></a>
-<span class="sourceLineNo">428</span>    } else {<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      activeMasterManager = null;<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>  // return the actual infoPort, -1 means disable info server.<a name="line.433"></a>
-<span class="sourceLineNo">434</span>  private int putUpJettyServer() throws IOException {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>    if (!conf.getBoolean("hbase.master.infoserver.redirect", true)) {<a name="line.435"></a>
-<span class="sourceLineNo">436</span>      return -1;<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    }<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    int infoPort = conf.getInt("hbase.master.info.port.orig",<a name="line.438"></a>
-<span class="sourceLineNo">439</span>      HConstants.DEFAULT_MASTER_INFOPORT);<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    // -1 is for disabling info server, so no redirecting<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    if (infoPort &lt; 0 || infoServer == null) {<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      return -1;<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    }<a name="line.443"></a>
-<span class="sourceLineNo">444</span>    String addr = conf.get("hbase.master.info.bindAddress", "0.0.0.0");<a name="line.444"></a>
-<span class="sourceLineNo">445</span>    if (!Addressing.isLocalAddress(InetAddress.getByName(addr))) {<a name="line.445"></a>
-<span class="sourceLineNo">446</span>      String msg =<a name="line.446"></a>
-<span class="sourceLineNo">447</span>          "Failed to start redirecting jetty server. Address " + addr<a name="line.447"></a>
-<span class="sourceLineNo">448</span>              + " does not belong to this host. Correct configuration parameter: "<a name="line.448"></a>
-<span class="sourceLineNo">449</span>              + "hbase.master.info.bindAddress";<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      LOG.error(msg);<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      throw new IOException(msg);<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>    RedirectServlet.regionServerInfoPort = infoServer.getPort();<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    if(RedirectServlet.regionServerInfoPort == infoPort) {<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      return infoPort;<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    }<a name="line.457"></a>
-<span class="sourceLineNo">458</span>    masterJettyServer = new org.mortbay.jetty.Server();<a name="line.458"></a>
-<span class="sourceLineNo">459</span>    Connector connector = new SelectChannelConnector();<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    connector.setHost(addr);<a name="line.460"></a>
-<span class="sourceLineNo">461</span>    connector.setPort(infoPort);<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    masterJettyServer.addConnector(connector);<a name="line.462"></a>
-<span class="sourceLineNo">463</span>    masterJettyServer.setStopAtShutdown(true);<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    Context context = new Context(masterJettyServer, "/", Context.NO_SESSIONS);<a name="line.464"></a>
-<span class="sourceLineNo">465</span>    context.addServlet(RedirectServlet.class, "/*");<a name="line.465"></a>
-<span class="sourceLineNo">466</span>    try {<a name="line.466"></a>
-<span class="sourceLineNo">467</span>      masterJettyServer.start();<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    } catch (Exception e) {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      throw new IOException("Failed to start redirecting jetty server", e);<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    }<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    return connector.getLocalPort();<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>  @Override<a name="line.474"></a>
-<span class="sourceLineNo">475</span>  protected TableDescriptors getFsTableDescriptors() throws IOException {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>    return super.getFsTableDescriptors();<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>   * For compatibility, if failed with regionserver credentials, try the master one<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   */<a name="line.481"></a>
-<span class="sourceLineNo">482</span>  @Override<a name="line.482"></a>
-<span class="sourceLineNo">483</span>  protected void login(UserProvider user, String host) throws IOException {<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    try {<a name="line.484"></a>
-<span class="sourceLineNo">485</span>      super.login(user, host);<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    } catch (IOException ie) {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      user.login("hbase.master.keytab.file",<a name="line.487"></a>
-<span class="sourceLineNo">488</span>        "hbase.master.kerberos.principal", host);<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    }<a name="line.489"></a>
-<span class="sourceLineNo">490</span>  }<a name="line.490"></a>
-<span class="sourceLineNo">491</span><a name="line.491"></a>
-<span class="sourceLineNo">492</span>  /**<a name="line.492"></a>
-<span class="sourceLineNo">493</span>   * If configured to put regions on active master,<a name="line.493"></a>
-<span class="sourceLineNo">494</span>   * wait till a backup master becomes active.<a name="line.494"></a>
-<span class="sourceLineNo">495</span>   * Otherwise, loop till the server is stopped or aborted.<a name="line.495"></a>
-<span class="sourceLineNo">496</span>   */<a name="line.496"></a>
-<span class="sourceLineNo">497</span>  @Override<a name="line.497"></a>
-<span class="sourceLineNo">498</span>  protected void waitForMasterActive(){<a name="line.498"></a>
-<span class="sourceLineNo">499</span>    boolean tablesOnMaster = BaseLoadBalancer.tablesOnMaster(conf);<a name="line.499"></a>
-<span class="sourceLineNo">500</span>    while (!(tablesOnMaster &amp;&amp; isActiveMaster)<a name="line.500"></a>
-<span class="sourceLineNo">501</span>        &amp;&amp; !isStopped() &amp;&amp; !isAborted()) {<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      sleeper.sleep();<a name="line.502"></a>
-<span class="sourceLineNo">503</span>    }<a name="line.503"></a>
-<span class="sourceLineNo">504</span>  }<a name="line.504"></a>
-<span class="sourceLineNo">505</span><a name="line.505"></a>
-<span class="sourceLineNo">506</span>  @VisibleForTesting<a name="line.506"></a>
-<span class="sourceLineNo">507</span>  public MasterRpcServices getMasterRpcServices() {<a name="line.507"></a>
-<span class="sourceLineNo">508</span>    return (MasterRpcServices)rpcServices;<a name="line.508"></a>
-<span class="sourceLineNo">509</span>  }<a name="line.509"></a>
-<span class="sourceLineNo">510</span><a name="line.510"></a>
-<span class="sourceLineNo">511</span>  public boolean balanceSwitch(final boolean b) throws IOException {<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    return getMasterRpcServices().switchBalancer(b, BalanceSwitchMode.ASYNC);<a name="line.512"></a>
-<span class="sourceLineNo">513</span>  }<a name="line.513"></a>
-<span class="sourceLineNo">514</span><a name="line.514"></a>
-<span class="sourceLineNo">515</span>  @Override<a name="line.515"></a>
-<span class="sourceLineNo">516</span>  protected String getProcessName() {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    return MASTER;<a name="line.517"></a>
-<span class="sourceLineNo">518</span>  }<a name="line.518"></a>
-<span class="sourceLineNo">519</span><a name="line.519"></a>
-<span class="sourceLineNo">520</span>  @Override<a name="line.520"></a>
-<span class="sourceLineNo">521</span>  protected boolean canCreateBaseZNode() {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    return true;<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>  @Override<a name="line.525"></a>
-<span class="sourceLineNo">526</span>  protected boolean canUpdateTableDescriptor() {<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    return true;<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>  @Override<a name="line.530"></a>
-<span class="sourceLineNo">531</span>  protected RSRpcServices createRpcServices() throws IOException {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    return new MasterRpcServices(this);<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>  @Override<a name="line.535"></a>
-<span class="sourceLineNo">536</span>  protected void configureInfoServer() {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>    infoServer.addServlet("master-status", "/master-status", MasterStatusServlet.class);<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    infoServer.setAttribute(MASTER, this);<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    if (BaseLoadBalancer.tablesOnMaster(conf)) {<a name="line.539"></a>
-<span class="sourceLineNo">540</span>      super.configureInfoServer();<a name="line.540"></a>
-<span class="sourceLineNo">541</span>    }<a name="line.541"></a>
-<span class="sourceLineNo">542</span>  }<a name="line.542"></a>
-<span class="sourceLineNo">543</span><a name="line.543"></a>
-<span class="sourceLineNo">544</span>  @Override<a name="line.544"></a>
-<span class="sourceLineNo">545</span>  protected Class&lt;? extends HttpServlet&gt; getDumpServlet() {<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    return MasterDumpServlet.class;<a name="line.546"></a>
-<span class="sourceLineNo">547</span>  }<a name="line.547"></a>
-<span class="sourceLineNo">548</span><a name="line.548"></a>
-<span class="sourceLineNo">549</span>  /**<a name="line.549"></a>
-<span class="sourceLineNo">550</span>   * Emit the HMaster metrics, such as region in transition metrics.<a name="line.550"></a>
-<span class="sourceLineNo">551</span>   * Surrounding in a try block just to be sure metrics doesn't abort HMaster.<a name="line.551"></a>
-<span class="sourceLineNo">552</span>   */<a name="line.552"></a>
-<span class="sourceLineNo">553</span>  @Override<a name="line.553"></a>
-<span class="sourceLineNo">554</span>  protected void doMetrics() {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>    try {<a name="line.555"></a>
-<span class="sourceLineNo">556</span>      if (assignmentManager != null) {<a name="line.556"></a>
-<span class="sourceLineNo">557</span>        assignmentManager.updateRegionsInTransitionMetrics();<a name="line.557"></a>
-<span class="sourceLineNo">558</span>      }<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    } catch (Throwable e) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      LOG.error("Couldn't update metrics: " + e.getMessage());<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    }<a name="line.561"></a>
-<span class="sourceLineNo">562</span>  }<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span>  MetricsMaster getMasterMetrics() {<a name="line.564"></a>
-<span class="sourceLineNo">565</span>    return metricsMaster;<a name="line.565"></a>
-<span class="sourceLineNo">566</span>  }<a name="line.566"></a>
-<span class="sourceLineNo">567</span><a name="line.567"></a>
-<span class="sourceLineNo">568</span>  /**<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * Initialize all ZK based system trackers.<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   */<a name="line.570"></a>
-<span class="sourceLineNo">571</span>  void initializeZKBasedSystemTrackers() throws IOException,<a name="line.571"></a>
-<span class="sourceLineNo">572</span>      InterruptedException, KeeperException, CoordinatedStateException {<a name="line.572"></a>
-<span class="sourceLineNo">573</span>    this.balancer = LoadBalancerFactory.getLoadBalancer(conf);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    this.normalizer = RegionNormalizerFactory.getRegionNormalizer(conf);<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    this.normalizer.setMasterServices(this);<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    this.loadBalancerTracker = new LoadBalancerTracker(zooKeeper, this);<a name="line.576"></a>
-<span class="sourceLineNo">577</span>    this.loadBalancerTracker.start();<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    this.regionNormalizerTracker = new RegionNormalizerTracker(zooKeeper, this);<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    this.regionNormalizerTracker.start();<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    this.assignmentManager = new AssignmentManager(this, serverManager,<a name="line.580"></a>
-<span class="sourceLineNo">581</span>      this.balancer, this.service, this.metricsMaster,<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      this.tableLockManager, tableStateManager);<a name="line.582"></a>
-<span class="sourceLineNo">583</span><a name="line.583"></a>
-<span class="sourceLineNo">584</span>    this.regionServerTracker = new RegionServerTracker(zooKeeper, this, this.serverManager);<a name="line.584"></a>
-<span class="sourceLineNo">585</span>    this.regionServerTracker.start();<a name="line.585"></a>
-<span class="sourceLineNo">586</span><a name="line.586"></a>
-<span class="sourceLineNo">587</span>    this.drainingServerTracker = new DrainingServerTracker(zooKeeper, this, this.serverManager);<a name="line.587"></a>
-<span class="sourceLineNo">588</span>    this.drainingServerTracker.start();<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span>    // Set the cluster as up.  If new RSs, they'll be waiting on this before<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    // going ahead with their startup.<a name="line.591"></a>
-<span class="sourceLineNo">592</span>    boolean wasUp = this.clusterStatusTracker.isClusterUp();<a name="line.592"></a>
-<span class="sourceLineNo">593</span>    if (!wasUp) this.clusterStatusTracker.setClusterUp();<a name="line.593"></a>
-<span class="sourceLineNo">594</span><a name="line.594"></a>
-<span class="sourceLineNo">595</span>    LOG.info("Server active/primary master=" + this.serverName +<a name="line.595"></a>
-<span class="sourceLineNo">596</span>        ", sessionid=0x" +<a name="line.596"></a>
-<span class="sourceLineNo">597</span>        Long.toHexString(this.zooKeeper.getRecoverableZooKeeper().getSessionId()) +<a name="line.597"></a>
-<span class="sourceLineNo">598</span>        ", setting cluster-up flag (Was=" + wasUp + ")");<a name="line.598"></a>
-<span class="sourceLineNo">599</span><a name="line.599"></a>
-<span class="sourceLineNo">600</span>    // create/initialize the snapshot manager and other procedure managers<a name="line.600"></a>
-<span class="sourceLineNo">601</span>    this.snapshotManager = new SnapshotManager();<a name="line.601"></a>
-<span class="sourceLineNo">602</span>    this.mpmHost = new MasterProcedureManagerHost();<a name="line.602"></a>
-<span class="sourceLineNo">603</span>    this.mpmHost.register(this.snapshotManager);<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    this.mpmHost.register(new MasterFlushTableProcedureManager());<a name="line.604"></a>
-<span class="sourceLineNo">605</span>    this.mpmHost.loadProcedures(conf);<a name="line.605"></a>
-<span class="sourceLineNo">606</span>    this.mpmHost.initialize(this, this.metricsMaster);<a name="line.606"></a>
-<span class="sourceLineNo">607</span><a name="line.607"></a>
-<span class="sourceLineNo">608</span>  }<a name="line.608"></a>
+<span class="sourceLineNo">405</span>    // Do we publish the status?<a name="line.405"></a>
+<span class="sourceLineNo">406</span><a name="line.406"></a>
+<span class="sourceLineNo">407</span>    boolean shouldPublish = conf.getBoolean(HConstants.STATUS_PUBLISHED,<a name="line.407"></a>
+<span class="sourceLineNo">408</span>        HConstants.STATUS_PUBLISHED_DEFAULT);<a name="line.408"></a>
+<span class="sourceLineNo">409</span>    Class&lt;? extends ClusterStatusPublisher.Publisher&gt; publisherClass =<a name="line.409"></a>
+<span class="sourceLineNo">410</span>        conf.getClass(ClusterStatusPublisher.STATUS_PUBLISHER_CLASS,<a name="line.410"></a>
+<span class="sourceLineNo">411</span>            ClusterStatusPublisher.DEFAULT_STATUS_PUBLISHER_CLASS,<a name="line.411"></a>
+<span class="sourceLineNo">412</span>            ClusterStatusPublisher.Publisher.class);<a name="line.412"></a>
+<span class="sourceLineNo">413</span><a name="line.413"></a>
+<span class="sourceLineNo">414</span>    if (shouldPublish) {<a name="line.414"></a>
+<span class="sourceLineNo">415</span>      if (publisherClass == null) {<a name="line.415"></a>
+<span class="sourceLineNo">416</span>        LOG.warn(HConstants.STATUS_PUBLISHED + " is true, but " +<a name="line.416"></a>
+<span class="sourceLineNo">417</span>            ClusterStatusPublisher.DEFAULT_STATUS_PUBLISHER_CLASS +<a name="line.417"></a>
+<span class="sourceLineNo">418</span>            " is not set - not publishing status");<a name="line.418"></a>
+<span class="sourceLineNo">419</span>      } else {<a name="line.419"></a>
+<span class="sourceLineNo">420</span>        clusterStatusPublisherChore = new ClusterStatusPublisher(this, conf, publisherClass);<a name="line.420"></a>
+<span class="sourceLineNo">421</span>        getChoreService().scheduleChore(clusterStatusPublisherChore);<a name="line.421"></a>
+<span class="sourceLineNo">422</span>      }<a name="line.422"></a>
+<span class="sourceLineNo">423</span>    }<a name="line.423"></a>
+<span class="sourceLineNo">424</span><a name="line.424"></a>
+<span class="sourceLineNo">425</span>    // Some unit tests don't need a cluster, so no zookeeper at all<a name="line.425"></a>
+<span class="sourceLineNo">426</span>    if (!conf.getBoolean("hbase.testing.nocluster", false)) {<a name="line.426"></a>
+<span class="sourceLineNo">427</span>      activeMasterManager = new ActiveMasterManager(zooKeeper, this.serverName, this);<a name="line.427"></a>
+<span class="sourceLineNo">428</span>      int infoPort = putUpJettyServer();<a name="line.428"></a>
+<span class="sourceLineNo">429</span>      startActiveMasterManager(infoPort);<a name="line.429"></a>
+<span class="sourceLineNo">430</span>    } else {<a name="line.430"></a>
+<span class="sourceLineNo">431</span>      activeMasterManager = null;<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>  // return the actual infoPort, -1 means disable info server.<a name="line.435"></a>
+<span class="sourceLineNo">436</span>  private int putUpJettyServer() throws IOException {<a name="line.436"></a>
+<span class="sourceLineNo">437</span>    if (!conf.getBoolean("hbase.master.infoserver.redirect", true)) {<a name="line.437"></a>
+<span class="sourceLineNo">438</span>      return -1;<a name="line.438"></a>
+<span class="sourceLineNo">439</span>    }<a name="line.439"></a>
+<span class="sourceLineNo">440</span>    int infoPort = conf.getInt("hbase.master.info.port.orig",<a name="line.440"></a>
+<span class="sourceLineNo">441</span>      HConstants.DEFAULT_MASTER_INFOPORT);<a name="line.441"></a>
+<span class="sourceLineNo">442</span>    // -1 is for disabling info server, so no redirecting<a name="line.442"></a>
+<span class="sourceLineNo">443</span>    if (infoPort &lt; 0 || infoServer == null) {<a name="line.443"></a>
+<span class="sourceLineNo">444</span>      return -1;<a name="line.444"></a>
+<span class="sourceLineNo">445</span>    }<a name="line.445"></a>
+<span class="sourceLineNo">446</span>    String addr = conf.get("hbase.master.info.bindAddress", "0.0.0.0");<a name="line.446"></a>
+<span class="sourceLineNo">447</span>    if (!Addressing.isLocalAddress(InetAddress.getByName(addr))) {<a name="line.447"></a>
+<span class="sourceLineNo">448</span>      String msg =<a name="line.448"></a>
+<span class="sourceLineNo">449</span>          "Failed to start redirecting jetty server. Address " + addr<a name="line.449"></a>
+<span class="sourceLineNo">450</span>              + " does not belong to this host. Correct configuration parameter: "<a name="line.450"></a>
+<span class="sourceLineNo">451</span>              + "hbase.master.info.bindAddress";<a name="line.451"></a>
+<span class="sourceLineNo">452</span>      LOG.error(msg);<a name="line.452"></a>
+<span class="sourceLineNo">453</span>      throw new IOException(msg);<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>    RedirectServlet.regionServerInfoPort = infoServer.getPort();<a name="line.456"></a>
+<span class="sourceLineNo">457</span>    if(RedirectServlet.regionServerInfoPort == infoPort) {<a name="line.457"></a>
+<span class="sourceLineNo">458</span>      return infoPort;<a name="line.458"></a>
+<span class="sourceLineNo">459</span>    }<a name="line.459"></a>
+<span class="sourceLineNo">460</span>    masterJettyServer = new org.mortbay.jetty.Server();<a name="line.460"></a>
+<span class="sourceLineNo">461</span>    Connector connector = new SelectChannelConnector();<a name="line.461"></a>
+<span class="sourceLineNo">462</span>    connector.setHost(addr);<a name="line.462"></a>
+<span class="sourceLineNo">463</span>    connector.setPort(infoPort);<a name="line.463"></a>
+<span class="sourceLineNo">464</span>    masterJettyServer.addConnector(connector);<a name="line.464"></a>
+<span class="sourceLineNo">465</span>    masterJettyServer.setStopAtShutdown(true);<a name="line.465"></a>
+<span class="sourceLineNo">466</span>    Context context = new Context(masterJettyServer, "/", Context.NO_SESSIONS);<a name="line.466"></a>
+<span class="sourceLineNo">467</span>    context.addServlet(RedirectServlet.class, "/*");<a name="line.467"></a>
+<spa

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html
new file mode 100644
index 0000000..443c958
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html
@@ -0,0 +1,333 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MasterProcedureScheduler.NamespaceQueue (Apache HBase 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="MasterProcedureScheduler.NamespaceQueue (Apache HBase 2.0.0-SNAPSHOT API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MasterProcedureScheduler.NamespaceQueue.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.NamespaceQueue.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.hadoop.hbase.master.procedure</div>
+<h2 title="Class MasterProcedureScheduler.NamespaceQueue" class="title">Class MasterProcedureScheduler.NamespaceQueue</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.NamespaceQueue</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueInterface</a></dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></dd>
+</dl>
+<hr>
+<br>
+<pre>private static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.697">MasterProcedureScheduler.NamespaceQueue</a>
+extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</pre>
+<div class="block">the namespace is currently used just as a rwlock, not as a queue.
+ because ns operation are not frequent enough. so we want to avoid
+ having to move table queues around for suspend/resume.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html#MasterProcedureScheduler.NamespaceQueue(java.lang.String)">MasterProcedureScheduler.NamespaceQueue</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html#add(org.apache.hadoop.hbase.procedure2.Procedure,%20boolean)">add</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc,
+      boolean&nbsp;addToFront)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html#isEmpty()">isEmpty</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html#poll()">poll</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html#requireExclusiveLock(org.apache.hadoop.hbase.procedure2.Procedure)">requireExclusiveLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html#size()">size</a></strong>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#acquireDeleteLock()">acquireDeleteLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#compareKey(TKey)">compareKey</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#compareTo(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">compareTo</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#getKey()">getKey</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#getPriority()">getPriority</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#hasExclusiveLock()">hasExclusiveLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Q
 ueue.html#isAvailable()">isAvailable</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#isLocked()">isLocked</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#isSingleSharedLock()">isSingleSharedLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#isSuspended()">isSuspended</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#releaseExclusiveLock()">releaseExclusiveLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#releaseSharedLock()">releaseSharedLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#setSuspended(boolean)">setSuspended</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler
 .Queue.html#toString()">toString</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#tryExclusiveLock()">tryExclusiveLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#trySharedLock()">trySharedLock</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang
 /Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="MasterProcedureScheduler.NamespaceQueue(java.lang.String)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MasterProcedureScheduler.NamespaceQueue</h4>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html#line.698">MasterProcedureScheduler.NamespaceQueue</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="requireExclusiveLock(org.apache.hadoop.hbase.procedure2.Procedure)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>requireExclusiveLock</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html#line.703">requireExclusiveLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
+</li>
+</ul>
+<a name="add(org.apache.hadoop.hbase.procedure2.Procedure, boolean)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>add</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html#line.708">add</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc,
+       boolean&nbsp;addToFront)</pre>
+</li>
+</ul>
+<a name="poll()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>poll</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html#line.713">poll</a>()</pre>
+</li>
+</ul>
+<a name="isEmpty()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isEmpty</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html#line.718">isEmpty</a>()</pre>
+</li>
+</ul>
+<a name="size()">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>size</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html#line.723">size</a>()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MasterProcedureScheduler.NamespaceQueue.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.NamespaceQueue.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html
new file mode 100644
index 0000000..7ab27f2
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html
@@ -0,0 +1,443 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MasterProcedureScheduler.ProcedureEvent (Apache HBase 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="MasterProcedureScheduler.ProcedureEvent (Apache HBase 2.0.0-SNAPSHOT API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MasterProcedureScheduler.ProcedureEvent.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.ProcedureEvent.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.hadoop.hbase.master.procedure</div>
+<h2 title="Class MasterProcedureScheduler.ProcedureEvent" class="title">Class MasterProcedureScheduler.ProcedureEvent</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.413">MasterProcedureScheduler.ProcedureEvent</a>
+extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#description">description</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#ready">ready</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#waitingServers">waitingServers</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#waitingTables">waitingTables</a></strong></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#MasterProcedureScheduler.ProcedureEvent(java.lang.String)">MasterProcedureScheduler.ProcedureEvent</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;description)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#hasWaitingServers()">hasWaitingServers</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#hasWaitingTables()">hasWaitingTables</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#isReady()">isReady</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#popWaitingServer()">popWaitingServer</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#popWaitingTable()">popWaitingTable</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#setReady(boolean)">setReady</a></strong>(boolean&nbsp;isReady)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#suspendServerQueue(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">suspendServerQueue</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;queue)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#suspendTableQueue(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">suspendTableQueue</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;queue)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#toString()">toString</a></strong>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang
 /Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="description">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>description</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#line.414">description</a></pre>
+</li>
+</ul>
+<a name="waitingServers">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>waitingServers</h4>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#line.416">waitingServers</a></pre>
+</li>
+</ul>
+<a name="waitingTables">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>waitingTables</h4>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#line.417">waitingTables</a></pre>
+</li>
+</ul>
+<a name="ready">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ready</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#line.418">ready</a></pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="MasterProcedureScheduler.ProcedureEvent(java.lang.String)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MasterProcedureScheduler.ProcedureEvent</h4>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#line.420">MasterProcedureScheduler.ProcedureEvent</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;description)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="isReady()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isReady</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#line.424">isReady</a>()</pre>
+</li>
+</ul>
+<a name="setReady(boolean)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setReady</h4>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#line.428">setReady</a>(boolean&nbsp;isReady)</pre>
+</li>
+</ul>
+<a name="suspendTableQueue(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>suspendTableQueue</h4>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#line.432">suspendTableQueue</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;queue)</pre>
+</li>
+</ul>
+<a name="suspendServerQueue(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>suspendServerQueue</h4>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#line.436">suspendServerQueue</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;queue)</pre>
+</li>
+</ul>
+<a name="hasWaitingTables()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasWaitingTables</h4>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#line.440">hasWaitingTables</a>()</pre>
+</li>
+</ul>
+<a name="popWaitingTable()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>popWaitingTable</h4>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</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/procedure/MasterProcedureScheduler.ProcedureEvent.html#line.444">popWaitingTable</a>()</pre>
+</li>
+</ul>
+<a name="hasWaitingServers()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasWaitingServers</h4>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#line.451">hasWaitingServers</a>()</pre>
+</li>
+</ul>
+<a name="popWaitingServer()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>popWaitingServer</h4>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</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/procedure/MasterProcedureScheduler.ProcedureEvent.html#line.455">popWaitingServer</a>()</pre>
+</li>
+</ul>
+<a name="toString()">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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/procedure/MasterProcedureScheduler.ProcedureEvent.html#line.463">toString</a>()</pre>
+<dl>
+<dt><strong>Overrides:</strong></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MasterProcedureScheduler.ProcedureEvent.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.ProcedureEvent.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html
new file mode 100644
index 0000000..924e6ab
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html
@@ -0,0 +1,659 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MasterProcedureScheduler.Queue (Apache HBase 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="MasterProcedureScheduler.Queue (Apache HBase 2.0.0-SNAPSHOT API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MasterProcedureScheduler.Queue.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.Queue.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.hadoop.hbase.master.procedure</div>
+<h2 title="Class MasterProcedureScheduler.Queue" class="title">Class MasterProcedureScheduler.Queue&lt;TKey extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;TKey&gt;&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue&lt;TKey&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueInterface</a></dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.NamespaceQueue</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueImpl</a></dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></dd>
+</dl>
+<hr>
+<br>
+<pre>private abstract static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.991">MasterProcedureScheduler.Queue</a>&lt;TKey extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;TKey&gt;&gt;
+extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueInterface</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private int</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#avlHeight">avlHeight</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="type parameter in MasterProcedureScheduler.Queue">TKey</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#avlLeft">avlLeft</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="type parameter in MasterProcedureScheduler.Queue">TKey</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#avlRight">avlRight</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#exclusiveLock">exclusiveLock</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="type parameter in MasterProcedureScheduler.Queue">TKey</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#iterNext">iterNext</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="type parameter in MasterProcedureScheduler.Queue">TKey</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#iterPrev">iterPrev</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="type parameter in MasterProcedureScheduler.Queue">TKey</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#key">key</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private int</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#priority">priority</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private int</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#sharedLock">sharedLock</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#suspended">suspended</a></strong></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#MasterProcedureScheduler.Queue(TKey)">MasterProcedureScheduler.Queue</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="type parameter in MasterProcedureScheduler.Queue">TKey</a>&nbsp;key)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#MasterProcedureScheduler.Queue(TKey,%20int)">MasterProcedureScheduler.Queue</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="type parameter in MasterProcedureScheduler.Queue">TKey</a>&nbsp;key,
+                                                            int&nbsp;priority)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#acquireDeleteLock()">acquireDeleteLock</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#compareKey(TKey)">compareKey</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="type parameter in MasterProcedureScheduler.Queue">TKey</a>&nbsp;cmpKey)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#compareTo(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">compareTo</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="type parameter in MasterProcedureScheduler.Queue">TKey</a>&gt;&nbsp;other)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="type parameter in MasterProcedureScheduler.Queue">TKey</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#getKey()">getKey</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected int</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#getPriority()">getPriority</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#hasExclusiveLock()">hasExclusiveLock</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#isAvailable()">isAvailable</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#isLocked()">isLocked</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#isSingleSharedLock()">isSingleSharedLock</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#isSuspended()">isSuspended</a></strong>()</code>
+<div class="block">True if the queue is not in the run-queue and it is owned by an event.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#releaseExclusiveLock()">releaseExclusiveLock</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#releaseSharedLock()">releaseSharedLock</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#setSuspended(boolean)">setSuspended</a></strong>(boolean&nbsp;isSuspended)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#toString()">toString</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#tryExclusiveLock()">tryExclusiveLock</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#trySharedLock()">trySharedLock</a></strong>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang
 /Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.QueueInterface">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueInterface</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html#add(org.apache.hadoop.hbase.procedure2.Procedure,%20boolean)">add</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html#isEmpty()">isEmpty</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html#poll()">poll</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html#requireExclusiveLock(org.apache.hadoop.hbase.procedure2.Procedure)">requireExclusiveLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html#size()">size</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="avlRight">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>avlRight</h4>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="type parameter in MasterProcedureScheduler.Queue">TKey</a> extends <a href="http://docs.oracle.com/javase/7/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/master/procedure/MasterProcedureScheduler.Queue.html" title="type parameter in MasterProcedureScheduler.Queue">TKey</a>&gt;&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#line.992">avlRight</a></pre>
+</li>
+</ul>
+<a name="avlLeft">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>avlLeft</h4>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="type parameter in MasterProcedureScheduler.Queue">TKey</a> extends <a href="http://docs.oracle.com/javase/7/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/master/procedure/MasterProcedureScheduler.Queue.html" title="type parameter in MasterProcedureScheduler.Queue">TKey</a>&gt;&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#line.993">avlLeft</a></pre>
+</li>
+</ul>
+<a name="avlHeight">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>avlHeight</h4>
+<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#line.994">avlHeight</a></pre>
+</li>
+</ul>
+<a name="iterNext">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>iterNext</h4>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="type parameter in MasterProcedureScheduler.Queue">TKey</a> extends <a href="http://docs.oracle.com/javase/7/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/master/procedure/MasterProcedureScheduler.Queue.html" title="type parameter in MasterProcedureScheduler.Queue">TKey</a>&gt;&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#line.996">iterNext</a></pre>
+</li>
+</ul>
+<a name="iterPrev">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>iterPrev</h4>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="type parameter in MasterProcedureScheduler.Queue">TKey</a> extends <a href="http://docs.oracle.com/javase/7/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/master/procedure/MasterProcedureScheduler.Queue.html" title="type parameter in MasterProcedureScheduler.Queue">TKey</a>&gt;&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#line.997">iterPrev</a></pre>
+</li>
+</ul>
+<a name="suspended">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>suspended</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#line.998">suspended</a></pre>
+</li>
+</ul>
+<a name="exclusiveLock">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>exclusiveLock</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#line.1000">exclusiveLock</a></pre>
+</li>
+</ul>
+<a name="sharedLock">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sharedLock</h4>
+<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#line.1001">sharedLock</a></pre>
+</li>
+</ul>
+<a name="key">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>key</h4>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="type parameter in MasterProcedureScheduler.Queue">TKey</a> extends <a href="http://docs.oracle.com/javase/7/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/master/procedure/MasterProcedureScheduler.Queue.html" title="type parameter in MasterProcedureScheduler.Queue">TKey</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#line.1003">key</a></pre>
+</li>
+</ul>
+<a name="priority">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>priority</h4>
+<pre>private final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#line.1004">priority</a></pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="MasterProcedureScheduler.Queue(java.lang.Comparable)">
+<!--   -->
+</a><a name="MasterProcedureScheduler.Queue(TKey)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>MasterProcedureScheduler.Queue</h4>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#line.1006">MasterProcedureScheduler.Queue</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="type parameter in MasterProcedureScheduler.Queue">TKey</a>&nbsp;key)</pre>
+</li>
+</ul>
+<a name="MasterProcedureScheduler.Queue(java.lang.Comparable,int)">
+<!--   -->
+</a><a name="MasterProcedureScheduler.Queue(TKey, int)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MasterProcedureScheduler.Queue</h4>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#line.1010">MasterProcedureScheduler.Queue</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="type parameter in MasterProcedureScheduler.Queue">TKey</a>&nbsp;key,
+                              int&nbsp;priority)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getKey()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getKey</h4>
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="type parameter in MasterProcedureScheduler.Queue">TKey</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#line.1015">getKey</a>()</pre>
+</li>
+</ul>
+<a name="getPriority()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPriority</h4>
+<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#line.1019">getPriority</a>()</pre>
+</li>
+</ul>
+<a name="isSuspended()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isSuspended</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#line.1026">isSuspended</a>()</pre>
+<div class="block">True if the queue is not in the run-queue and it is owned by an event.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html#isSuspended()">isSuspended</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueInterface</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="setSuspended(boolean)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setSuspended</h4>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#line.1030">setSuspended</a>(boolean&nbsp;isSuspended)</pre>
+</li>
+</ul>
+<a name="isLocked()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isLocked</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#line.1039">isLocked</a>()</pre>
+</li>
+</ul>
+<a name="hasExclusiveLock()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasExclusiveLock</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#line.1043">hasExclusiveLock</a>()</pre>
+</li>
+</ul>
+<a name="trySharedLock()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>trySharedLock</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#line.1047">trySharedLock</a>()</pre>
+</li>
+</ul>
+<a name="releaseSharedLock()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>releaseSharedLock</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#line.1053">releaseSharedLock</a>()</pre>
+</li>
+</ul>
+<a name="isSingleSharedLock()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isSingleSharedLock</h4>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#line.1057">isSingleSharedLock</a>()</pre>
+</li>
+</ul>
+<a name="tryExclusiveLock()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>tryExclusiveLock</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#line.1061">tryExclusiveLock</a>()</pre>
+</li>
+</ul>
+<a name="releaseExclusiveLock()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>releaseExclusiveLock</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#line.1067">releaseExclusiveLock</a>()</pre>
+</li>
+</ul>
+<a name="acquireDeleteLock()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>acquireDeleteLock</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#line.1071">acquireDeleteLock</a>()</pre>
+</li>
+</ul>
+<a name="isAvailable()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isAvailable</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#line.1077">isAvailable</a>()</pre>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html#isAvailable()">isAvailable</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueInterface</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="compareKey(java.lang.Comparable)">
+<!--   -->
+</a><a name="compareKey(TKey)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>compareKey</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#line.1084">compareKey</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="type parameter in MasterProcedureScheduler.Queue">TKey</a>&nbsp;cmpKey)</pre>
+</li>
+</ul>
+<a name="compareTo(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>compareTo</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#line.1088">compareTo</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="type parameter in MasterProcedureScheduler.Queue">TKey</a>&gt;&nbsp;other)</pre>
+</li>
+</ul>
+<a name="toString()">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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/procedure/MasterProcedureScheduler.Queue.html#line.1093">toString</a>()</pre>
+<dl>
+<dt><strong>Overrides:</strong></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MasterProcedureScheduler.Queue.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.Queue.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html b/devapidocs/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html
index 20c8ae8..4a34815 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html
@@ -96,7 +96,7 @@
 <hr>
 <br>
 <pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.83">AsyncRpcChannel</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.82">AsyncRpcChannel</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Netty RPC channel</div>
 </li>
@@ -168,57 +168,53 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>private int</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#connectFailureCounter">connectFailureCounter</a></strong></code>&nbsp;</td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#failureCounter">failureCounter</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>private int</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#ioFailureCounter">ioFailureCounter</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><code>private static org.apache.commons.logging.Log</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#LOG">LOG</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#MAX_SASL_RETRIES">MAX_SASL_RETRIES</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#name">name</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncCall.html" title="class in org.apache.hadoop.hbase.ipc">AsyncCall</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#pendingCalls">pendingCalls</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#reloginMaxBackoff">reloginMaxBackoff</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#serverPrincipal">serverPrincipal</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#serviceName">serviceName</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#ticket">ticket</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private io.netty.util.TimerTask</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#timeoutTask">timeoutTask</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private org.apache.hadoop.security.token.Token&lt;? extends org.apache.hadoop.security.token.TokenIdentifier&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#token">token</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected static <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.apache.hadoop.hbase.protobuf.generated.AuthenticationProtos.TokenIdentifier.Kind,org.apache.hadoop.security.token.TokenSelector&lt;? extends org.apache.hadoop.security.token.TokenIdentifier&gt;&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#tokenHandlers">tokenHandlers</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#useSasl">useSasl</a></strong></code>&nbsp;</td>
 </tr>
@@ -343,8 +339,9 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#retryOrClose(io.netty.bootstrap.Bootstrap,%20int,%20java.lang.Throwable)">retryOrClose</a></strong>(io.netty.bootstrap.Bootstrap&nbsp;bootstrap,
-                        int&nbsp;connectCounter,
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#retryOrClose(io.netty.bootstrap.Bootstrap,%20int,%20long,%20java.lang.Throwable)">retryOrClose</a></strong>(io.netty.bootstrap.Bootstrap&nbsp;bootstrap,
+                        int&nbsp;failureCount,
+                        long&nbsp;timeout,
                         <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;e)</code>
 <div class="block">Retry to connect or close</div>
 </td>
@@ -411,7 +408,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.84">LOG</a></pre>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.83">LOG</a></pre>
 </li>
 </ul>
 <a name="MAX_SASL_RETRIES">
@@ -420,7 +417,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>MAX_SASL_RETRIES</h4>
-<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.86">MAX_SASL_RETRIES</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.85">MAX_SASL_RETRIES</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.ipc.AsyncRpcChannel.MAX_SASL_RETRIES">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -430,7 +427,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>tokenHandlers</h4>
-<pre>protected static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.apache.hadoop.hbase.protobuf.generated.AuthenticationProtos.TokenIdentifier.Kind,org.apache.hadoop.security.token.TokenSelector&lt;? extends org.apache.hadoop.security.token.TokenIdentifier&gt;&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.89">tokenHandlers</a></pre>
+<pre>protected static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.apache.hadoop.hbase.protobuf.generated.AuthenticationProtos.TokenIdentifier.Kind,org.apache.hadoop.security.token.TokenSelector&lt;? extends org.apache.hadoop.security.token.TokenIdentifier&gt;&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.88">tokenHandlers</a></pre>
 </li>
 </ul>
 <a name="client">
@@ -439,7 +436,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>client</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcClient.html" title="class in org.apache.hadoop.hbase.ipc">AsyncRpcClient</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.96">client</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcClient.html" title="class in org.apache.hadoop.hbase.ipc">AsyncRpcClient</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.95">client</a></pre>
 </li>
 </ul>
 <a name="channel">
@@ -448,7 +445,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>channel</h4>
-<pre>private&nbsp;io.netty.channel.Channel <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.100">channel</a></pre>
+<pre>private&nbsp;io.netty.channel.Channel <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.99">channel</a></pre>
 </li>
 </ul>
 <a name="name">
@@ -457,7 +454,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>name</h4>
-<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.102">name</a></pre>
+<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.101">name</a></pre>
 </li>
 </ul>
 <a name="ticket">
@@ -466,7 +463,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>ticket</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.103">ticket</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.102">ticket</a></pre>
 </li>
 </ul>
 <a name="serviceName">
@@ -475,7 +472,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>serviceName</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.104">serviceName</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.103">serviceName</a></pre>
 </li>
 </ul>
 <a name="address">
@@ -484,25 +481,16 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>address</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.105">address</a></pre>
-</li>
-</ul>
-<a name="ioFailureCounter">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>ioFailureCounter</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.107">ioFailureCounter</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.104">address</a></pre>
 </li>
 </ul>
-<a name="connectFailureCounter">
+<a name="failureCounter">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>connectFailureCounter</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.108">connectFailureCounter</a></pre>
+<h4>failureCounter</h4>
+<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.106">failureCounter</a></pre>
 </li>
 </ul>
 <a name="useSasl">
@@ -511,7 +499,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>useSasl</h4>
-<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.110">useSasl</a></pre>
+<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.108">useSasl</a></pre>
 </li>
 </ul>
 <a name="authMethod">
@@ -520,7 +508,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>authMethod</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security">AuthMethod</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.111">authMethod</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security">AuthMethod</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.109">authMethod</a></pre>
 </li>
 </ul>
 <a name="reloginMaxBackoff">
@@ -529,7 +517,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>reloginMaxBackoff</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.112">reloginMaxBackoff</a></pre>
+<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.110">reloginMaxBackoff</a></pre>
 </li>
 </ul>
 <a name="token">
@@ -538,7 +526,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>token</h4>
-<pre>private&nbsp;org.apache.hadoop.security.token.Token&lt;? extends org.apache.hadoop.security.token.TokenIdentifier&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.113">token</a></pre>
+<pre>private&nbsp;org.apache.hadoop.security.token.Token&lt;? extends org.apache.hadoop.security.token.TokenIdentifier&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.111">token</a></pre>
 </li>
 </ul>
 <a name="serverPrincipal">
@@ -547,7 +535,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>serverPrincipal</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.114">serverPrincipal</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.112">serverPrincipal</a></pre>
 </li>
 </ul>
 <a name="pendingCalls">
@@ -556,7 +544,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>pendingCalls</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncCall.html" title="class in org.apache.hadoop.hbase.ipc">AsyncCall</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.118">pendingCalls</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncCall.html" title="class in org.apache.hadoop.hbase.ipc">AsyncCall</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.116">pendingCalls</a></pre>
 </li>
 </ul>
 <a name="connected">
@@ -565,7 +553,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>connected</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.119">connected</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.117">connected</a></pre>
 </li>
 </ul>
 <a name="closed">
@@ -574,7 +562,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>closed</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.120">closed</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.118">closed</a></pre>
 </li>
 </ul>
 <a name="cleanupTimer">
@@ -583,7 +571,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>cleanupTimer</h4>
-<pre>private&nbsp;io.netty.util.Timeout <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.122">cleanupTimer</a></pre>
+<pre>private&nbsp;io.netty.util.Timeout <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.120">cleanupTimer</a></pre>
 </li>
 </ul>
 <a name="timeoutTask">
@@ -592,7 +580,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>timeoutTask</h4>
-<pre>private final&nbsp;io.netty.util.TimerTask <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.124">timeoutTask</a></pre>
+<pre>private final&nbsp;io.netty.util.TimerTask <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.122">timeoutTask</a></pre>
 </li>
 </ul>
 </li>
@@ -609,7 +597,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>AsyncRpcChannel</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.140">AsyncRpcChannel</a>(io.netty.bootstrap.Bootstrap&nbsp;bootstrap,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.138">AsyncRpcChannel</a>(io.netty.bootstrap.Bootstrap&nbsp;bootstrap,
                <a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcClient.html" title="class in org.apache.hadoop.hbase.ipc">AsyncRpcClient</a>&nbsp;client,
                <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;ticket,
                <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;serviceName,
@@ -632,7 +620,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>connect</h4>
-<pre>private&nbsp;io.netty.channel.ChannelFuture&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.163">connect</a>(io.netty.bootstrap.Bootstrap&nbsp;bootstrap)</pre>
+<pre>private&nbsp;io.netty.channel.ChannelFuture&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.161">connect</a>(io.netty.bootstrap.Bootstrap&nbsp;bootstrap)</pre>
 <div class="block">Connect to channel</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>bootstrap</code> - to connect to</dd>
 <dt><span class="strong">Returns:</span></dt><dd>future of connection</dd></dl>
@@ -644,7 +632,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>startHBaseConnection</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.221">startHBaseConnection</a>(io.netty.channel.Channel&nbsp;ch)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.215">startHBaseConnection</a>(io.netty.channel.Channel&nbsp;ch)</pre>
 <div class="block">Start HBase connection</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>ch</code> - channel to start connection on</dd></dl>
 </li>
@@ -655,7 +643,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getSaslHandler</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/SaslClientHandler.html" title="class in org.apache.hadoop.hbase.security">SaslClientHandler</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.254">getSaslHandler</a>(org.apache.hadoop.security.UserGroupInformation&nbsp;realTicket,
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/SaslClientHandler.html" title="class in org.apache.hadoop.hbase.security">SaslClientHandler</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.248">getSaslHandler</a>(org.apache.hadoop.security.UserGroupInformation&nbsp;realTicket,
                                io.netty.bootstrap.Bootstrap&nbsp;bootstrap)
                                   throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Get SASL handler</div>
@@ -665,17 +653,18 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if handler failed to create</dd></dl>
 </li>
 </ul>
-<a name="retryOrClose(io.netty.bootstrap.Bootstrap, int, java.lang.Throwable)">
+<a name="retryOrClose(io.netty.bootstrap.Bootstrap, int, long, java.lang.Throwable)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>retryOrClose</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.292">retryOrClose</a>(io.netty.bootstrap.Bootstrap&nbsp;bootstrap,
-                int&nbsp;connectCounter,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.281">retryOrClose</a>(io.netty.bootstrap.Bootstrap&nbsp;bootstrap,
+                int&nbsp;failureCount,
+                long&nbsp;timeout,
                 <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;e)</pre>
 <div class="block">Retry to connect or close</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>bootstrap</code> - to connect with</dd><dd><code>connectCounter</code> - amount of tries</dd><dd><code>e</code> - exception of fail</dd></dl>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>bootstrap</code> - to connect with</dd><dd><code>failureCount</code> - failure count</dd><dd><code>e</code> - exception of fail</dd></dl>
 </li>
 </ul>
 <a name="callMethod(com.google.protobuf.Descriptors.MethodDescriptor, org.apache.hadoop.hbase.ipc.PayloadCarryingRpcController, com.google.protobuf.Message, com.google.protobuf.Message, org.apache.hadoop.hbase.client.MetricsConnection.CallStats)">
@@ -684,7 +673,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>callMethod</h4>
-<pre>public&nbsp;io.netty.util.concurrent.Promise&lt;com.google.protobuf.Message&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.312">callMethod</a>(com.google.protobuf.Descriptors.MethodDescriptor&nbsp;method,
+<pre>public&nbsp;io.netty.util.concurrent.Promise&lt;com.google.protobuf.Message&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.303">callMethod</a>(com.google.protobuf.Descriptors.MethodDescriptor&nbsp;method,
                                                                        <a href="../../../../../org/apache/hadoop/hbase/ipc/PayloadCarryingRpcController.html" title="class in org.apache.hadoop.hbase.ipc">PayloadCarryingRpcController</a>&nbsp;controller,
                                                                        com.google.protobuf.Message&nbsp;request,
                                                                        com.google.protobuf.Message&nbsp;responsePrototype,
@@ -699,7 +688,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>removePendingCall</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncCall.html" title="class in org.apache.hadoop.hbase.ipc">AsyncCall</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.355">removePendingCall</a>(int&nbsp;id)</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncCall.html" title="class in org.apache.hadoop.hbase.ipc">AsyncCall</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.346">removePendingCall</a>(int&nbsp;id)</pre>
 </li>
 </ul>
 <a name="writeChannelHeader(io.netty.channel.Channel)">
@@ -708,7 +697,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>writeChannelHeader</h4>
-<pre>private&nbsp;io.netty.channel.ChannelFuture&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.368">writeChannelHeader</a>(io.netty.channel.Channel&nbsp;channel)
+<pre>private&nbsp;io.netty.channel.ChannelFuture&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.359">writeChannelHeader</a>(io.netty.channel.Channel&nbsp;channel)
                                                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Write the channel header</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>channel</code> - to write to</dd>
@@ -723,7 +712,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>writeRequest</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.403">writeRequest</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncCall.html" title="class in org.apache.hadoop.hbase.ipc">AsyncCall</a>&nbsp;call)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.394">writeRequest</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncCall.html" title="class in org.apache.hadoop.hbase.ipc">AsyncCall</a>&nbsp;call)</pre>
 <div class="block">Write request to channel</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>call</code> - to write</dd></dl>
 </li>
@@ -734,7 +723,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setupAuthorization</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.451">setupAuthorization</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.442">setupAuthorization</a>()
                          throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Set up server authorization</div>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -747,7 +736,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>buildUserInfo</h4>
-<pre>private&nbsp;org.apache.hadoop.hbase.protobuf.generated.RPCProtos.UserInformation&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.501">buildUserInfo</a>(org.apache.hadoop.security.UserGroupInformation&nbsp;ugi,
+<pre>private&nbsp;org.apache.hadoop.hbase.protobuf.generated.RPCProtos.UserInformation&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.492">buildUserInfo</a>(org.apache.hadoop.security.UserGroupInformation&nbsp;ugi,
                                                                                  <a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security">AuthMethod</a>&nbsp;authMethod)</pre>
 <div class="block">Build the user information</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>ugi</code> - User Group Information</dd><dd><code>authMethod</code> - Authorization method</dd>
@@ -760,7 +749,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>createPreamble</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.526">createPreamble</a>(io.netty.buffer.ByteBuf&nbsp;byteBuf,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.517">createPreamble</a>(io.netty.buffer.ByteBuf&nbsp;byteBuf,
                   <a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security">AuthMethod</a>&nbsp;authMethod)</pre>
 <div class="block">Create connection preamble</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>byteBuf</code> - to write to</dd><dd><code>authMethod</code> - to write</dd></dl>
@@ -772,7 +761,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>close</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.537">close</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;e)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.528">close</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;e)</pre>
 <div class="block">Close connection</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>e</code> - exception on close</dd></dl>
 </li>
@@ -783,7 +772,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>cleanupCalls</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.584">cleanupCalls</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.575">cleanupCalls</a>()</pre>
 <div class="block">Clean up calls.</div>
 </li>
 </ul>
@@ -793,7 +782,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isAlive</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.622">isAlive</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.613">isAlive</a>()</pre>
 <div class="block">Check if the connection is alive</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>true if alive</dd></dl>
 </li>
@@ -804,7 +793,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>shouldAuthenticateOverKrb</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.632">shouldAuthenticateOverKrb</a>()
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.623">shouldAuthenticateOverKrb</a>()
                                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Check if user should authenticate over Kerberos</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>true if should be authenticated over Kerberos</dd>
@@ -818,7 +807,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>handleSaslConnectionFailure</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.669">handleSaslConnectionFailure</a>(int&nbsp;currRetries,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.660">handleSaslConnectionFailure</a>(int&nbsp;currRetries,
                                <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;ex,
                                org.apache.hadoop.security.UserGroupInformation&nbsp;user)
                                   throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
@@ -851,7 +840,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getConnectionHashCode</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.711">getConnectionHashCode</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.702">getConnectionHashCode</a>()</pre>
 </li>
 </ul>
 <a name="hashCode()">
@@ -860,7 +849,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>hashCode</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.716">hashCode</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.707">hashCode</a>()</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -873,7 +862,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>equals</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.721">equals</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.712">equals</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -886,7 +875,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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/ipc/AsyncRpcChannel.html#line.731">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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/ipc/AsyncRpcChannel.html#line.722">toString</a>()</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/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 0089465..ab31455 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
@@ -269,8 +269,8 @@
 <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="strong">CellCounter.CellCounterMapper.Counters</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/RowCounter.RowCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="strong">RowCounter.RowCounterMapper.Counters</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/TableSplit.Version.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="strong">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="strong">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="strong">TableSplit.Version</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html b/devapidocs/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html
index fa21424..7f6d3f9 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html
@@ -108,7 +108,7 @@
 </dl>
 <hr>
 <br>
-<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.193">HMaster.InitializationMonitor</a>
+<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.194">HMaster.InitializationMonitor</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/util/HasThread.html" title="class in org.apache.hadoop.hbase.util">HasThread</a></pre>
 <div class="block">Protection against zombie master. Started once Master accepts active responsibility and
  starts taking over responsibilities. Allows a finite time window before giving up ownership.</div>
@@ -236,7 +236,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/HasThread.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>TIMEOUT_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.195">TIMEOUT_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.196">TIMEOUT_KEY</a></pre>
 <div class="block">The amount of time in milliseconds to sleep before checking initialization status.</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.HMaster.InitializationMonitor.TIMEOUT_KEY">Constant Field Values</a></dd></dl>
 </li>
@@ -247,7 +247,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/HasThread.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>TIMEOUT_DEFAULT</h4>
-<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.196">TIMEOUT_DEFAULT</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.197">TIMEOUT_DEFAULT</a></pre>
 </li>
 </ul>
 <a name="HALT_KEY">
@@ -256,7 +256,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/HasThread.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>HALT_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.202">HALT_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.203">HALT_KEY</a></pre>
 <div class="block">When timeout expired and initialization has not complete, call <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/System.html?is-external=true#exit(int)" title="class or interface in java.lang"><code>System.exit(int)</code></a> when
  true, do nothing otherwise.</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.HMaster.InitializationMonitor.HALT_KEY">Constant Field Values</a></dd></dl>
@@ -268,7 +268,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/HasThread.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>HALT_DEFAULT</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.203">HALT_DEFAULT</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.204">HALT_DEFAULT</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.HMaster.InitializationMonitor.HALT_DEFAULT">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -278,7 +278,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/HasThread.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>master</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.205">master</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.206">master</a></pre>
 </li>
 </ul>
 <a name="timeout">
@@ -287,7 +287,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/HasThread.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>timeout</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.206">timeout</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.207">timeout</a></pre>
 </li>
 </ul>
 <a name="haltOnTimeout">
@@ -296,7 +296,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/HasThread.html" tit
 <ul class="blockListLast">
 <li class="blockList">
 <h4>haltOnTimeout</h4>
-<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.207">haltOnTimeout</a></pre>
+<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.208">haltOnTimeout</a></pre>
 </li>
 </ul>
 </li>
@@ -313,7 +313,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/HasThread.html" tit
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HMaster.InitializationMonitor</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.210">HMaster.InitializationMonitor</a>(<a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a>&nbsp;master)</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.211">HMaster.InitializationMonitor</a>(<a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a>&nbsp;master)</pre>
 <div class="block">Creates a Thread that monitors the <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isInitialized()"><code>HMaster.isInitialized()</code></a> state.</div>
 </li>
 </ul>
@@ -331,7 +331,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/HasThread.html" tit
 <ul class="blockListLast">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.219">run</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.220">run</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true#run()" title="class or interface in java.lang">run</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html b/devapidocs/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html
index 02ab6cd..039a6b5 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html
@@ -113,7 +113,7 @@
 </dl>
 <hr>
 <br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.346">HMaster.RedirectServlet</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.348">HMaster.RedirectServlet</a>
 extends javax.servlet.http.HttpServlet</pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../serialized-form.html#org.apache.hadoop.hbase.master.HMaster.RedirectServlet">Serialized Form</a></dd></dl>
 </li>
@@ -221,7 +221,7 @@ extends javax.servlet.http.HttpServlet</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>serialVersionUID</h4>
-<pre>private static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html#line.347">serialVersionUID</a></pre>
+<pre>private static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html#line.349">serialVersionUID</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.HMaster.RedirectServlet.serialVersionUID">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -231,7 +231,7 @@ extends javax.servlet.http.HttpServlet</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>regionServerInfoPort</h4>
-<pre>private static&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html#line.348">regionServerInfoPort</a></pre>
+<pre>private static&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html#line.350">regionServerInfoPort</a></pre>
 </li>
 </ul>
 </li>
@@ -248,7 +248,7 @@ extends javax.servlet.http.HttpServlet</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HMaster.RedirectServlet</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html#line.346">HMaster.RedirectServlet</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html#line.348">HMaster.RedirectServlet</a>()</pre>
 </li>
 </ul>
 </li>
@@ -265,7 +265,7 @@ extends javax.servlet.http.HttpServlet</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>doGet</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html#line.351">doGet</a>(javax.servlet.http.HttpServletRequest&nbsp;request,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html#line.353">doGet</a>(javax.servlet.http.HttpServletRequest&nbsp;request,
          javax.servlet.http.HttpServletResponse&nbsp;response)
            throws javax.servlet.ServletException,
                   <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html
index 311b73e..ca840dc 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html
@@ -110,7 +110,7 @@
 <hr>
 <br>
 <pre><a href="../../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.50">DeleteColumnFamilyProcedure</a>
+public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.49">DeleteColumnFamilyProcedure</a>
 extends <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">StateMachineProcedure</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>,org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DeleteColumnFamilyState&gt;
 implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface</a></pre>
 <div class="block">The procedure to delete a column family from an existing table.</div>
@@ -426,7 +426,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.53">LOG</a></pre>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.52">LOG</a></pre>
 </li>
 </ul>
 <a name="aborted">
@@ -435,7 +435,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>aborted</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.55">aborted</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.54">aborted</a></pre>
 </li>
 </ul>
 <a name="unmodifiedHTableDescriptor">
@@ -444,7 +444,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>unmodifiedHTableDescriptor</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.57">unmodifiedHTableDescriptor</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.56">unmodifiedHTableDescriptor</a></pre>
 </li>
 </ul>
 <a name="tableName">
@@ -453,7 +453,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>tableName</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.58">tableName</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.57">tableName</a></pre>
 </li>
 </ul>
 <a name="familyName">
@@ -462,7 +462,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>familyName</h4>
-<pre>private&nbsp;byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.59">familyName</a></pre>
+<pre>private&nbsp;byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.58">familyName</a></pre>
 </li>
 </ul>
 <a name="hasMob">
@@ -471,7 +471,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>hasMob</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.60">hasMob</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.59">hasMob</a></pre>
 </li>
 </ul>
 <a name="user">
@@ -480,7 +480,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>user</h4>
-<pre>private&nbsp;org.apache.hadoop.security.UserGroupInformation <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.61">user</a></pre>
+<pre>private&nbsp;org.apache.hadoop.security.UserGroupInformation <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.60">user</a></pre>
 </li>
 </ul>
 <a name="regionInfoList">
@@ -489,7 +489,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>regionInfoList</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.63">regionInfoList</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.62">regionInfoList</a></pre>
 </li>
 </ul>
 <a name="traceEnabled">
@@ -498,7 +498,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockListLast">
 <li class="blockList">
 <h4>traceEnabled</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.64">traceEnabled</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.63">traceEnabled</a></pre>
 </li>
 </ul>
 </li>
@@ -515,7 +515,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>DeleteColumnFamilyProcedure</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.66">DeleteColumnFamilyProcedure</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.65">DeleteColumnFamilyProcedure</a>()</pre>
 </li>
 </ul>
 <a name="DeleteColumnFamilyProcedure(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv, org.apache.hadoop.hbase.TableName, byte[])">
@@ -524,7 +524,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockListLast">
 <li class="blockList">
 <h4>DeleteColumnFamilyProcedure</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.72">DeleteColumnFamilyProcedure</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.71">DeleteColumnFamilyProcedure</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                            <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                            byte[]&nbsp;familyName)
                             throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -546,7 +546,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>executeFromState</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2">StateMachineProcedure.Flow</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.86">executeFromState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2">StateMachineProcedure.Flow</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.85">executeFromState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                           org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DeleteColumnFamilyState&nbsp;state)
                                                throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#executeFromState(TEnvironment,%20TState)">StateMachineProcedure</a></code></strong></div>
@@ -567,7 +567,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>rollbackState</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.135">rollbackState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.134">rollbackState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                  org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DeleteColumnFamilyState&nbsp;state)
                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#rollbackState(TEnvironment,%20TState)">StateMachineProcedure</a></code></strong></div>
@@ -586,7 +586,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getState</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DeleteColumnFamilyState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.174">getState</a>(int&nbsp;stateId)</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DeleteColumnFamilyState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.173">getState</a>(int&nbsp;stateId)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getState(int)">StateMachineProcedure</a></code></strong></div>
 <div class="block">Convert an ordinal (or state id) to an Enum (or more descriptive) state object.</div>
 <dl>
@@ -602,7 +602,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getStateId</h4>
-<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.179">getStateId</a>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DeleteColumnFamilyState&nbsp;state)</pre>
+<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.178">getStateId</a>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DeleteColumnFamilyState&nbsp;state)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getStateId(TState)">StateMachineProcedure</a></code></strong></div>
 <div class="block">Convert the Enum (or more descriptive) state object to an ordinal (or state id).</div>
 <dl>
@@ -618,7 +618,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getInitialState</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DeleteColumnFamilyState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.184">getInitialState</a>()</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DeleteColumnFamilyState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.183">getInitialState</a>()</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getInitialState()">StateMachineProcedure</a></code></strong></div>
 <div class="block">Return the initial state object that will be used for the first call to executeFromState().</div>
 <dl>
@@ -633,7 +633,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>setNextState</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.189">setNextState</a>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DeleteColumnFamilyState&nbsp;state)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.188">setNextState</a>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DeleteColumnFamilyState&nbsp;state)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#setNextState(TState)">StateMachineProcedure</a></code></strong></div>
 <div class="block">Set the next state for the procedure.</div>
 <dl>
@@ -648,7 +648,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>abort</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.198">abort</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.197">abort</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#abort(TEnvironment)">Procedure</a></code></strong></div>
 <div class="block">The abort() call is asynchronous and each procedure must decide how to deal
  with that, if they want to be abortable. The simplest implementation
@@ -672,7 +672,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>acquireLock</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.204">acquireLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.203">acquireLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#acquireLock(TEnvironment)">Procedure</a></code></strong></div>
 <div class="block">The user should override this method, and try to take a lock if necessary.
  A lock can be anything, and it is up to the implementor.
@@ -691,7 +691,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>releaseLock</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.212">releaseLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.209">releaseLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#releaseLock(TEnvironment)">Procedure</a></code></strong></div>
 <div class="block">The user should override this method, and release lock if necessary.</div>
 <dl>
@@ -706,7 +706,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>serializeStateData</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.217">serializeStateData</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;stream)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.214">serializeStateData</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;stream)
                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#serializeStateData(java.io.OutputStream)">Procedure</a></code></strong></div>
 <div class="block">The user-level code of the procedure may have some state to
@@ -725,7 +725,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>deserializeStateData</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.233">deserializeStateData</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;stream)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.230">deserializeStateData</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;stream)
                           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#deserializeStateData(java.io.InputStream)">Procedure</a></code></strong></div>
 <div class="block">Called on store load to allow the user to decode the previously serialized
@@ -744,7 +744,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>toStringClassDetails</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.247">toStringClassDetails</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;sb)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.244">toStringClassDetails</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;sb)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringClassDetails(java.lang.StringBuilder)">Procedure</a></code></strong></div>
 <div class="block">Extend the toString() information with the procedure details
  e.g. className and parameters</div>
@@ -760,7 +760,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableName</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.261">getTableName</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.258">getTableName</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html#getTableName()">getTableName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface</a></code></dd>
@@ -773,7 +773,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableOperationType</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface.TableOperationType</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.266">getTableOperationType</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface.TableOperationType</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.263">getTableOperationType</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html#getTableOperationType()">TableProcedureInterface</a></code></strong></div>
 <div class="block">Given an operation type we can take decisions about what to do with pending operations.
  e.g. if we get a delete and we have some table operation pending (e.g. add column)
@@ -790,7 +790,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>prepareDelete</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.275">prepareDelete</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.272">prepareDelete</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Action before any real action of deleting column family.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>env</code> - MasterProcedureEnv</dd>
@@ -804,7 +804,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>preDelete</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.305">preDelete</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.302">preDelete</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
              org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DeleteColumnFamilyState&nbsp;state)
                 throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                        <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
@@ -821,7 +821,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>updateTableDescriptor</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.313">updateTableDescriptor</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.310">updateTableDescriptor</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                             throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Remove the column family from the file system and update the table descriptor</div>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -834,7 +834,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>restoreTableDescriptor</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.335">restoreTableDescriptor</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.332">restoreTableDescriptor</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                              throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Restore back to the old descriptor</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>env</code> - MasterProcedureEnv</dd>
@@ -848,7 +848,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteFromFs</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.345">deleteFromFs</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.342">deleteFromFs</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Remove the column family from the file system</div>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -861,7 +861,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>postDelete</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.357">postDelete</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.354">postDelete</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
               org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DeleteColumnFamilyState&nbsp;state)
                  throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                         <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
@@ -878,7 +878,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>reOpenAllRegionsIfTableIsOnline</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.367">reOpenAllRegionsIfTableIsOnline</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.364">reOpenAllRegionsIfTableIsOnline</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Last action from the procedure - executed when online schema change is supported.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>env</code> - MasterProcedureEnv</dd>
@@ -892,7 +892,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>isTraceEnabled</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.386">isTraceEnabled</a>()</pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.383">isTraceEnabled</a>()</pre>
 <div class="block">The procedure could be restarted from a different machine. If the variable is null, we need to
  retrieve it.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>traceEnabled</dd></dl>
@@ -904,7 +904,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getColumnFamilyName</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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/procedure/DeleteColumnFamilyProcedure.html#line.393">getColumnFamilyName</a>()</pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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/procedure/DeleteColumnFamilyProcedure.html#line.390">getColumnFamilyName</a>()</pre>
 </li>
 </ul>
 <a name="runCoprocessorAction(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv, org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DeleteColumnFamilyState)">
@@ -913,7 +913,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>runCoprocessorAction</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.404">runCoprocessorAction</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.401">runCoprocessorAction</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                         org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DeleteColumnFamilyState&nbsp;state)
                            throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                   <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
@@ -930,7 +930,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>isRollbackSupported</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.430">isRollbackSupported</a>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DeleteColumnFamilyState&nbsp;state)</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.427">isRollbackSupported</a>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DeleteColumnFamilyState&nbsp;state)</pre>
 </li>
 </ul>
 <a name="getRegionInfoList(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">
@@ -939,7 +939,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getRegionInfoList</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.443">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="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html#line.440">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="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/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/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html
index f2216c8..138ae29 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html
@@ -258,109 +258,113 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#getNamespaceName()">getNamespaceName</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>protected org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DeleteNamespaceState</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#getState(int)">getState</a></strong>(int&nbsp;stateId)</code>
 <div class="block">Convert an ordinal (or state id) to an Enum (or more descriptive) state object.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#getStateId(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DeleteNamespaceState)">getStateId</a></strong>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DeleteNamespaceState&nbsp;state)</code>
 <div class="block">Convert the Enum (or more descriptive) state object to an ordinal (or state id).</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#getTableName()">getTableName</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static <a href="../../../../../../org/apache/hadoop/hbase/master/TableNamespaceManager.html" title="class in org.apache.hadoop.hbase.master">TableNamespaceManager</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#getTableNamespaceManager(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">getTableNamespaceManager</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface.TableOperationType</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#getTableOperationType()">getTableOperationType</a></strong>()</code>
 <div class="block">Given an operation type we can take decisions about what to do with pending operations.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#isTraceEnabled()">isTraceEnabled</a></strong>()</code>
 <div class="block">The procedure could be restarted from a different machine.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#prepareDelete(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">prepareDelete</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>
 <div class="block">Action before any real action of deleting namespace.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#releaseLock(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">releaseLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>
 <div class="block">The user should override this method, and release lock if necessary.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected static void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#removeFromZKNamespaceManager(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv,%20java.lang.String)">removeFromZKNamespaceManager</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                                         <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespaceName)</code>
 <div class="block">remove from Zookeeper.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected static void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#removeNamespaceQuota(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv,%20java.lang.String)">removeNamespaceQuota</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                         <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespaceName)</code>
 <div class="block">remove quota for the namespace</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#rollbackDeleteDirectory(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">rollbackDeleteDirectory</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>
 <div class="block">undo delete directory</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#rollbackState(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv,%20org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DeleteNamespaceState)">rollbackState</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                           org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DeleteNamespaceState&nbsp;state)</code>
 <div class="block">called to perform the rollback of the specified state</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#rollbacRemoveNamespaceQuota(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">rollbacRemoveNamespaceQuota</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>
 <div class="block">undo remove quota for the namespace</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#serializeStateData(java.io.OutputStream)">serializeStateData</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;stream)</code>
 <div class="block">The user-level code of the procedure may have some state to
  persist (e.g.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#setNextState(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DeleteNamespaceState)">setNextState</a></strong>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DeleteNamespaceState&nbsp;state)</code>
 <div class="block">Set the next state for the procedure.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#toStringClassDetails(java.lang.StringBuilder)">toStringClassDetails</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;sb)</code>
 <div class="block">Extend the toString() information with the procedure details
  e.g.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#undoDeleteFromNSTable(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">undoDeleteFromNSTable</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>
 <div class="block">undo the delete</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#undoRemoveFromZKNamespaceManager(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">undoRemoveFromZKNamespaceManager</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>
 <div class="block">undo the remove from Zookeeper</div>
@@ -690,7 +694,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>releaseLock</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#line.219">releaseLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#line.220">releaseLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#releaseLock(TEnvironment)">Procedure</a></code></strong></div>
 <div class="block">The user should override this method, and release lock if necessary.</div>
 <dl>
@@ -705,7 +709,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableName</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#line.224">getTableName</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#line.225">getTableName</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html#getTableName()">getTableName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface</a></code></dd>
@@ -718,7 +722,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableOperationType</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface.TableOperationType</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#line.229">getTableOperationType</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface.TableOperationType</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#line.230">getTableOperationType</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html#getTableOperationType()">TableProcedureInterface</a></code></strong></div>
 <div class="block">Given an operation type we can take decisions about what to do with pending operations.
  e.g. if we get a delete and we have some table operation pending (e.g. add column)
@@ -729,13 +733,22 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <dt><span class="strong">Returns:</span></dt><dd>the operation type that the procedure is executing.</dd></dl>
 </li>
 </ul>
+<a name="getNamespaceName()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNamespaceName</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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/procedure/DeleteNamespaceProcedure.html#line.234">getNamespaceName</a>()</pre>
+</li>
+</ul>
 <a name="prepareDelete(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>prepareDelete</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#line.238">prepareDelete</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#line.243">prepareDelete</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Action before any real action of deleting namespace.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>env</code> - MasterProcedureEnv</dd>
@@ -749,7 +762,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteFromNSTable</h4>
-<pre>protected static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#line.267">deleteFromNSTable</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#line.272">deleteFromNSTable</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                      <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespaceName)
                                  throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">delete the row from namespace table</div>
@@ -764,7 +777,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>undoDeleteFromNSTable</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#line.278">undoDeleteFromNSTable</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#line.283">undoDeleteFromNSTable</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block">undo the delete</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>env</code> - MasterProcedureEnv</dd>
 <dt><span class="strong">Throws:</span></dt>
@@ -777,7 +790,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>removeFromZKNamespaceManager</h4>
-<pre>protected static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#line.295">removeFromZKNamespaceManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#line.300">removeFromZKNamespaceManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                 <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespaceName)
                                             throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">remove from Zookeeper.</div>
@@ -792,7 +805,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>undoRemoveFromZKNamespaceManager</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#line.306">undoRemoveFromZKNamespaceManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#line.311">undoRemoveFromZKNamespaceManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block">undo the remove from Zookeeper</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>env</code> - MasterProcedureEnv</dd>
 <dt><span class="strong">Throws:</span></dt>
@@ -805,7 +818,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteDirectory</h4>
-<pre>protected static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#line.323">deleteDirectory</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#line.328">deleteDirectory</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                    <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespaceName)
                                throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Delete the namespace directories from the file system</div>
@@ -820,7 +833,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>rollbackDeleteDirectory</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#line.350">rollbackDeleteDirectory</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#line.355">rollbackDeleteDirectory</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                               throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">undo delete directory</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>env</code> - MasterProcedureEnv</dd>
@@ -834,7 +847,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>removeNamespaceQuota</h4>
-<pre>protected static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#line.365">removeNamespaceQuota</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#line.370">removeNamespaceQuota</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                         <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespaceName)
                                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">remove quota for the namespace</div>
@@ -849,7 +862,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>rollbacRemoveNamespaceQuota</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#line.376">rollbacRemoveNamespaceQuota</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#line.381">rollbacRemoveNamespaceQuota</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                                   throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">undo remove quota for the namespace</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>env</code> - MasterProcedureEnv</dd>
@@ -863,7 +876,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableNamespaceManager</h4>
-<pre>private static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/TableNamespaceManager.html" title="class in org.apache.hadoop.hbase.master">TableNamespaceManager</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#line.385">getTableNamespaceManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>private static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/TableNamespaceManager.html" title="class in org.apache.hadoop.hbase.master">TableNamespaceManager</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#line.390">getTableNamespaceManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 </li>
 </ul>
 <a name="isTraceEnabled()">
@@ -872,7 +885,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockListLast">
 <li class="blockList">
 <h4>isTraceEnabled</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#line.393">isTraceEnabled</a>()</pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html#line.398">isTraceEnabled</a>()</pre>
 <div class="block">The procedure could be restarted from a different machine. If the variable is null, we need to
  retrieve it.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>traceEnabled</dd></dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.BulkDisabler.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.BulkDisabler.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.BulkDisabler.html
index b46dca4..a771213 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.BulkDisabler.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.BulkDisabler.html
@@ -104,7 +104,7 @@
 </dl>
 <hr>
 <br>
-<pre>private static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.487">DisableTableProcedure.BulkDisabler</a>
+<pre>private static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.484">DisableTableProcedure.BulkDisabler</a>
 extends <a href="../../../../../../org/apache/hadoop/hbase/master/BulkAssigner.html" title="class in org.apache.hadoop.hbase.master">BulkAssigner</a></pre>
 <div class="block">Run bulk disable.</div>
 </li>
@@ -227,7 +227,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/BulkAssigner.h
 <ul class="blockList">
 <li class="blockList">
 <h4>assignmentManager</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.BulkDisabler.html#line.488">assignmentManager</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.BulkDisabler.html#line.485">assignmentManager</a></pre>
 </li>
 </ul>
 <a name="regions">
@@ -236,7 +236,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/BulkAssigner.h
 <ul class="blockList">
 <li class="blockList">
 <h4>regions</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.BulkDisabler.html#line.489">regions</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.BulkDisabler.html#line.486">regions</a></pre>
 </li>
 </ul>
 <a name="tableName">
@@ -245,7 +245,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/BulkAssigner.h
 <ul class="blockList">
 <li class="blockList">
 <h4>tableName</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.BulkDisabler.html#line.490">tableName</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.BulkDisabler.html#line.487">tableName</a></pre>
 </li>
 </ul>
 <a name="waitingTimeForEvents">
@@ -254,7 +254,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/BulkAssigner.h
 <ul class="blockListLast">
 <li class="blockList">
 <h4>waitingTimeForEvents</h4>
-<pre>private final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.BulkDisabler.html#line.491">waitingTimeForEvents</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.BulkDisabler.html#line.488">waitingTimeForEvents</a></pre>
 </li>
 </ul>
 </li>
@@ -271,7 +271,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/BulkAssigner.h
 <ul class="blockListLast">
 <li class="blockList">
 <h4>DisableTableProcedure.BulkDisabler</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.BulkDisabler.html#line.493">DisableTableProcedure.BulkDisabler</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.BulkDisabler.html#line.490">DisableTableProcedure.BulkDisabler</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                   <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                   <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&nbsp;regions)</pre>
 </li>
@@ -290,7 +290,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/BulkAssigner.h
 <ul class="blockList">
 <li class="blockList">
 <h4>populatePool</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.BulkDisabler.html#line.505">populatePool</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;pool)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.BulkDisabler.html#line.502">populatePool</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;pool)</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/BulkAssigner.html#populatePool(java.util.concurrent.ExecutorService)">populatePool</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/BulkAssigner.html" title="class in org.apache.hadoop.hbase.master">BulkAssigner</a></code></dd>
@@ -303,7 +303,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/BulkAssigner.h
 <ul class="blockListLast">
 <li class="blockList">
 <h4>waitUntilDone</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.BulkDisabler.html#line.522">waitUntilDone</a>(long&nbsp;timeout)
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.BulkDisabler.html#line.519">waitUntilDone</a>(long&nbsp;timeout)
                          throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/BulkAssigner.html#waitUntilDone(long)">BulkAssigner</a></code></strong></div>
 <div class="block">Wait until bulk assign is done.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html
index 65f8942..c85b281 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html
@@ -108,7 +108,7 @@
 </dl>
 <hr>
 <br>
-<pre>static enum <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.71">DisableTableProcedure.MarkRegionOfflineOpResult</a>
+<pre>static enum <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#line.70">DisableTableProcedure.MarkRegionOfflineOpResult</a>
 extends <a href="http://docs.oracle.com/javase/7/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/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html" title="enum in org.apache.hadoop.hbase.master.procedure">DisableTableProcedure.MarkRegionOfflineOpResult</a>&gt;</pre>
 </li>
 </ul>
@@ -199,7 +199,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>MARK_ALL_REGIONS_OFFLINE_SUCCESSFUL</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html" title="enum in org.apache.hadoop.hbase.master.procedure">DisableTableProcedure.MarkRegionOfflineOpResult</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html#line.72">MARK_ALL_REGIONS_OFFLINE_SUCCESSFUL</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html" title="enum in org.apache.hadoop.hbase.master.procedure">DisableTableProcedure.MarkRegionOfflineOpResult</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html#line.71">MARK_ALL_REGIONS_OFFLINE_SUCCESSFUL</a></pre>
 </li>
 </ul>
 <a name="BULK_ASSIGN_REGIONS_FAILED">
@@ -208,7 +208,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>BULK_ASSIGN_REGIONS_FAILED</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html" title="enum in org.apache.hadoop.hbase.master.procedure">DisableTableProcedure.MarkRegionOfflineOpResult</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html#line.73">BULK_ASSIGN_REGIONS_FAILED</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html" title="enum in org.apache.hadoop.hbase.master.procedure">DisableTableProcedure.MarkRegionOfflineOpResult</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html#line.72">BULK_ASSIGN_REGIONS_FAILED</a></pre>
 </li>
 </ul>
 <a name="MARK_ALL_REGIONS_OFFLINE_INTERRUPTED">
@@ -217,7 +217,7 @@ the order they are declared.</div>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MARK_ALL_REGIONS_OFFLINE_INTERRUPTED</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html" title="enum in org.apache.hadoop.hbase.master.procedure">DisableTableProcedure.MarkRegionOfflineOpResult</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html#line.74">MARK_ALL_REGIONS_OFFLINE_INTERRUPTED</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html" title="enum in org.apache.hadoop.hbase.master.procedure">DisableTableProcedure.MarkRegionOfflineOpResult</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html#line.73">MARK_ALL_REGIONS_OFFLINE_INTERRUPTED</a></pre>
 </li>
 </ul>
 </li>
@@ -234,7 +234,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/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html" title="enum in org.apache.hadoop.hbase.master.procedure">DisableTableProcedure.MarkRegionOfflineOpResult</a>[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html#line.71">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html" title="enum in org.apache.hadoop.hbase.master.procedure">DisableTableProcedure.MarkRegionOfflineOpResult</a>[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html#line.70">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:
@@ -251,7 +251,7 @@ for (DisableTableProcedure.MarkRegionOfflineOpResult c : DisableTableProcedure.M
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html" title="enum in org.apache.hadoop.hbase.master.procedure">DisableTableProcedure.MarkRegionOfflineOpResult</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html#line.71">valueOf</a>(<a href="http://docs.oracle.com/javase/7/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/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html" title="enum in org.apache.hadoop.hbase.master.procedure">DisableTableProcedure.MarkRegionOfflineOpResult</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html#line.70">valueOf</a>(<a href="http://docs.oracle.com/javase/7/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 


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html
new file mode 100644
index 0000000..a05bed8
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html
@@ -0,0 +1,457 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MasterProcedureScheduler.TableQueue (Apache HBase 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="MasterProcedureScheduler.TableQueue (Apache HBase 2.0.0-SNAPSHOT API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MasterProcedureScheduler.TableQueue.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureUtil.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.TableQueue.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.hadoop.hbase.master.procedure</div>
+<h2 title="Class MasterProcedureScheduler.TableQueue" class="title">Class MasterProcedureScheduler.TableQueue</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue</a>&lt;TKey&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="class in org.apache.hadoop.hbase.master.procedure">org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.QueueImpl</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.TableQueue</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueInterface</a></dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.588">MasterProcedureScheduler.TableQueue</a>
+extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueImpl</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;</pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.NamespaceQueue</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#namespaceQueue">namespaceQueue</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.TableLock.html" title="interface in org.apache.hadoop.hbase.master">TableLockManager.TableLock</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#tableLock">tableLock</a></strong></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#MasterProcedureScheduler.TableQueue(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.NamespaceQueue,%20int)">MasterProcedureScheduler.TableQueue</a></strong>(<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/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.NamespaceQueue</a>&nbsp;namespaceQueue,
+                                                                      int&nbsp;priority)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#canAbortPendingOperations(org.apache.hadoop.hbase.procedure2.Procedure)">canAbortPendingOperations</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.NamespaceQueue</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#getNamespaceQueue()">getNamespaceQueue</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#isAvailable()">isAvailable</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#releaseTableLock(org.apache.hadoop.hbase.master.TableLockManager,%20boolean)">releaseTableLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager,
+                                boolean&nbsp;reset)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#releaseZkExclusiveLock(org.apache.hadoop.hbase.master.TableLockManager)">releaseZkExclusiveLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#releaseZkSharedLock(org.apache.hadoop.hbase.master.TableLockManager)">releaseZkSharedLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#requireExclusiveLock(org.apache.hadoop.hbase.procedure2.Procedure)">requireExclusiveLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#tryZkExclusiveLock(org.apache.hadoop.hbase.master.TableLockManager,%20java.lang.String)">tryZkExclusiveLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager,
+                                    <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;purpose)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#tryZkSharedLock(org.apache.hadoop.hbase.master.TableLockManager,%20java.lang.String)">tryZkSharedLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager,
+                              <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;purpose)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.QueueImpl">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueImpl</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#add(org.apache.hadoop.hbase.procedure2.Procedure,%20boolean)">add</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#addBack(org.apache.hadoop.hbase.procedure2.Procedure)">addBack</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#addFront(org.apache.hadoop.hbase.procedure2.Procedure)">addFront</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#isEmpty()">isEmpty</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#poll()">poll</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#size()">size</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#acquireDeleteLock()">acquireDeleteLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#compareKey(TKey)">compareKey</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#compareTo(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">compareTo</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#getKey()">getKey</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#getPriority()">getPriority</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#hasExclusiveLock()">hasExclusiveLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Q
 ueue.html#isLocked()">isLocked</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#isSingleSharedLock()">isSingleSharedLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#isSuspended()">isSuspended</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#releaseExclusiveLock()">releaseExclusiveLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#releaseSharedLock()">releaseSharedLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#setSuspended(boolean)">setSuspended</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#toString()">toString</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue
 .html#tryExclusiveLock()">tryExclusiveLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#trySharedLock()">trySharedLock</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang
 /Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="namespaceQueue">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>namespaceQueue</h4>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.NamespaceQueue</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#line.589">namespaceQueue</a></pre>
+</li>
+</ul>
+<a name="tableLock">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>tableLock</h4>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.TableLock.html" title="interface in org.apache.hadoop.hbase.master">TableLockManager.TableLock</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#line.591">tableLock</a></pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="MasterProcedureScheduler.TableQueue(org.apache.hadoop.hbase.TableName, org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.NamespaceQueue, int)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MasterProcedureScheduler.TableQueue</h4>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#line.593">MasterProcedureScheduler.TableQueue</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/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.NamespaceQueue</a>&nbsp;namespaceQueue,
+                                   int&nbsp;priority)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getNamespaceQueue()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNamespaceQueue</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.NamespaceQueue</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#line.598">getNamespaceQueue</a>()</pre>
+</li>
+</ul>
+<a name="isAvailable()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isAvailable</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#line.603">isAvailable</a>()</pre>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html#isAvailable()">isAvailable</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueInterface</a></code></dd>
+<dt><strong>Overrides:</strong></dt>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html#isAvailable()">isAvailable</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="canAbortPendingOperations(org.apache.hadoop.hbase.procedure2.Procedure)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>canAbortPendingOperations</h4>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#line.610">canAbortPendingOperations</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
+</li>
+</ul>
+<a name="requireExclusiveLock(org.apache.hadoop.hbase.procedure2.Procedure)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>requireExclusiveLock</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#line.620">requireExclusiveLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
+</li>
+</ul>
+<a name="tryZkSharedLock(org.apache.hadoop.hbase.master.TableLockManager, java.lang.String)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>tryZkSharedLock</h4>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#line.639">tryZkSharedLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager,
+                      <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;purpose)</pre>
+</li>
+</ul>
+<a name="releaseZkSharedLock(org.apache.hadoop.hbase.master.TableLockManager)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>releaseZkSharedLock</h4>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#line.654">releaseZkSharedLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager)</pre>
+</li>
+</ul>
+<a name="tryZkExclusiveLock(org.apache.hadoop.hbase.master.TableLockManager, java.lang.String)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>tryZkExclusiveLock</h4>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#line.658">tryZkExclusiveLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager,
+                         <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;purpose)</pre>
+</li>
+</ul>
+<a name="releaseZkExclusiveLock(org.apache.hadoop.hbase.master.TableLockManager)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>releaseZkExclusiveLock</h4>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#line.673">releaseZkExclusiveLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager)</pre>
+</li>
+</ul>
+<a name="releaseTableLock(org.apache.hadoop.hbase.master.TableLockManager, boolean)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>releaseTableLock</h4>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#line.677">releaseTableLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager,
+                    boolean&nbsp;reset)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MasterProcedureScheduler.TableQueue.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureUtil.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.TableQueue.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html
deleted file mode 100644
index 92dcb34..0000000
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html
+++ /dev/null
@@ -1,650 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
-<title>Source code</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<div class="sourceContainer">
-<pre><span class="sourceLineNo">001</span>/**<a name="line.1"></a>
-<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
-<span class="sourceLineNo">003</span> * or more contributor license agreements.  See the NOTICE file<a name="line.3"></a>
-<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
-<span class="sourceLineNo">005</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.5"></a>
-<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
-<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
-<span class="sourceLineNo">008</span> * with the License.  You may obtain a copy of the License at<a name="line.8"></a>
-<span class="sourceLineNo">009</span> *<a name="line.9"></a>
-<span class="sourceLineNo">010</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
-<span class="sourceLineNo">011</span> *<a name="line.11"></a>
-<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
-<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
-<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
-<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
-<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
-<span class="sourceLineNo">017</span> */<a name="line.17"></a>
-<span class="sourceLineNo">018</span><a name="line.18"></a>
-<span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.master.procedure;<a name="line.19"></a>
-<span class="sourceLineNo">020</span><a name="line.20"></a>
-<span class="sourceLineNo">021</span>import java.io.IOException;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.util.ArrayDeque;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.util.Deque;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.util.concurrent.locks.Condition;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.util.concurrent.locks.ReentrantLock;<a name="line.25"></a>
-<span class="sourceLineNo">026</span><a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.commons.logging.Log;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.commons.logging.LogFactory;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.conf.Configuration;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.ServerName;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.TableName;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.procedure2.Procedure;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.procedure2.ProcedureFairRunQueues;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.procedure2.ProcedureRunnableSet;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.master.TableLockManager;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.master.TableLockManager.TableLock;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.master.procedure.TableProcedureInterface.TableOperationType;<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span>/**<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * ProcedureRunnableSet for the Master Procedures.<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * This RunnableSet tries to provide to the ProcedureExecutor procedures<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * that can be executed without having to wait on a lock.<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * Most of the master operations can be executed concurrently, if they<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * are operating on different tables (e.g. two create table can be performed<a name="line.48"></a>
-<span class="sourceLineNo">049</span> * at the same, time assuming table A and table B) or against two different servers; say<a name="line.49"></a>
-<span class="sourceLineNo">050</span> * two servers that crashed at about the same time.<a name="line.50"></a>
-<span class="sourceLineNo">051</span> *<a name="line.51"></a>
-<span class="sourceLineNo">052</span> * &lt;p&gt;Each procedure should implement an interface providing information for this queue.<a name="line.52"></a>
-<span class="sourceLineNo">053</span> * for example table related procedures should implement TableProcedureInterface.<a name="line.53"></a>
-<span class="sourceLineNo">054</span> * each procedure will be pushed in its own queue, and based on the operation type<a name="line.54"></a>
-<span class="sourceLineNo">055</span> * we may take smarter decision. e.g. we can abort all the operations preceding<a name="line.55"></a>
-<span class="sourceLineNo">056</span> * a delete table, or similar.<a name="line.56"></a>
-<span class="sourceLineNo">057</span> */<a name="line.57"></a>
-<span class="sourceLineNo">058</span>@InterfaceAudience.Private<a name="line.58"></a>
-<span class="sourceLineNo">059</span>@InterfaceStability.Evolving<a name="line.59"></a>
-<span class="sourceLineNo">060</span>public class MasterProcedureQueue implements ProcedureRunnableSet {<a name="line.60"></a>
-<span class="sourceLineNo">061</span>  private static final Log LOG = LogFactory.getLog(MasterProcedureQueue.class);<a name="line.61"></a>
-<span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>  // Two queues to ensure that server procedures run ahead of table precedures always.<a name="line.63"></a>
-<span class="sourceLineNo">064</span>  private final ProcedureFairRunQueues&lt;TableName, RunQueue&gt; tableFairQ;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  /**<a name="line.65"></a>
-<span class="sourceLineNo">066</span>   * Rely on basic fair q. ServerCrashProcedure will yield if meta is not assigned. This way, the<a name="line.66"></a>
-<span class="sourceLineNo">067</span>   * server that was carrying meta should rise to the top of the queue (this is how it used to<a name="line.67"></a>
-<span class="sourceLineNo">068</span>   * work when we had handlers and ServerShutdownHandler ran). TODO: special handling of servers<a name="line.68"></a>
-<span class="sourceLineNo">069</span>   * that were carrying system tables on crash; do I need to have these servers have priority?<a name="line.69"></a>
-<span class="sourceLineNo">070</span>   *<a name="line.70"></a>
-<span class="sourceLineNo">071</span>   * &lt;p&gt;Apart from the special-casing of meta and system tables, fairq is what we want<a name="line.71"></a>
-<span class="sourceLineNo">072</span>   */<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  private final ProcedureFairRunQueues&lt;ServerName, RunQueue&gt; serverFairQ;<a name="line.73"></a>
-<span class="sourceLineNo">074</span><a name="line.74"></a>
-<span class="sourceLineNo">075</span>  private final ReentrantLock lock = new ReentrantLock();<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  private final Condition waitCond = lock.newCondition();<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  private final TableLockManager lockManager;<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>  private final int metaTablePriority;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  private final int userTablePriority;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  private final int sysTablePriority;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>  private static final int DEFAULT_SERVER_PRIORITY = 1;<a name="line.82"></a>
-<span class="sourceLineNo">083</span><a name="line.83"></a>
-<span class="sourceLineNo">084</span>  /**<a name="line.84"></a>
-<span class="sourceLineNo">085</span>   * Keeps count across server and table queues.<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   */<a name="line.86"></a>
-<span class="sourceLineNo">087</span>  private int queueSize;<a name="line.87"></a>
-<span class="sourceLineNo">088</span><a name="line.88"></a>
-<span class="sourceLineNo">089</span>  public MasterProcedureQueue(final Configuration conf, final TableLockManager lockManager) {<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    this.tableFairQ = new ProcedureFairRunQueues&lt;TableName, RunQueue&gt;(1);<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    this.serverFairQ = new ProcedureFairRunQueues&lt;ServerName, RunQueue&gt;(1);<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    this.lockManager = lockManager;<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>    // TODO: should this be part of the HTD?<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    metaTablePriority = conf.getInt("hbase.master.procedure.queue.meta.table.priority", 3);<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    sysTablePriority = conf.getInt("hbase.master.procedure.queue.system.table.priority", 2);<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    userTablePriority = conf.getInt("hbase.master.procedure.queue.user.table.priority", 1);<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  }<a name="line.98"></a>
-<span class="sourceLineNo">099</span><a name="line.99"></a>
-<span class="sourceLineNo">100</span>  @Override<a name="line.100"></a>
-<span class="sourceLineNo">101</span>  public void addFront(final Procedure proc) {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    lock.lock();<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    try {<a name="line.103"></a>
-<span class="sourceLineNo">104</span>      getRunQueueOrCreate(proc).addFront(proc);<a name="line.104"></a>
-<span class="sourceLineNo">105</span>      queueSize++;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      waitCond.signal();<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    } finally {<a name="line.107"></a>
-<span class="sourceLineNo">108</span>      lock.unlock();<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    }<a name="line.109"></a>
-<span class="sourceLineNo">110</span>  }<a name="line.110"></a>
-<span class="sourceLineNo">111</span><a name="line.111"></a>
-<span class="sourceLineNo">112</span>  @Override<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  public void addBack(final Procedure proc) {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    lock.lock();<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    try {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      getRunQueueOrCreate(proc).addBack(proc);<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      queueSize++;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      waitCond.signal();<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    } finally {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      lock.unlock();<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>  }<a name="line.122"></a>
-<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span>  @Override<a name="line.124"></a>
-<span class="sourceLineNo">125</span>  public void yield(final Procedure proc) {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    addBack(proc);<a name="line.126"></a>
-<span class="sourceLineNo">127</span>  }<a name="line.127"></a>
-<span class="sourceLineNo">128</span><a name="line.128"></a>
-<span class="sourceLineNo">129</span>  @Override<a name="line.129"></a>
-<span class="sourceLineNo">130</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings("WA_AWAIT_NOT_IN_LOOP")<a name="line.130"></a>
-<span class="sourceLineNo">131</span>  public Long poll() {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    Long pollResult = null;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    lock.lock();<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    try {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      if (queueSize == 0) {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>        waitCond.await();<a name="line.136"></a>
-<span class="sourceLineNo">137</span>        if (queueSize == 0) {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>          return null;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>        }<a name="line.139"></a>
-<span class="sourceLineNo">140</span>      }<a name="line.140"></a>
-<span class="sourceLineNo">141</span>      // For now, let server handling have precedence over table handling; presumption is that it<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      // is more important handling crashed servers than it is running the<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      // enabling/disabling tables, etc.<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      pollResult = doPoll(serverFairQ.poll());<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      if (pollResult == null) {<a name="line.145"></a>
-<span class="sourceLineNo">146</span>        pollResult = doPoll(tableFairQ.poll());<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      }<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    } catch (InterruptedException e) {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      Thread.currentThread().interrupt();<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    } finally {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      lock.unlock();<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    }<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    return pollResult;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  }<a name="line.154"></a>
-<span class="sourceLineNo">155</span><a name="line.155"></a>
-<span class="sourceLineNo">156</span>  private Long doPoll(final RunQueue rq) {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    if (rq == null || !rq.isAvailable()) return null;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    this.queueSize--;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    return rq.poll();<a name="line.159"></a>
-<span class="sourceLineNo">160</span>  }<a name="line.160"></a>
-<span class="sourceLineNo">161</span><a name="line.161"></a>
-<span class="sourceLineNo">162</span>  @Override<a name="line.162"></a>
-<span class="sourceLineNo">163</span>  public void signalAll() {<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    lock.lock();<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    try {<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      waitCond.signalAll();<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    } finally {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>      lock.unlock();<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    }<a name="line.169"></a>
-<span class="sourceLineNo">170</span>  }<a name="line.170"></a>
-<span class="sourceLineNo">171</span><a name="line.171"></a>
-<span class="sourceLineNo">172</span>  @Override<a name="line.172"></a>
-<span class="sourceLineNo">173</span>  public void clear() {<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    lock.lock();<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    try {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      serverFairQ.clear();<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      tableFairQ.clear();<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      queueSize = 0;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    } finally {<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      lock.unlock();<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><a name="line.183"></a>
-<span class="sourceLineNo">184</span>  @Override<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  public int size() {<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    lock.lock();<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    try {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      return queueSize;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    } finally {<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      lock.unlock();<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>  @Override<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  public String toString() {<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    lock.lock();<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    try {<a name="line.197"></a>
-<span class="sourceLineNo">198</span>      return "MasterProcedureQueue size=" + queueSize + ": tableFairQ: " + tableFairQ +<a name="line.198"></a>
-<span class="sourceLineNo">199</span>        ", serverFairQ: " + serverFairQ;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    } finally {<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      lock.unlock();<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    }<a name="line.202"></a>
-<span class="sourceLineNo">203</span>  }<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>  @Override<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  public void completionCleanup(Procedure proc) {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    if (proc instanceof TableProcedureInterface) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span>      TableProcedureInterface iProcTable = (TableProcedureInterface)proc;<a name="line.208"></a>
-<span class="sourceLineNo">209</span>      boolean tableDeleted;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      if (proc.hasException()) {<a name="line.210"></a>
-<span class="sourceLineNo">211</span>        IOException procEx =  proc.getException().unwrapRemoteException();<a name="line.211"></a>
-<span class="sourceLineNo">212</span>        if (iProcTable.getTableOperationType() == TableOperationType.CREATE) {<a name="line.212"></a>
-<span class="sourceLineNo">213</span>          // create failed because the table already exist<a name="line.213"></a>
-<span class="sourceLineNo">214</span>          tableDeleted = !(procEx instanceof TableExistsException);<a name="line.214"></a>
-<span class="sourceLineNo">215</span>        } else {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>          // the operation failed because the table does not exist<a name="line.216"></a>
-<span class="sourceLineNo">217</span>          tableDeleted = (procEx instanceof TableNotFoundException);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>        }<a name="line.218"></a>
-<span class="sourceLineNo">219</span>      } else {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>        // the table was deleted<a name="line.220"></a>
-<span class="sourceLineNo">221</span>        tableDeleted = (iProcTable.getTableOperationType() == TableOperationType.DELETE);<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      }<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      if (tableDeleted) {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>        markTableAsDeleted(iProcTable.getTableName());<a name="line.224"></a>
-<span class="sourceLineNo">225</span>      }<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    }<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    // No cleanup for ServerProcedureInterface types, yet.<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>  private RunQueue getRunQueueOrCreate(final Procedure proc) {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    if (proc instanceof TableProcedureInterface) {<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      final TableName table = ((TableProcedureInterface)proc).getTableName();<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      return getRunQueueOrCreate(table);<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    if (proc instanceof ServerProcedureInterface) {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      return getRunQueueOrCreate((ServerProcedureInterface)proc);<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    }<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    // TODO: at the moment we only have Table and Server procedures<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    // if you are implementing a non-table/non-server procedure, you have two options: create<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    // a group for all the non-table/non-server procedures or try to find a key for your<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    // non-table/non-server procedures and implement something similar to the TableRunQueue.<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    throw new UnsupportedOperationException("RQs for non-table procedures are not implemented yet");<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  }<a name="line.243"></a>
-<span class="sourceLineNo">244</span><a name="line.244"></a>
-<span class="sourceLineNo">245</span>  private TableRunQueue getRunQueueOrCreate(final TableName table) {<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    final TableRunQueue queue = getRunQueue(table);<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    if (queue != null) return queue;<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    return (TableRunQueue)tableFairQ.add(table, createTableRunQueue(table));<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>  private ServerRunQueue getRunQueueOrCreate(final ServerProcedureInterface spi) {<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    final ServerRunQueue queue = getRunQueue(spi.getServerName());<a name="line.252"></a>
-<span class="sourceLineNo">253</span>    if (queue != null) return queue;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    return (ServerRunQueue)serverFairQ.add(spi.getServerName(), createServerRunQueue(spi));<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>  private TableRunQueue createTableRunQueue(final TableName table) {<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    int priority = userTablePriority;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    if (table.equals(TableName.META_TABLE_NAME)) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      priority = metaTablePriority;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>    } else if (table.isSystemTable()) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      priority = sysTablePriority;<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    }<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    return new TableRunQueue(priority);<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>  private ServerRunQueue createServerRunQueue(final ServerProcedureInterface spi) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    return new ServerRunQueue(DEFAULT_SERVER_PRIORITY);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>  }<a name="line.269"></a>
-<span class="sourceLineNo">270</span><a name="line.270"></a>
-<span class="sourceLineNo">271</span>  private TableRunQueue getRunQueue(final TableName table) {<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    return (TableRunQueue)tableFairQ.get(table);<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  }<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  private ServerRunQueue getRunQueue(final ServerName sn) {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    return (ServerRunQueue)serverFairQ.get(sn);<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  }<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>  /**<a name="line.279"></a>
-<span class="sourceLineNo">280</span>   * Try to acquire the write lock on the specified table.<a name="line.280"></a>
-<span class="sourceLineNo">281</span>   * other operations in the table-queue will be executed after the lock is released.<a name="line.281"></a>
-<span class="sourceLineNo">282</span>   * @param table Table to lock<a name="line.282"></a>
-<span class="sourceLineNo">283</span>   * @param purpose Human readable reason for locking the table<a name="line.283"></a>
-<span class="sourceLineNo">284</span>   * @return true if we were able to acquire the lock on the table, otherwise false.<a name="line.284"></a>
-<span class="sourceLineNo">285</span>   */<a name="line.285"></a>
-<span class="sourceLineNo">286</span>  public boolean tryAcquireTableExclusiveLock(final TableName table, final String purpose) {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    return getRunQueueOrCreate(table).tryExclusiveLock(lockManager, table, purpose);<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>   * Release the write lock taken with tryAcquireTableWrite()<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   * @param table the name of the table that has the write lock<a name="line.292"></a>
-<span class="sourceLineNo">293</span>   */<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  public void releaseTableExclusiveLock(final TableName table) {<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    getRunQueue(table).releaseExclusiveLock(lockManager, table);<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>   * Try to acquire the read lock on the specified table.<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * other read operations in the table-queue may be executed concurrently,<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   * otherwise they have to wait until all the read-locks are released.<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   * @param table Table to lock<a name="line.302"></a>
-<span class="sourceLineNo">303</span>   * @param purpose Human readable reason for locking the table<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   * @return true if we were able to acquire the lock on the table, otherwise false.<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   */<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  public boolean tryAcquireTableSharedLock(final TableName table, final String purpose) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    return getRunQueueOrCreate(table).trySharedLock(lockManager, table, purpose);<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  }<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>  /**<a name="line.310"></a>
-<span class="sourceLineNo">311</span>   * Release the read lock taken with tryAcquireTableRead()<a name="line.311"></a>
-<span class="sourceLineNo">312</span>   * @param table the name of the table that has the read lock<a name="line.312"></a>
-<span class="sourceLineNo">313</span>   */<a name="line.313"></a>
-<span class="sourceLineNo">314</span>  public void releaseTableSharedLock(final TableName table) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    getRunQueue(table).releaseSharedLock(lockManager, table);<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  }<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>  /**<a name="line.318"></a>
-<span class="sourceLineNo">319</span>   * Try to acquire the write lock on the specified server.<a name="line.319"></a>
-<span class="sourceLineNo">320</span>   * @see #releaseServerExclusiveLock(ServerProcedureInterface)<a name="line.320"></a>
-<span class="sourceLineNo">321</span>   * @param spi Server to lock<a name="line.321"></a>
-<span class="sourceLineNo">322</span>   * @return true if we were able to acquire the lock on the server, otherwise false.<a name="line.322"></a>
-<span class="sourceLineNo">323</span>   */<a name="line.323"></a>
-<span class="sourceLineNo">324</span>  public boolean tryAcquireServerExclusiveLock(final ServerProcedureInterface spi) {<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    return getRunQueueOrCreate(spi).tryExclusiveLock();<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>   * Release the write lock<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * @see #tryAcquireServerExclusiveLock(ServerProcedureInterface)<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   * @param spi the server that has the write lock<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   */<a name="line.332"></a>
-<span class="sourceLineNo">333</span>  public void releaseServerExclusiveLock(final ServerProcedureInterface spi) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    getRunQueue(spi.getServerName()).releaseExclusiveLock();<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>   * Try to acquire the read lock on the specified server.<a name="line.338"></a>
-<span class="sourceLineNo">339</span>   * @see #releaseServerSharedLock(ServerProcedureInterface)<a name="line.339"></a>
-<span class="sourceLineNo">340</span>   * @param spi Server to lock<a name="line.340"></a>
-<span class="sourceLineNo">341</span>   * @return true if we were able to acquire the lock on the server, otherwise false.<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   */<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  public boolean tryAcquireServerSharedLock(final ServerProcedureInterface spi) {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    return getRunQueueOrCreate(spi).trySharedLock();<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>   * Release the read lock taken<a name="line.348"></a>
-<span class="sourceLineNo">349</span>   * @see #tryAcquireServerSharedLock(ServerProcedureInterface)<a name="line.349"></a>
-<span class="sourceLineNo">350</span>   * @param spi the server that has the read lock<a name="line.350"></a>
-<span class="sourceLineNo">351</span>   */<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  public void releaseServerSharedLock(final ServerProcedureInterface spi) {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    getRunQueue(spi.getServerName()).releaseSharedLock();<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>   * Tries to remove the queue and the table-lock of the specified table.<a name="line.357"></a>
-<span class="sourceLineNo">358</span>   * If there are new operations pending (e.g. a new create),<a name="line.358"></a>
-<span class="sourceLineNo">359</span>   * the remove will not be performed.<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * @param table the name of the table that should be marked as deleted<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   * @return true if deletion succeeded, false otherwise meaning that there are<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   *    other new operations pending for that table (e.g. a new create).<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   */<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  protected boolean markTableAsDeleted(final TableName table) {<a name="line.364"></a>
-<span class="sourceLineNo">365</span>    TableRunQueue queue = getRunQueue(table);<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    if (queue != null) {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      lock.lock();<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      try {<a name="line.368"></a>
-<span class="sourceLineNo">369</span>        if (queue.isEmpty() &amp;&amp; queue.acquireDeleteLock()) {<a name="line.369"></a>
-<span class="sourceLineNo">370</span>          tableFairQ.remove(table);<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span>          // Remove the table lock<a name="line.372"></a>
-<span class="sourceLineNo">373</span>          try {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>            lockManager.tableDeleted(table);<a name="line.374"></a>
-<span class="sourceLineNo">375</span>          } catch (IOException e) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>            LOG.warn("Received exception from TableLockManager.tableDeleted:", e); //not critical<a name="line.376"></a>
-<span class="sourceLineNo">377</span>          }<a name="line.377"></a>
-<span class="sourceLineNo">378</span>        } else {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>          // TODO: If there are no create, we can drop all the other ops<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          return false;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>        }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      } finally {<a name="line.382"></a>
-<span class="sourceLineNo">383</span>        lock.unlock();<a name="line.383"></a>
-<span class="sourceLineNo">384</span>      }<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    }<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    return true;<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>  private interface RunQueue extends ProcedureFairRunQueues.FairObject {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    void addFront(Procedure proc);<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    void addBack(Procedure proc);<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    Long poll();<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    boolean acquireDeleteLock();<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>   * Base abstract class for RunQueue implementations.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   * Be careful honoring synchronizations in subclasses. In here we protect access but if you are<a name="line.398"></a>
-<span class="sourceLineNo">399</span>   * acting on a state found in here, be sure dependent code keeps synchronization.<a name="line.399"></a>
-<span class="sourceLineNo">400</span>   * Implements basic in-memory read/write locking mechanism to prevent procedure steps being run<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   * in parallel.<a name="line.401"></a>
-<span class="sourceLineNo">402</span>   */<a name="line.402"></a>
-<span class="sourceLineNo">403</span>  private static abstract class AbstractRunQueue implements RunQueue {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    // All modification of runnables happens with #lock held.<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    private final Deque&lt;Long&gt; runnables = new ArrayDeque&lt;Long&gt;();<a name="line.405"></a>
-<span class="sourceLineNo">406</span>    private final int priority;<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    private boolean exclusiveLock = false;<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    private int sharedLock = 0;<a name="line.408"></a>
-<span class="sourceLineNo">409</span><a name="line.409"></a>
-<span class="sourceLineNo">410</span>    public AbstractRunQueue(int priority) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      this.priority = priority;<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>    boolean isEmpty() {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      return this.runnables.isEmpty();<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    }<a name="line.416"></a>
-<span class="sourceLineNo">417</span><a name="line.417"></a>
-<span class="sourceLineNo">418</span>    @Override<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    public boolean isAvailable() {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      synchronized (this) {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>        return !exclusiveLock &amp;&amp; !runnables.isEmpty();<a name="line.421"></a>
-<span class="sourceLineNo">422</span>      }<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    }<a name="line.423"></a>
-<span class="sourceLineNo">424</span><a name="line.424"></a>
-<span class="sourceLineNo">425</span>    @Override<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    public int getPriority() {<a name="line.426"></a>
-<span class="sourceLineNo">427</span>      return this.priority;<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>    @Override<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    public void addFront(Procedure proc) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>      this.runnables.addFirst(proc.getProcId());<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>    @Override<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    public void addBack(Procedure proc) {<a name="line.436"></a>
-<span class="sourceLineNo">437</span>      this.runnables.addLast(proc.getProcId());<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>    @Override<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    public Long poll() {<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      return this.runnables.poll();<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>    @Override<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    public synchronized boolean acquireDeleteLock() {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>      return tryExclusiveLock();<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 synchronized boolean isLocked() {<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      return isExclusiveLock() || sharedLock &gt; 0;<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 synchronized boolean isExclusiveLock() {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      return this.exclusiveLock;<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 synchronized boolean trySharedLock() {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>      if (isExclusiveLock()) return false;<a name="line.459"></a>
-<span class="sourceLineNo">460</span>      sharedLock++;<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      return true;<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    }<a name="line.462"></a>
-<span class="sourceLineNo">463</span><a name="line.463"></a>
-<span class="sourceLineNo">464</span>    public synchronized void releaseSharedLock() {<a name="line.464"></a>
-<span class="sourceLineNo">465</span>      sharedLock--;<a name="line.465"></a>
-<span class="sourceLineNo">466</span>    }<a name="line.466"></a>
-<span class="sourceLineNo">467</span><a name="line.467"></a>
-<span class="sourceLineNo">468</span>    /**<a name="line.468"></a>
-<span class="sourceLineNo">469</span>     * @return True if only one instance of a shared lock outstanding.<a name="line.469"></a>
-<span class="sourceLineNo">470</span>     */<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    synchronized boolean isSingleSharedLock() {<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      return sharedLock == 1;<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    }<a name="line.473"></a>
-<span class="sourceLineNo">474</span><a name="line.474"></a>
-<span class="sourceLineNo">475</span>    public synchronized boolean tryExclusiveLock() {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      if (isLocked()) return false;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      exclusiveLock = true;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      return true;<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 synchronized void releaseExclusiveLock() {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>      exclusiveLock = false;<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    }<a name="line.483"></a>
-<span class="sourceLineNo">484</span><a name="line.484"></a>
-<span class="sourceLineNo">485</span>    @Override<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    public String toString() {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      return this.runnables.toString();<a name="line.487"></a>
-<span class="sourceLineNo">488</span>    }<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  }<a name="line.489"></a>
-<span class="sourceLineNo">490</span><a name="line.490"></a>
-<span class="sourceLineNo">491</span>  /**<a name="line.491"></a>
-<span class="sourceLineNo">492</span>   * Run Queue for Server procedures.<a name="line.492"></a>
-<span class="sourceLineNo">493</span>   */<a name="line.493"></a>
-<span class="sourceLineNo">494</span>  private static class ServerRunQueue extends AbstractRunQueue {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    public ServerRunQueue(int priority) {<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      super(priority);<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><a name="line.499"></a>
-<span class="sourceLineNo">500</span>  /**<a name="line.500"></a>
-<span class="sourceLineNo">501</span>   * Run Queue for a Table. It contains a read-write lock that is used by the<a name="line.501"></a>
-<span class="sourceLineNo">502</span>   * MasterProcedureQueue to decide if we should fetch an item from this queue<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * or skip to another one which will be able to run without waiting for locks.<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   */<a name="line.504"></a>
-<span class="sourceLineNo">505</span>  private static class TableRunQueue extends AbstractRunQueue {<a name="line.505"></a>
-<span class="sourceLineNo">506</span>    private TableLock tableLock = null;<a name="line.506"></a>
-<span class="sourceLineNo">507</span><a name="line.507"></a>
-<span class="sourceLineNo">508</span>    public TableRunQueue(int priority) {<a name="line.508"></a>
-<span class="sourceLineNo">509</span>      super(priority);<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    }<a name="line.510"></a>
-<span class="sourceLineNo">511</span><a name="line.511"></a>
-<span class="sourceLineNo">512</span>    // TODO: Improve run-queue push with TableProcedureInterface.getType()<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    //       we can take smart decisions based on the type of the operation (e.g. create/delete)<a name="line.513"></a>
-<span class="sourceLineNo">514</span>    @Override<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    public void addBack(final Procedure proc) {<a name="line.515"></a>
-<span class="sourceLineNo">516</span>      super.addBack(proc);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    }<a name="line.517"></a>
-<span class="sourceLineNo">518</span><a name="line.518"></a>
-<span class="sourceLineNo">519</span>    public synchronized boolean trySharedLock(final TableLockManager lockManager,<a name="line.519"></a>
-<span class="sourceLineNo">520</span>        final TableName tableName, final String purpose) {<a name="line.520"></a>
-<span class="sourceLineNo">521</span>      if (isExclusiveLock()) return false;<a name="line.521"></a>
-<span class="sourceLineNo">522</span><a name="line.522"></a>
-<span class="sourceLineNo">523</span>      // Take zk-read-lock<a name="line.523"></a>
-<span class="sourceLineNo">524</span>      tableLock = lockManager.readLock(tableName, purpose);<a name="line.524"></a>
-<span class="sourceLineNo">525</span>      try {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>        tableLock.acquire();<a name="line.526"></a>
-<span class="sourceLineNo">527</span>      } catch (IOException e) {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>        LOG.error("failed acquire read lock on " + tableName, e);<a name="line.528"></a>
-<span class="sourceLineNo">529</span>        tableLock = null;<a name="line.529"></a>
-<span class="sourceLineNo">530</span>        return false;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>      }<a name="line.531"></a>
-<span class="sourceLineNo">532</span>      trySharedLock();<a name="line.532"></a>
-<span class="sourceLineNo">533</span>      return true;<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 synchronized void releaseSharedLock(final TableLockManager lockManager,<a name="line.536"></a>
-<span class="sourceLineNo">537</span>        final TableName tableName) {<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      releaseTableLock(lockManager, isSingleSharedLock());<a name="line.538"></a>
-<span class="sourceLineNo">539</span>      releaseSharedLock();<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>    public synchronized boolean tryExclusiveLock(final TableLockManager lockManager,<a name="line.542"></a>
-<span class="sourceLineNo">543</span>        final TableName tableName, final String purpose) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      if (isLocked()) return false;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      // Take zk-write-lock<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      tableLock = lockManager.writeLock(tableName, purpose);<a name="line.546"></a>
-<span class="sourceLineNo">547</span>      try {<a name="line.547"></a>
-<span class="sourceLineNo">548</span>        tableLock.acquire();<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      } catch (IOException e) {<a name="line.549"></a>
-<span class="sourceLineNo">550</span>        LOG.error("failed acquire write lock on " + tableName, e);<a name="line.550"></a>
-<span class="sourceLineNo">551</span>        tableLock = null;<a name="line.551"></a>
-<span class="sourceLineNo">552</span>        return false;<a name="line.552"></a>
-<span class="sourceLineNo">553</span>      }<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      tryExclusiveLock();<a name="line.554"></a>
-<span class="sourceLineNo">555</span>      return true;<a name="line.555"></a>
-<span class="sourceLineNo">556</span>    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span><a name="line.557"></a>
-<span class="sourceLineNo">558</span>    public synchronized void releaseExclusiveLock(final TableLockManager lockManager,<a name="line.558"></a>
-<span class="sourceLineNo">559</span>        final TableName tableName) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      releaseTableLock(lockManager, true);<a name="line.560"></a>
-<span class="sourceLineNo">561</span>      releaseExclusiveLock();<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>    private void releaseTableLock(final TableLockManager lockManager, boolean reset) {<a name="line.564"></a>
-<span class="sourceLineNo">565</span>      for (int i = 0; i &lt; 3; ++i) {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>        try {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>          tableLock.release();<a name="line.567"></a>
-<span class="sourceLineNo">568</span>          if (reset) {<a name="line.568"></a>
-<span class="sourceLineNo">569</span>            tableLock = null;<a name="line.569"></a>
-<span class="sourceLineNo">570</span>          }<a name="line.570"></a>
-<span class="sourceLineNo">571</span>          break;<a name="line.571"></a>
-<span class="sourceLineNo">572</span>        } catch (IOException e) {<a name="line.572"></a>
-<span class="sourceLineNo">573</span>          LOG.warn("Could not release the table write-lock", e);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>        }<a name="line.574"></a>
-<span class="sourceLineNo">575</span>      }<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    }<a name="line.576"></a>
-<span class="sourceLineNo">577</span>  }<a name="line.577"></a>
-<span class="sourceLineNo">578</span>}<a name="line.578"></a>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</pre>
-</div>
-</body>
-</html>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html
index 37a7b57..eb76b67 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html
@@ -41,420 +41,417 @@
 <span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.TableName;<a name="line.33"></a>
 <span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.34"></a>
 <span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.executor.EventType;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.master.MasterCoprocessorHost;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.procedure2.StateMachineProcedure;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DeleteColumnFamilyState;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.util.ByteStringer;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.44"></a>
-<span class="sourceLineNo">045</span><a name="line.45"></a>
-<span class="sourceLineNo">046</span>/**<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * The procedure to delete a column family from an existing table.<a name="line.47"></a>
-<span class="sourceLineNo">048</span> */<a name="line.48"></a>
-<span class="sourceLineNo">049</span>@InterfaceAudience.Private<a name="line.49"></a>
-<span class="sourceLineNo">050</span>public class DeleteColumnFamilyProcedure<a name="line.50"></a>
-<span class="sourceLineNo">051</span>    extends StateMachineProcedure&lt;MasterProcedureEnv, DeleteColumnFamilyState&gt;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>    implements TableProcedureInterface {<a name="line.52"></a>
-<span class="sourceLineNo">053</span>  private static final Log LOG = LogFactory.getLog(DeleteColumnFamilyProcedure.class);<a name="line.53"></a>
-<span class="sourceLineNo">054</span><a name="line.54"></a>
-<span class="sourceLineNo">055</span>  private final AtomicBoolean aborted = new AtomicBoolean(false);<a name="line.55"></a>
-<span class="sourceLineNo">056</span><a name="line.56"></a>
-<span class="sourceLineNo">057</span>  private HTableDescriptor unmodifiedHTableDescriptor;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>  private TableName tableName;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  private byte [] familyName;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>  private boolean hasMob;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>  private UserGroupInformation user;<a name="line.61"></a>
-<span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>  private List&lt;HRegionInfo&gt; regionInfoList;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>  private Boolean traceEnabled;<a name="line.64"></a>
-<span class="sourceLineNo">065</span><a name="line.65"></a>
-<span class="sourceLineNo">066</span>  public DeleteColumnFamilyProcedure() {<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    this.unmodifiedHTableDescriptor = null;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    this.regionInfoList = null;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    this.traceEnabled = null;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>  }<a name="line.70"></a>
-<span class="sourceLineNo">071</span><a name="line.71"></a>
-<span class="sourceLineNo">072</span>  public DeleteColumnFamilyProcedure(<a name="line.72"></a>
-<span class="sourceLineNo">073</span>      final MasterProcedureEnv env,<a name="line.73"></a>
-<span class="sourceLineNo">074</span>      final TableName tableName,<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      final byte[] familyName) throws IOException {<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    this.tableName = tableName;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>    this.familyName = familyName;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    this.user = env.getRequestUser().getUGI();<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    this.setOwner(this.user.getShortUserName());<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    this.unmodifiedHTableDescriptor = null;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    this.regionInfoList = null;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    this.traceEnabled = null;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>  }<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  @Override<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  protected Flow executeFromState(final MasterProcedureEnv env, DeleteColumnFamilyState state)<a name="line.86"></a>
-<span class="sourceLineNo">087</span>      throws InterruptedException {<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    if (isTraceEnabled()) {<a name="line.88"></a>
-<span class="sourceLineNo">089</span>      LOG.trace(this + " execute state=" + state);<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    }<a name="line.90"></a>
-<span class="sourceLineNo">091</span><a name="line.91"></a>
-<span class="sourceLineNo">092</span>    try {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      switch (state) {<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      case DELETE_COLUMN_FAMILY_PREPARE:<a name="line.94"></a>
-<span class="sourceLineNo">095</span>        prepareDelete(env);<a name="line.95"></a>
-<span class="sourceLineNo">096</span>        setNextState(DeleteColumnFamilyState.DELETE_COLUMN_FAMILY_PRE_OPERATION);<a name="line.96"></a>
-<span class="sourceLineNo">097</span>        break;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      case DELETE_COLUMN_FAMILY_PRE_OPERATION:<a name="line.98"></a>
-<span class="sourceLineNo">099</span>        preDelete(env, state);<a name="line.99"></a>
-<span class="sourceLineNo">100</span>        setNextState(DeleteColumnFamilyState.DELETE_COLUMN_FAMILY_UPDATE_TABLE_DESCRIPTOR);<a name="line.100"></a>
-<span class="sourceLineNo">101</span>        break;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>      case DELETE_COLUMN_FAMILY_UPDATE_TABLE_DESCRIPTOR:<a name="line.102"></a>
-<span class="sourceLineNo">103</span>        updateTableDescriptor(env);<a name="line.103"></a>
-<span class="sourceLineNo">104</span>        setNextState(DeleteColumnFamilyState.DELETE_COLUMN_FAMILY_DELETE_FS_LAYOUT);<a name="line.104"></a>
-<span class="sourceLineNo">105</span>        break;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      case DELETE_COLUMN_FAMILY_DELETE_FS_LAYOUT:<a name="line.106"></a>
-<span class="sourceLineNo">107</span>        deleteFromFs(env);<a name="line.107"></a>
-<span class="sourceLineNo">108</span>        setNextState(DeleteColumnFamilyState.DELETE_COLUMN_FAMILY_POST_OPERATION);<a name="line.108"></a>
-<span class="sourceLineNo">109</span>        break;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      case DELETE_COLUMN_FAMILY_POST_OPERATION:<a name="line.110"></a>
-<span class="sourceLineNo">111</span>        postDelete(env, state);<a name="line.111"></a>
-<span class="sourceLineNo">112</span>        setNextState(DeleteColumnFamilyState.DELETE_COLUMN_FAMILY_REOPEN_ALL_REGIONS);<a name="line.112"></a>
-<span class="sourceLineNo">113</span>        break;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      case DELETE_COLUMN_FAMILY_REOPEN_ALL_REGIONS:<a name="line.114"></a>
-<span class="sourceLineNo">115</span>        reOpenAllRegionsIfTableIsOnline(env);<a name="line.115"></a>
-<span class="sourceLineNo">116</span>        return Flow.NO_MORE_STATE;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      default:<a name="line.117"></a>
-<span class="sourceLineNo">118</span>        throw new UnsupportedOperationException(this + " unhandled state=" + state);<a name="line.118"></a>
-<span class="sourceLineNo">119</span>      }<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    } catch (IOException e) {<a name="line.120"></a>
-<span class="sourceLineNo">121</span>      if (!isRollbackSupported(state)) {<a name="line.121"></a>
-<span class="sourceLineNo">122</span>        // We reach a state that cannot be rolled back. We just need to keep retry.<a name="line.122"></a>
-<span class="sourceLineNo">123</span>        LOG.warn("Error trying to delete the column family " + getColumnFamilyName()<a name="line.123"></a>
-<span class="sourceLineNo">124</span>          + " from table " + tableName + "(in state=" + state + ")", e);<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      } else {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>        LOG.error("Error trying to delete the column family " + getColumnFamilyName()<a name="line.126"></a>
-<span class="sourceLineNo">127</span>          + " from table " + tableName + "(in state=" + state + ")", e);<a name="line.127"></a>
-<span class="sourceLineNo">128</span>        setFailure("master-delete-column-family", e);<a name="line.128"></a>
-<span class="sourceLineNo">129</span>      }<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    }<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    return Flow.HAS_MORE_STATE;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>  }<a name="line.132"></a>
-<span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span>  @Override<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  protected void rollbackState(final MasterProcedureEnv env, final DeleteColumnFamilyState state)<a name="line.135"></a>
-<span class="sourceLineNo">136</span>      throws IOException {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    if (isTraceEnabled()) {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>      LOG.trace(this + " rollback state=" + state);<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    }<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    try {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>      switch (state) {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      case DELETE_COLUMN_FAMILY_REOPEN_ALL_REGIONS:<a name="line.142"></a>
-<span class="sourceLineNo">143</span>        break; // Nothing to undo.<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      case DELETE_COLUMN_FAMILY_POST_OPERATION:<a name="line.144"></a>
-<span class="sourceLineNo">145</span>        // TODO-MAYBE: call the coprocessor event to undo?<a name="line.145"></a>
-<span class="sourceLineNo">146</span>        break;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      case DELETE_COLUMN_FAMILY_DELETE_FS_LAYOUT:<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        // Once we reach to this state - we could NOT rollback - as it is tricky to undelete<a name="line.148"></a>
-<span class="sourceLineNo">149</span>        // the deleted files. We are not suppose to reach here, throw exception so that we know<a name="line.149"></a>
-<span class="sourceLineNo">150</span>        // there is a code bug to investigate.<a name="line.150"></a>
-<span class="sourceLineNo">151</span>        throw new UnsupportedOperationException(this + " rollback of state=" + state<a name="line.151"></a>
-<span class="sourceLineNo">152</span>            + " is unsupported.");<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      case DELETE_COLUMN_FAMILY_UPDATE_TABLE_DESCRIPTOR:<a name="line.153"></a>
-<span class="sourceLineNo">154</span>        restoreTableDescriptor(env);<a name="line.154"></a>
-<span class="sourceLineNo">155</span>        break;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>      case DELETE_COLUMN_FAMILY_PRE_OPERATION:<a name="line.156"></a>
-<span class="sourceLineNo">157</span>        // TODO-MAYBE: call the coprocessor event to undo?<a name="line.157"></a>
-<span class="sourceLineNo">158</span>        break;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>      case DELETE_COLUMN_FAMILY_PREPARE:<a name="line.159"></a>
-<span class="sourceLineNo">160</span>        break; // nothing to do<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      default:<a name="line.161"></a>
-<span class="sourceLineNo">162</span>        throw new UnsupportedOperationException(this + " unhandled state=" + state);<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      }<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    } catch (IOException e) {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>      // This will be retried. Unless there is a bug in the code,<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      // this should be just a "temporary error" (e.g. network down)<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      LOG.warn("Failed rollback attempt step " + state + " for deleting the column family"<a name="line.167"></a>
-<span class="sourceLineNo">168</span>          + getColumnFamilyName() + " to the table " + tableName, e);<a name="line.168"></a>
-<span class="sourceLineNo">169</span>      throw e;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    }<a name="line.170"></a>
-<span class="sourceLineNo">171</span>  }<a name="line.171"></a>
-<span class="sourceLineNo">172</span><a name="line.172"></a>
-<span class="sourceLineNo">173</span>  @Override<a name="line.173"></a>
-<span class="sourceLineNo">174</span>  protected DeleteColumnFamilyState getState(final int stateId) {<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    return DeleteColumnFamilyState.valueOf(stateId);<a name="line.175"></a>
-<span class="sourceLineNo">176</span>  }<a name="line.176"></a>
-<span class="sourceLineNo">177</span><a name="line.177"></a>
-<span class="sourceLineNo">178</span>  @Override<a name="line.178"></a>
-<span class="sourceLineNo">179</span>  protected int getStateId(final DeleteColumnFamilyState state) {<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    return state.getNumber();<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>  @Override<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  protected DeleteColumnFamilyState getInitialState() {<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    return DeleteColumnFamilyState.DELETE_COLUMN_FAMILY_PREPARE;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>  }<a name="line.186"></a>
-<span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>  @Override<a name="line.188"></a>
-<span class="sourceLineNo">189</span>  protected void setNextState(DeleteColumnFamilyState state) {<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    if (aborted.get() &amp;&amp; isRollbackSupported(state)) {<a name="line.190"></a>
-<span class="sourceLineNo">191</span>      setAbortFailure("delete-columnfamily", "abort requested");<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    } else {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      super.setNextState(state);<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    }<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  }<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  @Override<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  public boolean abort(final MasterProcedureEnv env) {<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    aborted.set(true);<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    return true;<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  }<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  @Override<a name="line.203"></a>
-<span class="sourceLineNo">204</span>  protected boolean acquireLock(final MasterProcedureEnv env) {<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    if (!env.isInitialized()) return false;<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    return env.getProcedureQueue().tryAcquireTableExclusiveLock(<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      tableName,<a name="line.207"></a>
-<span class="sourceLineNo">208</span>      EventType.C_M_DELETE_FAMILY.toString());<a name="line.208"></a>
-<span class="sourceLineNo">209</span>  }<a name="line.209"></a>
-<span class="sourceLineNo">210</span><a name="line.210"></a>
-<span class="sourceLineNo">211</span>  @Override<a name="line.211"></a>
-<span class="sourceLineNo">212</span>  protected void releaseLock(final MasterProcedureEnv env) {<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    env.getProcedureQueue().releaseTableExclusiveLock(tableName);<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  }<a name="line.214"></a>
-<span class="sourceLineNo">215</span><a name="line.215"></a>
-<span class="sourceLineNo">216</span>  @Override<a name="line.216"></a>
-<span class="sourceLineNo">217</span>  public void serializeStateData(final OutputStream stream) throws IOException {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    super.serializeStateData(stream);<a name="line.218"></a>
-<span class="sourceLineNo">219</span><a name="line.219"></a>
-<span class="sourceLineNo">220</span>    MasterProcedureProtos.DeleteColumnFamilyStateData.Builder deleteCFMsg =<a name="line.220"></a>
-<span class="sourceLineNo">221</span>        MasterProcedureProtos.DeleteColumnFamilyStateData.newBuilder()<a name="line.221"></a>
-<span class="sourceLineNo">222</span>            .setUserInfo(MasterProcedureUtil.toProtoUserInfo(user))<a name="line.222"></a>
-<span class="sourceLineNo">223</span>            .setTableName(ProtobufUtil.toProtoTableName(tableName))<a name="line.223"></a>
-<span class="sourceLineNo">224</span>            .setColumnfamilyName(ByteStringer.wrap(familyName));<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    if (unmodifiedHTableDescriptor != null) {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>      deleteCFMsg.setUnmodifiedTableSchema(unmodifiedHTableDescriptor.convert());<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    }<a name="line.227"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.master.MasterCoprocessorHost;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.procedure2.StateMachineProcedure;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DeleteColumnFamilyState;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.util.ByteStringer;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.43"></a>
+<span class="sourceLineNo">044</span><a name="line.44"></a>
+<span class="sourceLineNo">045</span>/**<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * The procedure to delete a column family from an existing table.<a name="line.46"></a>
+<span class="sourceLineNo">047</span> */<a name="line.47"></a>
+<span class="sourceLineNo">048</span>@InterfaceAudience.Private<a name="line.48"></a>
+<span class="sourceLineNo">049</span>public class DeleteColumnFamilyProcedure<a name="line.49"></a>
+<span class="sourceLineNo">050</span>    extends StateMachineProcedure&lt;MasterProcedureEnv, DeleteColumnFamilyState&gt;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>    implements TableProcedureInterface {<a name="line.51"></a>
+<span class="sourceLineNo">052</span>  private static final Log LOG = LogFactory.getLog(DeleteColumnFamilyProcedure.class);<a name="line.52"></a>
+<span class="sourceLineNo">053</span><a name="line.53"></a>
+<span class="sourceLineNo">054</span>  private final AtomicBoolean aborted = new AtomicBoolean(false);<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>  private HTableDescriptor unmodifiedHTableDescriptor;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  private TableName tableName;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>  private byte [] familyName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>  private boolean hasMob;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  private UserGroupInformation user;<a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span>  private List&lt;HRegionInfo&gt; regionInfoList;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>  private Boolean traceEnabled;<a name="line.63"></a>
+<span class="sourceLineNo">064</span><a name="line.64"></a>
+<span class="sourceLineNo">065</span>  public DeleteColumnFamilyProcedure() {<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    this.unmodifiedHTableDescriptor = null;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    this.regionInfoList = null;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    this.traceEnabled = null;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  }<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span>  public DeleteColumnFamilyProcedure(<a name="line.71"></a>
+<span class="sourceLineNo">072</span>      final MasterProcedureEnv env,<a name="line.72"></a>
+<span class="sourceLineNo">073</span>      final TableName tableName,<a name="line.73"></a>
+<span class="sourceLineNo">074</span>      final byte[] familyName) throws IOException {<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    this.tableName = tableName;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    this.familyName = familyName;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    this.user = env.getRequestUser().getUGI();<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    this.setOwner(this.user.getShortUserName());<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    this.unmodifiedHTableDescriptor = null;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    this.regionInfoList = null;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>    this.traceEnabled = null;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  }<a name="line.82"></a>
+<span class="sourceLineNo">083</span><a name="line.83"></a>
+<span class="sourceLineNo">084</span>  @Override<a name="line.84"></a>
+<span class="sourceLineNo">085</span>  protected Flow executeFromState(final MasterProcedureEnv env, DeleteColumnFamilyState state)<a name="line.85"></a>
+<span class="sourceLineNo">086</span>      throws InterruptedException {<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    if (isTraceEnabled()) {<a name="line.87"></a>
+<span class="sourceLineNo">088</span>      LOG.trace(this + " execute state=" + state);<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    }<a name="line.89"></a>
+<span class="sourceLineNo">090</span><a name="line.90"></a>
+<span class="sourceLineNo">091</span>    try {<a name="line.91"></a>
+<span class="sourceLineNo">092</span>      switch (state) {<a name="line.92"></a>
+<span class="sourceLineNo">093</span>      case DELETE_COLUMN_FAMILY_PREPARE:<a name="line.93"></a>
+<span class="sourceLineNo">094</span>        prepareDelete(env);<a name="line.94"></a>
+<span class="sourceLineNo">095</span>        setNextState(DeleteColumnFamilyState.DELETE_COLUMN_FAMILY_PRE_OPERATION);<a name="line.95"></a>
+<span class="sourceLineNo">096</span>        break;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>      case DELETE_COLUMN_FAMILY_PRE_OPERATION:<a name="line.97"></a>
+<span class="sourceLineNo">098</span>        preDelete(env, state);<a name="line.98"></a>
+<span class="sourceLineNo">099</span>        setNextState(DeleteColumnFamilyState.DELETE_COLUMN_FAMILY_UPDATE_TABLE_DESCRIPTOR);<a name="line.99"></a>
+<span class="sourceLineNo">100</span>        break;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>      case DELETE_COLUMN_FAMILY_UPDATE_TABLE_DESCRIPTOR:<a name="line.101"></a>
+<span class="sourceLineNo">102</span>        updateTableDescriptor(env);<a name="line.102"></a>
+<span class="sourceLineNo">103</span>        setNextState(DeleteColumnFamilyState.DELETE_COLUMN_FAMILY_DELETE_FS_LAYOUT);<a name="line.103"></a>
+<span class="sourceLineNo">104</span>        break;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>      case DELETE_COLUMN_FAMILY_DELETE_FS_LAYOUT:<a name="line.105"></a>
+<span class="sourceLineNo">106</span>        deleteFromFs(env);<a name="line.106"></a>
+<span class="sourceLineNo">107</span>        setNextState(DeleteColumnFamilyState.DELETE_COLUMN_FAMILY_POST_OPERATION);<a name="line.107"></a>
+<span class="sourceLineNo">108</span>        break;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>      case DELETE_COLUMN_FAMILY_POST_OPERATION:<a name="line.109"></a>
+<span class="sourceLineNo">110</span>        postDelete(env, state);<a name="line.110"></a>
+<span class="sourceLineNo">111</span>        setNextState(DeleteColumnFamilyState.DELETE_COLUMN_FAMILY_REOPEN_ALL_REGIONS);<a name="line.111"></a>
+<span class="sourceLineNo">112</span>        break;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>      case DELETE_COLUMN_FAMILY_REOPEN_ALL_REGIONS:<a name="line.113"></a>
+<span class="sourceLineNo">114</span>        reOpenAllRegionsIfTableIsOnline(env);<a name="line.114"></a>
+<span class="sourceLineNo">115</span>        return Flow.NO_MORE_STATE;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>      default:<a name="line.116"></a>
+<span class="sourceLineNo">117</span>        throw new UnsupportedOperationException(this + " unhandled state=" + state);<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      }<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    } catch (IOException e) {<a name="line.119"></a>
+<span class="sourceLineNo">120</span>      if (!isRollbackSupported(state)) {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>        // We reach a state that cannot be rolled back. We just need to keep retry.<a name="line.121"></a>
+<span class="sourceLineNo">122</span>        LOG.warn("Error trying to delete the column family " + getColumnFamilyName()<a name="line.122"></a>
+<span class="sourceLineNo">123</span>          + " from table " + tableName + "(in state=" + state + ")", e);<a name="line.123"></a>
+<span class="sourceLineNo">124</span>      } else {<a name="line.124"></a>
+<span class="sourceLineNo">125</span>        LOG.error("Error trying to delete the column family " + getColumnFamilyName()<a name="line.125"></a>
+<span class="sourceLineNo">126</span>          + " from table " + tableName + "(in state=" + state + ")", e);<a name="line.126"></a>
+<span class="sourceLineNo">127</span>        setFailure("master-delete-column-family", e);<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      }<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    }<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    return Flow.HAS_MORE_STATE;<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>  @Override<a name="line.133"></a>
+<span class="sourceLineNo">134</span>  protected void rollbackState(final MasterProcedureEnv env, final DeleteColumnFamilyState state)<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      throws IOException {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    if (isTraceEnabled()) {<a name="line.136"></a>
+<span class="sourceLineNo">137</span>      LOG.trace(this + " rollback state=" + state);<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    }<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    try {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>      switch (state) {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>      case DELETE_COLUMN_FAMILY_REOPEN_ALL_REGIONS:<a name="line.141"></a>
+<span class="sourceLineNo">142</span>        break; // Nothing to undo.<a name="line.142"></a>
+<span class="sourceLineNo">143</span>      case DELETE_COLUMN_FAMILY_POST_OPERATION:<a name="line.143"></a>
+<span class="sourceLineNo">144</span>        // TODO-MAYBE: call the coprocessor event to undo?<a name="line.144"></a>
+<span class="sourceLineNo">145</span>        break;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>      case DELETE_COLUMN_FAMILY_DELETE_FS_LAYOUT:<a name="line.146"></a>
+<span class="sourceLineNo">147</span>        // Once we reach to this state - we could NOT rollback - as it is tricky to undelete<a name="line.147"></a>
+<span class="sourceLineNo">148</span>        // the deleted files. We are not suppose to reach here, throw exception so that we know<a name="line.148"></a>
+<span class="sourceLineNo">149</span>        // there is a code bug to investigate.<a name="line.149"></a>
+<span class="sourceLineNo">150</span>        throw new UnsupportedOperationException(this + " rollback of state=" + state<a name="line.150"></a>
+<span class="sourceLineNo">151</span>            + " is unsupported.");<a name="line.151"></a>
+<span class="sourceLineNo">152</span>      case DELETE_COLUMN_FAMILY_UPDATE_TABLE_DESCRIPTOR:<a name="line.152"></a>
+<span class="sourceLineNo">153</span>        restoreTableDescriptor(env);<a name="line.153"></a>
+<span class="sourceLineNo">154</span>        break;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>      case DELETE_COLUMN_FAMILY_PRE_OPERATION:<a name="line.155"></a>
+<span class="sourceLineNo">156</span>        // TODO-MAYBE: call the coprocessor event to undo?<a name="line.156"></a>
+<span class="sourceLineNo">157</span>        break;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>      case DELETE_COLUMN_FAMILY_PREPARE:<a name="line.158"></a>
+<span class="sourceLineNo">159</span>        break; // nothing to do<a name="line.159"></a>
+<span class="sourceLineNo">160</span>      default:<a name="line.160"></a>
+<span class="sourceLineNo">161</span>        throw new UnsupportedOperationException(this + " unhandled state=" + state);<a name="line.161"></a>
+<span class="sourceLineNo">162</span>      }<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    } catch (IOException e) {<a name="line.163"></a>
+<span class="sourceLineNo">164</span>      // This will be retried. Unless there is a bug in the code,<a name="line.164"></a>
+<span class="sourceLineNo">165</span>      // this should be just a "temporary error" (e.g. network down)<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      LOG.warn("Failed rollback attempt step " + state + " for deleting the column family"<a name="line.166"></a>
+<span class="sourceLineNo">167</span>          + getColumnFamilyName() + " to the table " + tableName, e);<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      throw e;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    }<a name="line.169"></a>
+<span class="sourceLineNo">170</span>  }<a name="line.170"></a>
+<span class="sourceLineNo">171</span><a name="line.171"></a>
+<span class="sourceLineNo">172</span>  @Override<a name="line.172"></a>
+<span class="sourceLineNo">173</span>  protected DeleteColumnFamilyState getState(final int stateId) {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    return DeleteColumnFamilyState.valueOf(stateId);<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>  @Override<a name="line.177"></a>
+<span class="sourceLineNo">178</span>  protected int getStateId(final DeleteColumnFamilyState state) {<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    return state.getNumber();<a name="line.179"></a>
+<span class="sourceLineNo">180</span>  }<a name="line.180"></a>
+<span class="sourceLineNo">181</span><a name="line.181"></a>
+<span class="sourceLineNo">182</span>  @Override<a name="line.182"></a>
+<span class="sourceLineNo">183</span>  protected DeleteColumnFamilyState getInitialState() {<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    return DeleteColumnFamilyState.DELETE_COLUMN_FAMILY_PREPARE;<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>  @Override<a name="line.187"></a>
+<span class="sourceLineNo">188</span>  protected void setNextState(DeleteColumnFamilyState state) {<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    if (aborted.get() &amp;&amp; isRollbackSupported(state)) {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>      setAbortFailure("delete-columnfamily", "abort requested");<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    } else {<a name="line.191"></a>
+<span class="sourceLineNo">192</span>      super.setNextState(state);<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    }<a name="line.193"></a>
+<span class="sourceLineNo">194</span>  }<a name="line.194"></a>
+<span class="sourceLineNo">195</span><a name="line.195"></a>
+<span class="sourceLineNo">196</span>  @Override<a name="line.196"></a>
+<span class="sourceLineNo">197</span>  public boolean abort(final MasterProcedureEnv env) {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    aborted.set(true);<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    return true;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>  }<a name="line.200"></a>
+<span class="sourceLineNo">201</span><a name="line.201"></a>
+<span class="sourceLineNo">202</span>  @Override<a name="line.202"></a>
+<span class="sourceLineNo">203</span>  protected boolean acquireLock(final MasterProcedureEnv env) {<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    if (env.waitInitialized(this)) return false;<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    return env.getProcedureQueue().tryAcquireTableExclusiveLock(tableName, "delete family");<a name="line.205"></a>
+<span class="sourceLineNo">206</span>  }<a name="line.206"></a>
+<span class="sourceLineNo">207</span><a name="line.207"></a>
+<span class="sourceLineNo">208</span>  @Override<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  protected void releaseLock(final MasterProcedureEnv env) {<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    env.getProcedureQueue().releaseTableExclusiveLock(tableName);<a name="line.210"></a>
+<span class="sourceLineNo">211</span>  }<a name="line.211"></a>
+<span class="sourceLineNo">212</span><a name="line.212"></a>
+<span class="sourceLineNo">213</span>  @Override<a name="line.213"></a>
+<span class="sourceLineNo">214</span>  public void serializeStateData(final OutputStream stream) throws IOException {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>    super.serializeStateData(stream);<a name="line.215"></a>
+<span class="sourceLineNo">216</span><a name="line.216"></a>
+<span class="sourceLineNo">217</span>    MasterProcedureProtos.DeleteColumnFamilyStateData.Builder deleteCFMsg =<a name="line.217"></a>
+<span class="sourceLineNo">218</span>        MasterProcedureProtos.DeleteColumnFamilyStateData.newBuilder()<a name="line.218"></a>
+<span class="sourceLineNo">219</span>            .setUserInfo(MasterProcedureUtil.toProtoUserInfo(user))<a name="line.219"></a>
+<span class="sourceLineNo">220</span>            .setTableName(ProtobufUtil.toProtoTableName(tableName))<a name="line.220"></a>
+<span class="sourceLineNo">221</span>            .setColumnfamilyName(ByteStringer.wrap(familyName));<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    if (unmodifiedHTableDescriptor != null) {<a name="line.222"></a>
+<span class="sourceLineNo">223</span>      deleteCFMsg.setUnmodifiedTableSchema(unmodifiedHTableDescriptor.convert());<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    }<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span>    deleteCFMsg.build().writeDelimitedTo(stream);<a name="line.226"></a>
+<span class="sourceLineNo">227</span>  }<a name="line.227"></a>
 <span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>    deleteCFMsg.build().writeDelimitedTo(stream);<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<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  public void deserializeStateData(final InputStream stream) throws IOException {<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    super.deserializeStateData(stream);<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    MasterProcedureProtos.DeleteColumnFamilyStateData deleteCFMsg =<a name="line.235"></a>
-<span class="sourceLineNo">236</span>        MasterProcedureProtos.DeleteColumnFamilyStateData.parseDelimitedFrom(stream);<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    user = MasterProcedureUtil.toUserInfo(deleteCFMsg.getUserInfo());<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    tableName = ProtobufUtil.toTableName(deleteCFMsg.getTableName());<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    familyName = deleteCFMsg.getColumnfamilyName().toByteArray();<a name="line.239"></a>
-<span class="sourceLineNo">240</span><a name="line.240"></a>
-<span class="sourceLineNo">241</span>    if (deleteCFMsg.hasUnmodifiedTableSchema()) {<a name="line.241"></a>
-<span class="sourceLineNo">242</span>      unmodifiedHTableDescriptor = HTableDescriptor.convert(deleteCFMsg.getUnmodifiedTableSchema());<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    }<a name="line.243"></a>
-<span class="sourceLineNo">244</span>  }<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span>  @Override<a name="line.246"></a>
-<span class="sourceLineNo">247</span>  public void toStringClassDetails(StringBuilder sb) {<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    sb.append(getClass().getSimpleName());<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    sb.append(" (table=");<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    sb.append(tableName);<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    sb.append(", columnfamily=");<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    if (familyName != null) {<a name="line.252"></a>
-<span class="sourceLineNo">253</span>      sb.append(getColumnFamilyName());<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    } else {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      sb.append("Unknown");<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    }<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    sb.append(")");<a name="line.257"></a>
-<span class="sourceLineNo">258</span>  }<a name="line.258"></a>
-<span class="sourceLineNo">259</span><a name="line.259"></a>
-<span class="sourceLineNo">260</span>  @Override<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  public TableName getTableName() {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    return tableName;<a name="line.262"></a>
-<span class="sourceLineNo">263</span>  }<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>  @Override<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  public TableOperationType getTableOperationType() {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    return TableOperationType.EDIT;<a name="line.267"></a>
-<span class="sourceLineNo">268</span>  }<a name="line.268"></a>
-<span class="sourceLineNo">269</span><a name="line.269"></a>
-<span class="sourceLineNo">270</span>  /**<a name="line.270"></a>
-<span class="sourceLineNo">271</span>   * Action before any real action of deleting column family.<a name="line.271"></a>
-<span class="sourceLineNo">272</span>   * @param env MasterProcedureEnv<a name="line.272"></a>
-<span class="sourceLineNo">273</span>   * @throws IOException<a name="line.273"></a>
-<span class="sourceLineNo">274</span>   */<a name="line.274"></a>
-<span class="sourceLineNo">275</span>  private void prepareDelete(final MasterProcedureEnv env) throws IOException {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    // Checks whether the table is allowed to be modified.<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    MasterDDLOperationHelper.checkTableModifiable(env, tableName);<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>    // In order to update the descriptor, we need to retrieve the old descriptor for comparison.<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    unmodifiedHTableDescriptor = env.getMasterServices().getTableDescriptors().get(tableName);<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    if (unmodifiedHTableDescriptor == null) {<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      throw new IOException("HTableDescriptor missing for " + tableName);<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    }<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    if (!unmodifiedHTableDescriptor.hasFamily(familyName)) {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>      throw new InvalidFamilyOperationException("Family '" + getColumnFamilyName()<a name="line.285"></a>
-<span class="sourceLineNo">286</span>          + "' does not exist, so it cannot be deleted");<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    }<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span>    if (unmodifiedHTableDescriptor.getColumnFamilies().length == 1) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>      throw new InvalidFamilyOperationException("Family '" + getColumnFamilyName()<a name="line.290"></a>
-<span class="sourceLineNo">291</span>        + "' is the only column family in the table, so it cannot be deleted");<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>    // whether mob family<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    hasMob = unmodifiedHTableDescriptor.getFamily(familyName).isMobEnabled();<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>   * Action before deleting column family.<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * @param env MasterProcedureEnv<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   * @param state the procedure state<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   * @throws IOException<a name="line.302"></a>
-<span class="sourceLineNo">303</span>   * @throws InterruptedException<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   */<a name="line.304"></a>
-<span class="sourceLineNo">305</span>  private void preDelete(final MasterProcedureEnv env, final DeleteColumnFamilyState state)<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      throws IOException, InterruptedException {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    runCoprocessorAction(env, state);<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  }<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>  /**<a name="line.310"></a>
-<span class="sourceLineNo">311</span>   * Remove the column family from the file system and update the table descriptor<a name="line.311"></a>
-<span class="sourceLineNo">312</span>   */<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  private void updateTableDescriptor(final MasterProcedureEnv env) throws IOException {<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    // Update table descriptor<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    LOG.info("DeleteColumn. Table = " + tableName + " family = " + getColumnFamilyName());<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>    HTableDescriptor htd = env.getMasterServices().getTableDescriptors().get(tableName);<a name="line.317"></a>
-<span class="sourceLineNo">318</span><a name="line.318"></a>
-<span class="sourceLineNo">319</span>    if (!htd.hasFamily(familyName)) {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>      // It is possible to reach this situation, as we could already delete the column family<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      // from table descriptor, but the master failover happens before we complete this state.<a name="line.321"></a>
-<span class="sourceLineNo">322</span>      // We should be able to handle running this function multiple times without causing problem.<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      return;<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>    htd.removeFamily(familyName);<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    env.getMasterServices().getTableDescriptors().add(htd);<a name="line.327"></a>
-<span class="sourceLineNo">328</span>  }<a name="line.328"></a>
-<span class="sourceLineNo">329</span><a name="line.329"></a>
-<span class="sourceLineNo">330</span>  /**<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   * Restore back to the old descriptor<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   * @param env MasterProcedureEnv<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * @throws IOException<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   **/<a name="line.334"></a>
-<span class="sourceLineNo">335</span>  private void restoreTableDescriptor(final MasterProcedureEnv env) throws IOException {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    env.getMasterServices().getTableDescriptors().add(unmodifiedHTableDescriptor);<a name="line.336"></a>
-<span class="sourceLineNo">337</span><a name="line.337"></a>
-<span class="sourceLineNo">338</span>    // Make sure regions are opened after table descriptor is updated.<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    reOpenAllRegionsIfTableIsOnline(env);<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>   * Remove the column family from the file system<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   **/<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  private void deleteFromFs(final MasterProcedureEnv env) throws IOException {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    MasterDDLOperationHelper.deleteColumnFamilyFromFileSystem(env, tableName,<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      getRegionInfoList(env), familyName, hasMob);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  /**<a name="line.350"></a>
-<span class="sourceLineNo">351</span>   * Action after deleting column family.<a name="line.351"></a>
-<span class="sourceLineNo">352</span>   * @param env MasterProcedureEnv<a name="line.352"></a>
-<span class="sourceLineNo">353</span>   * @param state the procedure state<a name="line.353"></a>
-<span class="sourceLineNo">354</span>   * @throws IOException<a name="line.354"></a>
-<span class="sourceLineNo">355</span>   * @throws InterruptedException<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   */<a name="line.356"></a>
-<span class="sourceLineNo">357</span>  private void postDelete(final MasterProcedureEnv env, final DeleteColumnFamilyState state)<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      throws IOException, InterruptedException {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    runCoprocessorAction(env, state);<a name="line.359"></a>
-<span class="sourceLineNo">360</span>  }<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>  /**<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   * Last action from the procedure - executed when online schema change is supported.<a name="line.363"></a>
-<span class="sourceLineNo">364</span>   * @param env MasterProcedureEnv<a name="line.364"></a>
-<span class="sourceLineNo">365</span>   * @throws IOException<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   */<a name="line.366"></a>
-<span class="sourceLineNo">367</span>  private void reOpenAllRegionsIfTableIsOnline(final MasterProcedureEnv env) throws IOException {<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    // This operation only run when the table is enabled.<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    if (!env.getMasterServices().getAssignmentManager().getTableStateManager()<a name="line.369"></a>
-<span class="sourceLineNo">370</span>        .isTableState(getTableName(), TableState.State.ENABLED)) {<a name="line.370"></a>
-<span class="sourceLineNo">371</span>      return;<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>    if (MasterDDLOperationHelper.reOpenAllRegions(env, getTableName(), getRegionInfoList(env))) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>      LOG.info("Completed delete column family operation on table " + getTableName());<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    } else {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      LOG.warn("Error on reopening the regions on table " + getTableName());<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    }<a name="line.378"></a>
-<span class="sourceLineNo">379</span>  }<a name="line.379"></a>
-<span class="sourceLineNo">380</span><a name="line.380"></a>
-<span class="sourceLineNo">381</span>  /**<a name="line.381"></a>
-<span class="sourceLineNo">382</span>   * The procedure could be restarted from a different machine. If the variable is null, we need to<a name="line.382"></a>
-<span class="sourceLineNo">383</span>   * retrieve it.<a name="line.383"></a>
-<span class="sourceLineNo">384</span>   * @return traceEnabled<a name="line.384"></a>
-<span class="sourceLineNo">385</span>   */<a name="line.385"></a>
-<span class="sourceLineNo">386</span>  private Boolean isTraceEnabled() {<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    if (traceEnabled == null) {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>      traceEnabled = LOG.isTraceEnabled();<a name="line.388"></a>
-<span class="sourceLineNo">389</span>    }<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    return traceEnabled;<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>  private String getColumnFamilyName() {<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    return Bytes.toString(familyName);<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>  /**<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   * Coprocessor Action.<a name="line.398"></a>
-<span class="sourceLineNo">399</span>   * @param env MasterProcedureEnv<a name="line.399"></a>
-<span class="sourceLineNo">400</span>   * @param state the procedure state<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   * @throws IOException<a name="line.401"></a>
-<span class="sourceLineNo">402</span>   * @throws InterruptedException<a name="line.402"></a>
-<span class="sourceLineNo">403</span>   */<a name="line.403"></a>
-<span class="sourceLineNo">404</span>  private void runCoprocessorAction(final MasterProcedureEnv env,<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      final DeleteColumnFamilyState state) throws IOException, InterruptedException {<a name="line.405"></a>
-<span class="sourceLineNo">406</span>    final MasterCoprocessorHost cpHost = env.getMasterCoprocessorHost();<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    if (cpHost != null) {<a name="line.407"></a>
-<span class="sourceLineNo">408</span>      user.doAs(new PrivilegedExceptionAction&lt;Void&gt;() {<a name="line.408"></a>
-<span class="sourceLineNo">409</span>        @Override<a name="line.409"></a>
-<span class="sourceLineNo">410</span>        public Void run() throws Exception {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>          switch (state) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>          case DELETE_COLUMN_FAMILY_PRE_OPERATION:<a name="line.412"></a>
-<span class="sourceLineNo">413</span>            cpHost.preDeleteColumnHandler(tableName, familyName);<a name="line.413"></a>
+<span class="sourceLineNo">229</span>  @Override<a name="line.229"></a>
+<span class="sourceLineNo">230</span>  public void deserializeStateData(final InputStream stream) throws IOException {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    super.deserializeStateData(stream);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    MasterProcedureProtos.DeleteColumnFamilyStateData deleteCFMsg =<a name="line.232"></a>
+<span class="sourceLineNo">233</span>        MasterProcedureProtos.DeleteColumnFamilyStateData.parseDelimitedFrom(stream);<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    user = MasterProcedureUtil.toUserInfo(deleteCFMsg.getUserInfo());<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    tableName = ProtobufUtil.toTableName(deleteCFMsg.getTableName());<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    familyName = deleteCFMsg.getColumnfamilyName().toByteArray();<a name="line.236"></a>
+<span class="sourceLineNo">237</span><a name="line.237"></a>
+<span class="sourceLineNo">238</span>    if (deleteCFMsg.hasUnmodifiedTableSchema()) {<a name="line.238"></a>
+<span class="sourceLineNo">239</span>      unmodifiedHTableDescriptor = HTableDescriptor.convert(deleteCFMsg.getUnmodifiedTableSchema());<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    }<a name="line.240"></a>
+<span class="sourceLineNo">241</span>  }<a name="line.241"></a>
+<span class="sourceLineNo">242</span><a name="line.242"></a>
+<span class="sourceLineNo">243</span>  @Override<a name="line.243"></a>
+<span class="sourceLineNo">244</span>  public void toStringClassDetails(StringBuilder sb) {<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    sb.append(getClass().getSimpleName());<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    sb.append(" (table=");<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    sb.append(tableName);<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    sb.append(", columnfamily=");<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    if (familyName != null) {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>      sb.append(getColumnFamilyName());<a name="line.250"></a>
+<span class="sourceLineNo">251</span>    } else {<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      sb.append("Unknown");<a name="line.252"></a>
+<span class="sourceLineNo">253</span>    }<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    sb.append(")");<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>  @Override<a name="line.257"></a>
+<span class="sourceLineNo">258</span>  public TableName getTableName() {<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    return tableName;<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>  @Override<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  public TableOperationType getTableOperationType() {<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    return TableOperationType.EDIT;<a name="line.264"></a>
+<span class="sourceLineNo">265</span>  }<a name="line.265"></a>
+<span class="sourceLineNo">266</span><a name="line.266"></a>
+<span class="sourceLineNo">267</span>  /**<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   * Action before any real action of deleting column family.<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   * @param env MasterProcedureEnv<a name="line.269"></a>
+<span class="sourceLineNo">270</span>   * @throws IOException<a name="line.270"></a>
+<span class="sourceLineNo">271</span>   */<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  private void prepareDelete(final MasterProcedureEnv env) throws IOException {<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    // Checks whether the table is allowed to be modified.<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    MasterDDLOperationHelper.checkTableModifiable(env, tableName);<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></a>
+<span class="sourceLineNo">276</span>    // In order to update the descriptor, we need to retrieve the old descriptor for comparison.<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    unmodifiedHTableDescriptor = env.getMasterServices().getTableDescriptors().get(tableName);<a name="line.277"></a>
+<span class="sourceLineNo">278</span>    if (unmodifiedHTableDescriptor == null) {<a name="line.278"></a>
+<span class="sourceLineNo">279</span>      throw new IOException("HTableDescriptor missing for " + tableName);<a name="line.279"></a>
+<span class="sourceLineNo">280</span>    }<a name="line.280"></a>
+<span class="sourceLineNo">281</span>    if (!unmodifiedHTableDescriptor.hasFamily(familyName)) {<a name="line.281"></a>
+<span class="sourceLineNo">282</span>      throw new InvalidFamilyOperationException("Family '" + getColumnFamilyName()<a name="line.282"></a>
+<span class="sourceLineNo">283</span>          + "' does not exist, so it cannot be deleted");<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    }<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span>    if (unmodifiedHTableDescriptor.getColumnFamilies().length == 1) {<a name="line.286"></a>
+<span class="sourceLineNo">287</span>      throw new InvalidFamilyOperationException("Family '" + getColumnFamilyName()<a name="line.287"></a>
+<span class="sourceLineNo">288</span>        + "' is the only column family in the table, so it cannot be deleted");<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>    // whether mob family<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    hasMob = unmodifiedHTableDescriptor.getFamily(familyName).isMobEnabled();<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>   * Action before deleting column family.<a name="line.296"></a>
+<span class="sourceLineNo">297</span>   * @param env MasterProcedureEnv<a name="line.297"></a>
+<span class="sourceLineNo">298</span>   * @param state the procedure state<a name="line.298"></a>
+<span class="sourceLineNo">299</span>   * @throws IOException<a name="line.299"></a>
+<span class="sourceLineNo">300</span>   * @throws InterruptedException<a name="line.300"></a>
+<span class="sourceLineNo">301</span>   */<a name="line.301"></a>
+<span class="sourceLineNo">302</span>  private void preDelete(final MasterProcedureEnv env, final DeleteColumnFamilyState state)<a name="line.302"></a>
+<span class="sourceLineNo">303</span>      throws IOException, InterruptedException {<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    runCoprocessorAction(env, state);<a name="line.304"></a>
+<span class="sourceLineNo">305</span>  }<a name="line.305"></a>
+<span class="sourceLineNo">306</span><a name="line.306"></a>
+<span class="sourceLineNo">307</span>  /**<a name="line.307"></a>
+<span class="sourceLineNo">308</span>   * Remove the column family from the file system and update the table descriptor<a name="line.308"></a>
+<span class="sourceLineNo">309</span>   */<a name="line.309"></a>
+<span class="sourceLineNo">310</span>  private void updateTableDescriptor(final MasterProcedureEnv env) throws IOException {<a name="line.310"></a>
+<span class="sourceLineNo">311</span>    // Update table descriptor<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    LOG.info("DeleteColumn. Table = " + tableName + " family = " + getColumnFamilyName());<a name="line.312"></a>
+<span class="sourceLineNo">313</span><a name="line.313"></a>
+<span class="sourceLineNo">314</span>    HTableDescriptor htd = env.getMasterServices().getTableDescriptors().get(tableName);<a name="line.314"></a>
+<span class="sourceLineNo">315</span><a name="line.315"></a>
+<span class="sourceLineNo">316</span>    if (!htd.hasFamily(familyName)) {<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      // It is possible to reach this situation, as we could already delete the column family<a name="line.317"></a>
+<span class="sourceLineNo">318</span>      // from table descriptor, but the master failover happens before we complete this state.<a name="line.318"></a>
+<span class="sourceLineNo">319</span>      // We should be able to handle running this function multiple times without causing problem.<a name="line.319"></a>
+<span class="sourceLineNo">320</span>      return;<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>    htd.removeFamily(familyName);<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    env.getMasterServices().getTableDescriptors().add(htd);<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>   * Restore back to the old descriptor<a name="line.328"></a>
+<span class="sourceLineNo">329</span>   * @param env MasterProcedureEnv<a name="line.329"></a>
+<span class="sourceLineNo">330</span>   * @throws IOException<a name="line.330"></a>
+<span class="sourceLineNo">331</span>   **/<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  private void restoreTableDescriptor(final MasterProcedureEnv env) throws IOException {<a name="line.332"></a>
+<span class="sourceLineNo">333</span>    env.getMasterServices().getTableDescriptors().add(unmodifiedHTableDescriptor);<a name="line.333"></a>
+<span class="sourceLineNo">334</span><a name="line.334"></a>
+<span class="sourceLineNo">335</span>    // Make sure regions are opened after table descriptor is updated.<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    reOpenAllRegionsIfTableIsOnline(env);<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>   * Remove the column family from the file system<a name="line.340"></a>
+<span class="sourceLineNo">341</span>   **/<a name="line.341"></a>
+<span class="sourceLineNo">342</span>  private void deleteFromFs(final MasterProcedureEnv env) throws IOException {<a name="line.342"></a>
+<span class="sourceLineNo">343</span>    MasterDDLOperationHelper.deleteColumnFamilyFromFileSystem(env, tableName,<a name="line.343"></a>
+<span class="sourceLineNo">344</span>      getRegionInfoList(env), familyName, hasMob);<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>   * Action after deleting column family.<a name="line.348"></a>
+<span class="sourceLineNo">349</span>   * @param env MasterProcedureEnv<a name="line.349"></a>
+<span class="sourceLineNo">350</span>   * @param state the procedure state<a name="line.350"></a>
+<span class="sourceLineNo">351</span>   * @throws IOException<a name="line.351"></a>
+<span class="sourceLineNo">352</span>   * @throws InterruptedException<a name="line.352"></a>
+<span class="sourceLineNo">353</span>   */<a name="line.353"></a>
+<span class="sourceLineNo">354</span>  private void postDelete(final MasterProcedureEnv env, final DeleteColumnFamilyState state)<a name="line.354"></a>
+<span class="sourceLineNo">355</span>      throws IOException, InterruptedException {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    runCoprocessorAction(env, state);<a name="line.356"></a>
+<span class="sourceLineNo">357</span>  }<a name="line.357"></a>
+<span class="sourceLineNo">358</span><a name="line.358"></a>
+<span class="sourceLineNo">359</span>  /**<a name="line.359"></a>
+<span class="sourceLineNo">360</span>   * Last action from the procedure - executed when online schema change is supported.<a name="line.360"></a>
+<span class="sourceLineNo">361</span>   * @param env MasterProcedureEnv<a name="line.361"></a>
+<span class="sourceLineNo">362</span>   * @throws IOException<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   */<a name="line.363"></a>
+<span class="sourceLineNo">364</span>  private void reOpenAllRegionsIfTableIsOnline(final MasterProcedureEnv env) throws IOException {<a name="line.364"></a>
+<span class="sourceLineNo">365</span>    // This operation only run when the table is enabled.<a name="line.365"></a>
+<span class="sourceLineNo">366</span>    if (!env.getMasterServices().getAssignmentManager().getTableStateManager()<a name="line.366"></a>
+<span class="sourceLineNo">367</span>        .isTableState(getTableName(), TableState.State.ENABLED)) {<a name="line.367"></a>
+<span class="sourceLineNo">368</span>      return;<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>    if (MasterDDLOperationHelper.reOpenAllRegions(env, getTableName(), getRegionInfoList(env))) {<a name="line.371"></a>
+<span class="sourceLineNo">372</span>      LOG.info("Completed delete column family operation on table " + getTableName());<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    } else {<a name="line.373"></a>
+<span class="sourceLineNo">374</span>      LOG.warn("Error on reopening the regions on table " + getTableName());<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>  /**<a name="line.378"></a>
+<span class="sourceLineNo">379</span>   * The procedure could be restarted from a different machine. If the variable is null, we need to<a name="line.379"></a>
+<span class="sourceLineNo">380</span>   * retrieve it.<a name="line.380"></a>
+<span class="sourceLineNo">381</span>   * @return traceEnabled<a name="line.381"></a>
+<span class="sourceLineNo">382</span>   */<a name="line.382"></a>
+<span class="sourceLineNo">383</span>  private Boolean isTraceEnabled() {<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    if (traceEnabled == null) {<a name="line.384"></a>
+<span class="sourceLineNo">385</span>      traceEnabled = LOG.isTraceEnabled();<a name="line.385"></a>
+<span class="sourceLineNo">386</span>    }<a name="line.386"></a>
+<span class="sourceLineNo">387</span>    return traceEnabled;<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>  private String getColumnFamilyName() {<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    return Bytes.toString(familyName);<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>   * Coprocessor Action.<a name="line.395"></a>
+<span class="sourceLineNo">396</span>   * @param env MasterProcedureEnv<a name="line.396"></a>
+<span class="sourceLineNo">397</span>   * @param state the procedure state<a name="line.397"></a>
+<span class="sourceLineNo">398</span>   * @throws IOException<a name="line.398"></a>
+<span class="sourceLineNo">399</span>   * @throws InterruptedException<a name="line.399"></a>
+<span class="sourceLineNo">400</span>   */<a name="line.400"></a>
+<span class="sourceLineNo">401</span>  private void runCoprocessorAction(final MasterProcedureEnv env,<a name="line.401"></a>
+<span class="sourceLineNo">402</span>      final DeleteColumnFamilyState state) throws IOException, InterruptedException {<a name="line.402"></a>
+<span class="sourceLineNo">403</span>    final MasterCoprocessorHost cpHost = env.getMasterCoprocessorHost();<a name="line.403"></a>
+<span class="sourceLineNo">404</span>    if (cpHost != null) {<a name="line.404"></a>
+<span class="sourceLineNo">405</span>      user.doAs(new PrivilegedExceptionAction&lt;Void&gt;() {<a name="line.405"></a>
+<span class="sourceLineNo">406</span>        @Override<a name="line.406"></a>
+<span class="sourceLineNo">407</span>        public Void run() throws Exception {<a name="line.407"></a>
+<span class="sourceLineNo">408</span>          switch (state) {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>          case DELETE_COLUMN_FAMILY_PRE_OPERATION:<a name="line.409"></a>
+<span class="sourceLineNo">410</span>            cpHost.preDeleteColumnHandler(tableName, familyName);<a name="line.410"></a>
+<span class="sourceLineNo">411</span>            break;<a name="line.411"></a>
+<span class="sourceLineNo">412</span>          case DELETE_COLUMN_FAMILY_POST_OPERATION:<a name="line.412"></a>
+<span class="sourceLineNo">413</span>            cpHost.postDeleteColumnHandler(tableName, familyName);<a name="line.413"></a>
 <span class="sourceLineNo">414</span>            break;<a name="line.414"></a>
-<span class="sourceLineNo">415</span>          case DELETE_COLUMN_FAMILY_POST_OPERATION:<a name="line.415"></a>
-<span class="sourceLineNo">416</span>            cpHost.postDeleteColumnHandler(tableName, familyName);<a name="line.416"></a>
-<span class="sourceLineNo">417</span>            break;<a name="line.417"></a>
-<span class="sourceLineNo">418</span>          default:<a name="line.418"></a>
-<span class="sourceLineNo">419</span>            throw new UnsupportedOperationException(this + " unhandled state=" + state);<a name="line.419"></a>
-<span class="sourceLineNo">420</span>          }<a name="line.420"></a>
-<span class="sourceLineNo">421</span>          return null;<a name="line.421"></a>
-<span class="sourceLineNo">422</span>        }<a name="line.422"></a>
-<span class="sourceLineNo">423</span>      });<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    }<a name="line.424"></a>
-<span class="sourceLineNo">425</span>  }<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>   * Check whether we are in the state that can be rollback<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   */<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  private boolean isRollbackSupported(final DeleteColumnFamilyState state) {<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    switch (state) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    case DELETE_COLUMN_FAMILY_REOPEN_ALL_REGIONS:<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    case DELETE_COLUMN_FAMILY_POST_OPERATION:<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    case DELETE_COLUMN_FAMILY_DELETE_FS_LAYOUT:<a name="line.434"></a>
-<span class="sourceLineNo">435</span>        // It is not safe to rollback if we reach to these states.<a name="line.435"></a>
-<span class="sourceLineNo">436</span>        return false;<a name="line.436"></a>
-<span class="sourceLineNo">437</span>      default:<a name="line.437"></a>
-<span class="sourceLineNo">438</span>        break;<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    }<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    return true;<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>  private List&lt;HRegionInfo&gt; getRegionInfoList(final MasterProcedureEnv env) throws IOException {<a name="line.443"></a>
-<span class="sourceLineNo">444</span>    if (regionInfoList == null) {<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      regionInfoList = ProcedureSyncWait.getRegionsFromMeta(env, getTableName());<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    }<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    return regionInfoList;<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">415</span>          default:<a name="line.415"></a>
+<span class="sourceLineNo">416</span>            throw new UnsupportedOperationException(this + " unhandled state=" + state);<a name="line.416"></a>
+<span class="sourceLineNo">417</span>          }<a name="line.417"></a>
+<span class="sourceLineNo">418</span>          return null;<a name="line.418"></a>
+<span class="sourceLineNo">419</span>        }<a name="line.419"></a>
+<span class="sourceLineNo">420</span>      });<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>  /*<a name="line.424"></a>
+<span class="sourceLineNo">425</span>   * Check whether we are in the state that can be rollback<a name="line.425"></a>
+<span class="sourceLineNo">426</span>   */<a name="line.426"></a>
+<span class="sourceLineNo">427</span>  private boolean isRollbackSupported(final DeleteColumnFamilyState state) {<a name="line.427"></a>
+<span class="sourceLineNo">428</span>    switch (state) {<a name="line.428"></a>
+<span class="sourceLineNo">429</span>    case DELETE_COLUMN_FAMILY_REOPEN_ALL_REGIONS:<a name="line.429"></a>
+<span class="sourceLineNo">430</span>    case DELETE_COLUMN_FAMILY_POST_OPERATION:<a name="line.430"></a>
+<span class="sourceLineNo">431</span>    case DELETE_COLUMN_FAMILY_DELETE_FS_LAYOUT:<a name="line.431"></a>
+<span class="sourceLineNo">432</span>        // It is not safe to rollback if we reach to these states.<a name="line.432"></a>
+<span class="sourceLineNo">433</span>        return false;<a name="line.433"></a>
+<span class="sourceLineNo">434</span>      default:<a name="line.434"></a>
+<span class="sourceLineNo">435</span>        break;<a name="line.435"></a>
+<span class="sourceLineNo">436</span>    }<a name="line.436"></a>
+<span class="sourceLineNo">437</span>    return true;<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>  private List&lt;HRegionInfo&gt; getRegionInfoList(final MasterProcedureEnv env) throws IOException {<a name="line.440"></a>
+<span class="sourceLineNo">441</span>    if (regionInfoList == null) {<a name="line.441"></a>
+<span class="sourceLineNo">442</span>      regionInfoList = ProcedureSyncWait.getRegionsFromMeta(env, getTableName());<a name="line.442"></a>
+<span class="sourceLineNo">443</span>    }<a name="line.443"></a>
+<span class="sourceLineNo">444</span>    return regionInfoList;<a name="line.444"></a>
+<span class="sourceLineNo">445</span>  }<a name="line.445"></a>
+<span class="sourceLineNo">446</span>}<a name="line.446"></a>
 
 
 


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.ServerQueue.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.ServerQueue.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.ServerQueue.html
new file mode 100644
index 0000000..c2cd558
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.ServerQueue.html
@@ -0,0 +1,159 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ServerQueue (Apache HBase 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ServerQueue (Apache HBase 2.0.0-SNAPSHOT API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.ServerQueue.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.ServerQueue.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ServerQueue" class="title">Uses of Class<br>org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ServerQueue</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ServerQueue</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.master.procedure">org.apache.hadoop.hbase.master.procedure</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.hadoop.hbase.master.procedure">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ServerQueue</a> in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a></h3>
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a> that return <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ServerQueue</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ServerQueue</a></code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getServerQueue(org.apache.hadoop.hbase.ServerName)">getServerQueue</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ServerQueue</a></code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getServerQueueWithLock(org.apache.hadoop.hbase.ServerName)">getServerQueueWithLock</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.ServerQueue.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.ServerQueue.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip-navbar_bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.TableQueue.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.TableQueue.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.TableQueue.html
new file mode 100644
index 0000000..cdc091d
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.TableQueue.html
@@ -0,0 +1,159 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.TableQueue (Apache HBase 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.TableQueue (Apache HBase 2.0.0-SNAPSHOT API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.TableQueue.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.TableQueue.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.TableQueue" class="title">Uses of Class<br>org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.TableQueue</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.TableQueue</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.master.procedure">org.apache.hadoop.hbase.master.procedure</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.hadoop.hbase.master.procedure">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.TableQueue</a> in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a></h3>
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a> that return <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.TableQueue</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.TableQueue</a></code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getTableQueue(org.apache.hadoop.hbase.TableName)">getTableQueue</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.TableQueue</a></code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getTableQueueWithLock(org.apache.hadoop.hbase.TableName)">getTableQueueWithLock</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.TableQueue.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.TableQueue.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip-navbar_bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.html
new file mode 100644
index 0000000..51fa166
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.html
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler (Apache HBase 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler (Apache HBase 2.0.0-SNAPSHOT API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler" class="title">Uses of Class<br>org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.master.procedure">org.apache.hadoop.hbase.master.procedure</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.hadoop.hbase.master.procedure">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a> in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a></h3>
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a> declared as <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></code></td>
+<td class="colLast"><span class="strong">MasterProcedureEnv.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#procSched">procSched</a></strong></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a> that return <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></code></td>
+<td class="colLast"><span class="strong">MasterProcedureEnv.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#getProcedureQueue()">getProcedureQueue</a></strong>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip-navbar_bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/ServerProcedureInterface.ServerOperationType.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/ServerProcedureInterface.ServerOperationType.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/ServerProcedureInterface.ServerOperationType.html
new file mode 100644
index 0000000..3275466
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/ServerProcedureInterface.ServerOperationType.html
@@ -0,0 +1,174 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.hadoop.hbase.master.procedure.ServerProcedureInterface.ServerOperationType (Apache HBase 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="Uses of Class org.apache.hadoop.hbase.master.procedure.ServerProcedureInterface.ServerOperationType (Apache HBase 2.0.0-SNAPSHOT API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/ServerProcedureInterface.ServerOperationType.html" target="_top">Frames</a></li>
+<li><a href="ServerProcedureInterface.ServerOperationType.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.hadoop.hbase.master.procedure.ServerProcedureInterface.ServerOperationType" class="title">Uses of Class<br>org.apache.hadoop.hbase.master.procedure.ServerProcedureInterface.ServerOperationType</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface.ServerOperationType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.master.procedure">org.apache.hadoop.hbase.master.procedure</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.hadoop.hbase.master.procedure">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface.ServerOperationType</a> in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a></h3>
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a> that return <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface.ServerOperationType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface.ServerOperationType</a></code></td>
+<td class="colLast"><span class="strong">ServerCrashProcedure.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#getServerOperationType()">getServerOperationType</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface.ServerOperationType</a></code></td>
+<td class="colLast"><span class="strong">ServerProcedureInterface.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html#getServerOperationType()">getServerOperationType</a></strong>()</code>
+<div class="block">Given an operation type we can take decisions about what to do with pending operations.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface.ServerOperationType</a></code></td>
+<td class="colLast"><span class="strong">ServerProcedureInterface.ServerOperationType.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html#valueOf(java.lang.String)">valueOf</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface.ServerOperationType</a>[]</code></td>
+<td class="colLast"><span class="strong">ServerProcedureInterface.ServerOperationType.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html#values()">values</a></strong>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/ServerProcedureInterface.ServerOperationType.html" target="_top">Frames</a></li>
+<li><a href="ServerProcedureInterface.ServerOperationType.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip-navbar_bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/ServerProcedureInterface.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/ServerProcedureInterface.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/ServerProcedureInterface.html
index 0cee947..4d5f37f 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/ServerProcedureInterface.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/ServerProcedureInterface.html
@@ -102,47 +102,6 @@
 </tr>
 </tbody>
 </table>
-<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a> with parameters of type <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.ServerRunQueue</a></code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#createServerRunQueue(org.apache.hadoop.hbase.master.procedure.ServerProcedureInterface)">createServerRunQueue</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface</a>&nbsp;spi)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.ServerRunQueue</a></code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#getRunQueueOrCreate(org.apache.hadoop.hbase.master.procedure.ServerProcedureInterface)">getRunQueueOrCreate</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface</a>&nbsp;spi)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#releaseServerExclusiveLock(org.apache.hadoop.hbase.master.procedure.ServerProcedureInterface)">releaseServerExclusiveLock</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface</a>&nbsp;spi)</code>
-<div class="block">Release the write lock</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#releaseServerSharedLock(org.apache.hadoop.hbase.master.procedure.ServerProcedureInterface)">releaseServerSharedLock</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface</a>&nbsp;spi)</code>
-<div class="block">Release the read lock taken</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#tryAcquireServerExclusiveLock(org.apache.hadoop.hbase.master.procedure.ServerProcedureInterface)">tryAcquireServerExclusiveLock</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface</a>&nbsp;spi)</code>
-<div class="block">Try to acquire the write lock on the specified server.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#tryAcquireServerSharedLock(org.apache.hadoop.hbase.master.procedure.ServerProcedureInterface)">tryAcquireServerSharedLock</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface</a>&nbsp;spi)</code>
-<div class="block">Try to acquire the read lock on the specified server.</div>
-</td>
-</tr>
-</tbody>
-</table>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/package-frame.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/package-frame.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/package-frame.html
index 9962089..9f9b06e 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/package-frame.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/package-frame.html
@@ -12,7 +12,7 @@
 <h2 title="Interfaces">Interfaces</h2>
 <ul title="Interfaces">
 <li><a href="CreateTableProcedure.CreateHdfsRegions.html" title="interface in org.apache.hadoop.hbase.master.procedure" target="classFrame"><i>CreateTableProcedure.CreateHdfsRegions</i></a></li>
-<li><a href="MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure" target="classFrame"><i>MasterProcedureQueue.RunQueue</i></a></li>
+<li><a href="MasterProcedureScheduler.QueueInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure" target="classFrame"><i>MasterProcedureScheduler.QueueInterface</i></a></li>
 <li><a href="ProcedureSyncWait.Predicate.html" title="interface in org.apache.hadoop.hbase.master.procedure" target="classFrame"><i>ProcedureSyncWait.Predicate</i></a></li>
 <li><a href="ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure" target="classFrame"><i>ServerProcedureInterface</i></a></li>
 <li><a href="TableProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure" target="classFrame"><i>TableProcedureInterface</i></a></li>
@@ -33,10 +33,16 @@
 <li><a href="MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureEnv</a></li>
 <li><a href="MasterProcedureEnv.MasterProcedureStoreListener.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureEnv.MasterProcedureStoreListener</a></li>
 <li><a href="MasterProcedureEnv.WALStoreLeaseRecovery.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureEnv.WALStoreLeaseRecovery</a></li>
-<li><a href="MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureQueue</a></li>
-<li><a href="MasterProcedureQueue.AbstractRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureQueue.AbstractRunQueue</a></li>
-<li><a href="MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureQueue.ServerRunQueue</a></li>
-<li><a href="MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureQueue.TableRunQueue</a></li>
+<li><a href="MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureScheduler</a></li>
+<li><a href="MasterProcedureScheduler.AvlTree.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureScheduler.AvlTree</a></li>
+<li><a href="MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureScheduler.FairQueue</a></li>
+<li><a href="MasterProcedureScheduler.IterableList.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureScheduler.IterableList</a></li>
+<li><a href="MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureScheduler.NamespaceQueue</a></li>
+<li><a href="MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureScheduler.ProcedureEvent</a></li>
+<li><a href="MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureScheduler.Queue</a></li>
+<li><a href="MasterProcedureScheduler.QueueImpl.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureScheduler.QueueImpl</a></li>
+<li><a href="MasterProcedureScheduler.ServerQueue.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureScheduler.ServerQueue</a></li>
+<li><a href="MasterProcedureScheduler.TableQueue.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureScheduler.TableQueue</a></li>
 <li><a href="MasterProcedureUtil.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureUtil</a></li>
 <li><a href="ModifyColumnFamilyProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">ModifyColumnFamilyProcedure</a></li>
 <li><a href="ModifyNamespaceProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">ModifyNamespaceProcedure</a></li>
@@ -51,6 +57,7 @@
 <h2 title="Enums">Enums</h2>
 <ul title="Enums">
 <li><a href="DisableTableProcedure.MarkRegionOfflineOpResult.html" title="enum in org.apache.hadoop.hbase.master.procedure" target="classFrame">DisableTableProcedure.MarkRegionOfflineOpResult</a></li>
+<li><a href="ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure" target="classFrame">ServerProcedureInterface.ServerOperationType</a></li>
 <li><a href="TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure" target="classFrame">TableProcedureInterface.TableOperationType</a></li>
 </ul>
 </div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/package-summary.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/package-summary.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/package-summary.html
index 5375e75..5ed492d 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/package-summary.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/package-summary.html
@@ -79,7 +79,7 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a></td>
+<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueInterface</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
@@ -178,29 +178,49 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a></td>
+<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></td>
 <td class="colLast">
 <div class="block">ProcedureRunnableSet for the Master Procedures.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.AbstractRunQueue</a></td>
-<td class="colLast">
-<div class="block">Base abstract class for RunQueue implementations.</div>
-</td>
+<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.AvlTree</a></td>
+<td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.ServerRunQueue</a></td>
-<td class="colLast">
-<div class="block">Run Queue for Server procedures.</div>
-</td>
+<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a>&lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;</td>
+<td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.TableRunQueue</a></td>
+<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.IterableList</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.NamespaceQueue</a></td>
 <td class="colLast">
-<div class="block">Run Queue for a Table.</div>
+<div class="block">the namespace is currently used just as a rwlock, not as a queue.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;TKey extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;TKey&gt;&gt;</td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueImpl</a>&lt;TKey extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;TKey&gt;&gt;</td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ServerQueue</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.TableQueue</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureUtil.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureUtil</a></td>
 <td class="colLast">&nbsp;</td>
@@ -268,6 +288,10 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface.ServerOperationType</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface.TableOperationType</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/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 8a2f1a2..e5bf586 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
@@ -83,11 +83,20 @@
 <li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureEnv</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.MasterProcedureStoreListener.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureEnv.MasterProcedureStoreListener</span></a> (implements org.apache.hadoop.hbase.procedure2.store.<a href="../../../../../../org/apache/hadoop/hbase/procedure2/store/ProcedureStore.ProcedureStoreListener.html" title="interface in org.apache.hadoop.hbase.procedure2.store">ProcedureStore.ProcedureStoreListener</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.WALStoreLeaseRecovery.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureEnv.WALStoreLeaseRecovery</span></a> (implements org.apache.hadoop.hbase.procedure2.store.wal.<a href="../../../../../../org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.LeaseRecovery.html" title="interface in org.apache.hadoop.hbase.procedure2.store.wal">WALProcedureStore.LeaseRecovery</a>)</li>
-<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureQueue</span></a> (implements org.apache.hadoop.hbase.procedure2.<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureRunnableSet</a>)</li>
-<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureQueue.AbstractRunQueue</span></a> (implements org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a>)
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureScheduler</span></a> (implements org.apache.hadoop.hbase.procedure2.<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureRunnableSet</a>)</li>
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureScheduler.AvlTree</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureScheduler.FairQueue</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureScheduler.IterableList</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureScheduler.ProcedureEvent</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureScheduler.Queue</span></a>&lt;TKey&gt; (implements org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueInterface</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureQueue.ServerRunQueue</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureQueue.TableRunQueue</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureScheduler.NamespaceQueue</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureScheduler.QueueImpl</span></a>&lt;TKey&gt;
+<ul>
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureScheduler.ServerQueue</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureScheduler.TableQueue</span></a></li>
+</ul>
+</li>
 </ul>
 </li>
 <li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureUtil.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureUtil</span></a></li>
@@ -125,11 +134,7 @@
 <h2 title="Interface Hierarchy">Interface Hierarchy</h2>
 <ul>
 <li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/CreateTableProcedure.CreateHdfsRegions.html" title="interface in org.apache.hadoop.hbase.master.procedure"><span class="strong">CreateTableProcedure.CreateHdfsRegions</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2"><span class="strong">ProcedureFairRunQueues.FairObject</span></a>
-<ul>
-<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureQueue.RunQueue</span></a></li>
-</ul>
-</li>
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureScheduler.QueueInterface</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ProcedureSyncWait.Predicate.html" title="interface in org.apache.hadoop.hbase.master.procedure"><span class="strong">ProcedureSyncWait.Predicate</span></a>&lt;T&gt;</li>
 <li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure"><span class="strong">ServerProcedureInterface</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure"><span class="strong">TableProcedureInterface</span></a></li>
@@ -140,8 +145,9 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/7/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/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="strong">TableProcedureInterface.TableOperationType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="strong">DisableTableProcedure.MarkRegionOfflineOpResult</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="strong">ServerProcedureInterface.ServerOperationType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="strong">TableProcedureInterface.TableOperationType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/package-use.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/package-use.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/package-use.html
index a5958f0..3e116e0 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/package-use.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/package-use.html
@@ -122,6 +122,9 @@
 <tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureEnv.html#org.apache.hadoop.hbase.master">MasterProcedureEnv</a>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.ProcedureEvent.html#org.apache.hadoop.hbase.master">MasterProcedureScheduler.ProcedureEvent</a>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -144,27 +147,35 @@
 <td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureEnv.html#org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.html#org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a>
+<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.html#org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a>
 <div class="block">ProcedureRunnableSet for the Master Procedures.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.AbstractRunQueue.html#org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.AbstractRunQueue</a>
-<div class="block">Base abstract class for RunQueue implementations.</div>
+<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.FairQueue.html#org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.NamespaceQueue.html#org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.NamespaceQueue</a>
+<div class="block">the namespace is currently used just as a rwlock, not as a queue.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.ProcedureEvent.html#org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a>&nbsp;</td>
+</tr>
 <tr class="rowColor">
-<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.RunQueue.html#org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.Queue.html#org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.ServerRunQueue.html#org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.ServerRunQueue</a>
-<div class="block">Run Queue for Server procedures.</div>
-</td>
+<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.QueueImpl.html#org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueImpl</a>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureQueue.TableRunQueue.html#org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.TableRunQueue</a>
-<div class="block">Run Queue for a Table.</div>
-</td>
+<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.QueueInterface.html#org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueInterface</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.ServerQueue.html#org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ServerQueue</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.TableQueue.html#org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.TableQueue</a>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/class-use/ProcedurePrepareLatch.html#org.apache.hadoop.hbase.master.procedure">ProcedurePrepareLatch</a>
@@ -184,11 +195,14 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/class-use/ServerProcedureInterface.ServerOperationType.html#org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface.ServerOperationType</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/class-use/TableProcedureInterface.html#org.apache.hadoop.hbase.master.procedure">TableProcedureInterface</a>
 <div class="block">Procedures that operates on a specific Table (e.g.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/class-use/TableProcedureInterface.TableOperationType.html#org.apache.hadoop.hbase.master.procedure">TableProcedureInterface.TableOperationType</a>&nbsp;</td>
 </tr>
 </tbody>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/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 81a3918..8879f33 100644
--- a/devapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -360,14 +360,14 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/7/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/HConstants.OperationStatusCode.html" title="enum in org.apache.hadoop.hbase"><span class="strong">HConstants.OperationStatusCode</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="strong">MetaTableAccessor.QueryType</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="strong">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="strong">CompatibilitySingletonFactory.SingletonStorage</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase"><span class="strong">KeepDeletedCells</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="strong">KeyValue.Type</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="strong">Coprocessor.State</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="strong">HealthChecker.HealthCheckerExitStatus</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="strong">KeyValue.Type</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HConstants.Modify.html" title="enum in org.apache.hadoop.hbase"><span class="strong">HConstants.Modify</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="strong">HConstants.OperationStatusCode</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="strong">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="strong">KeepDeletedCells</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.Testing.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.Testing.html b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.Testing.html
index 2bb5d90..55971c5 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.Testing.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.Testing.html
@@ -36,7 +36,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.ProcedureTimeoutRetriever.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="strong">Next Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/hadoop/hbase/procedure2/ProcedureExecutor.Testing.html" target="_top">Frames</a></li>
@@ -264,7 +264,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.ProcedureTimeoutRetriever.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="strong">Next Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/hadoop/hbase/procedure2/ProcedureExecutor.Testing.html" target="_top">Frames</a></li>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/checkstyle-aggregate.html
----------------------------------------------------------------------
diff --git a/checkstyle-aggregate.html b/checkstyle-aggregate.html
index e0808c9..eb6440b 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="20160114" />
+    <meta name="Date-Revision-yyyymmdd" content="20160115" />
     <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" />
@@ -280,10 +280,10 @@
 <th><img src="images/icon_warning_sml.gif" alt="" />&#160;Warnings</th>
 <th><img src="images/icon_error_sml.gif" alt="" />&#160;Errors</th></tr>
 <tr class="b">
-<td>1668</td>
+<td>1667</td>
 <td>0</td>
 <td>0</td>
-<td>12997</td></tr></table></div>
+<td>13009</td></tr></table></div>
 <div class="section">
 <h2><a name="Files"></a>Files</h2>
 <table border="0" class="table table-striped">
@@ -2971,7 +2971,7 @@
 <td><a href="#org.apache.hadoop.hbase.master.procedure.DeleteNamespaceProcedure.java">org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
-<td>57</td></tr>
+<td>58</td></tr>
 <tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.DeleteTableProcedure.java">org/apache/hadoop/hbase/master/procedure/DeleteTableProcedure.java</a></td>
 <td>0</td>
@@ -2993,10 +2993,10 @@
 <td>0</td>
 <td>2</td></tr>
 <tr class="b">
-<td><a href="#org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue.java">org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.java</a></td>
+<td><a href="#org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.java">org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.java</a></td>
 <td>0</td>
 <td>0</td>
-<td>9</td></tr>
+<td>22</td></tr>
 <tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.ModifyColumnFamilyProcedure.java">org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.java</a></td>
 <td>0</td>
@@ -3006,7 +3006,7 @@
 <td><a href="#org.apache.hadoop.hbase.master.procedure.ModifyNamespaceProcedure.java">org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
-<td>35</td></tr>
+<td>36</td></tr>
 <tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.ModifyTableProcedure.java">org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.java</a></td>
 <td>0</td>
@@ -3288,2741 +3288,2736 @@
 <td>0</td>
 <td>11</td></tr>
 <tr class="a">
-<td><a href="#org.apache.hadoop.hbase.procedure2.ProcedureFairRunQueues.java">org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.java</a></td>
-<td>0</td>
-<td>0</td>
-<td>2</td></tr>
-<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure2.RemoteProcedureException.java">org/apache/hadoop/hbase/procedure2/RemoteProcedureException.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure2.RootProcedureState.java">org/apache/hadoop/hbase/procedure2/RootProcedureState.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure2.store.ProcedureStore.java">org/apache/hadoop/hbase/procedure2/store/ProcedureStore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure2.store.wal.ProcedureWALFile.java">org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFile.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure2.store.wal.ProcedureWALFormat.java">org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormat.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure2.store.wal.ProcedureWALFormatReader.java">org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore.java">org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure2.util.StringUtils.java">org/apache/hadoop/hbase/procedure2/util/StringUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure2.util.TimeoutBlockingQueue.java">org/apache/hadoop/hbase/procedure2/util/TimeoutBlockingQueue.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.protobuf.ProtobufMagic.java">org/apache/hadoop/hbase/protobuf/ProtobufMagic.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.protobuf.ProtobufUtil.java">org/apache/hadoop/hbase/protobuf/ProtobufUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>188</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.protobuf.ReplicationProtbufUtil.java">org/apache/hadoop/hbase/protobuf/ReplicationProtbufUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.protobuf.RequestConverter.java">org/apache/hadoop/hbase/protobuf/RequestConverter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>239</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.protobuf.ResponseConverter.java">org/apache/hadoop/hbase/protobuf/ResponseConverter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>25</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.AverageIntervalRateLimiter.java">org/apache/hadoop/hbase/quotas/AverageIntervalRateLimiter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.DefaultOperationQuota.java">org/apache/hadoop/hbase/quotas/DefaultOperationQuota.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.FixedIntervalRateLimiter.java">org/apache/hadoop/hbase/quotas/FixedIntervalRateLimiter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.MasterQuotaManager.java">org/apache/hadoop/hbase/quotas/MasterQuotaManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.NoopOperationQuota.java">org/apache/hadoop/hbase/quotas/NoopOperationQuota.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.NoopQuotaLimiter.java">org/apache/hadoop/hbase/quotas/NoopQuotaLimiter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.QuotaCache.java">org/apache/hadoop/hbase/quotas/QuotaCache.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.QuotaLimiterFactory.java">org/apache/hadoop/hbase/quotas/QuotaLimiterFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.QuotaRetriever.java">org/apache/hadoop/hbase/quotas/QuotaRetriever.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.QuotaSettings.java">org/apache/hadoop/hbase/quotas/QuotaSettings.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.QuotaSettingsFactory.java">org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.QuotaTableUtil.java">org/apache/hadoop/hbase/quotas/QuotaTableUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.QuotaUtil.java">org/apache/hadoop/hbase/quotas/QuotaUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.RateLimiter.java">org/apache/hadoop/hbase/quotas/RateLimiter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>18</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.RegionServerQuotaManager.java">org/apache/hadoop/hbase/quotas/RegionServerQuotaManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.ThrottleSettings.java">org/apache/hadoop/hbase/quotas/ThrottleSettings.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.ThrottlingException.java">org/apache/hadoop/hbase/quotas/ThrottlingException.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.TimeBasedLimiter.java">org/apache/hadoop/hbase/quotas/TimeBasedLimiter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.UserQuotaState.java">org/apache/hadoop/hbase/quotas/UserQuotaState.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.AnnotationReadingPriorityFunction.java">org/apache/hadoop/hbase/regionserver/AnnotationReadingPriorityFunction.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>16</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.BaseRowProcessor.java">org/apache/hadoop/hbase/regionserver/BaseRowProcessor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.ColumnTracker.java">org/apache/hadoop/hbase/regionserver/ColumnTracker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.CompactSplitThread.java">org/apache/hadoop/hbase/regionserver/CompactSplitThread.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>14</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.CompactedHFilesDischargeHandler.java">org/apache/hadoop/hbase/regionserver/CompactedHFilesDischargeHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.CompactedHFilesDischarger.java">org/apache/hadoop/hbase/regionserver/CompactedHFilesDischarger.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.CompactionRequestor.java">org/apache/hadoop/hbase/regionserver/CompactionRequestor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.CompactionTool.java">org/apache/hadoop/hbase/regionserver/CompactionTool.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/ConstantSizeRegionSplitPolicy.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.DefaultHeapMemoryTuner.java">org/apache/hadoop/hbase/regionserver/DefaultHeapMemoryTuner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>33</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.DefaultMemStore.java">org/apache/hadoop/hbase/regionserver/DefaultMemStore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>20</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.DefaultStoreEngine.java">org/apache/hadoop/hbase/regionserver/DefaultStoreEngine.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.DefaultStoreFileManager.java">org/apache/hadoop/hbase/regionserver/DefaultStoreFileManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.DefaultStoreFlusher.java">org/apache/hadoop/hbase/regionserver/DefaultStoreFlusher.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.DeleteTracker.java">org/apache/hadoop/hbase/regionserver/DeleteTracker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.DisabledRegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/DisabledRegionSplitPolicy.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.ExplicitColumnTracker.java">org/apache/hadoop/hbase/regionserver/ExplicitColumnTracker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.FavoredNodesForRegion.java">org/apache/hadoop/hbase/regionserver/FavoredNodesForRegion.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.FlushPolicyFactory.java">org/apache/hadoop/hbase/regionserver/FlushPolicyFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.FlushRequestListener.java">org/apache/hadoop/hbase/regionserver/FlushRequestListener.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.FlushRequester.java">org/apache/hadoop/hbase/regionserver/FlushRequester.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.HMobStore.java">org/apache/hadoop/hbase/regionserver/HMobStore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.HRegion.java">org/apache/hadoop/hbase/regionserver/HRegion.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>294</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.HRegionFileSystem.java">org/apache/hadoop/hbase/regionserver/HRegionFileSystem.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>44</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.HRegionServer.java">org/apache/hadoop/hbase/regionserver/HRegionServer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>93</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine.java">org/apache/hadoop/hbase/regionserver/HRegionServerCommandLine.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.HStore.java">org/apache/hadoop/hbase/regionserver/HStore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>43</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.HeapMemStoreLAB.java">org/apache/hadoop/hbase/regionserver/HeapMemStoreLAB.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.HeapMemoryManager.java">org/apache/hadoop/hbase/regionserver/HeapMemoryManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>17</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.HeapMemoryTuner.java">org/apache/hadoop/hbase/regionserver/HeapMemoryTuner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.IncreasingToUpperBoundRegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/IncreasingToUpperBoundRegionSplitPolicy.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.InternalScan.java">org/apache/hadoop/hbase/regionserver/InternalScan.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.InternalScanner.java">org/apache/hadoop/hbase/regionserver/InternalScanner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.KeyPrefixRegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/KeyPrefixRegionSplitPolicy.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.KeyValueHeap.java">org/apache/hadoop/hbase/regionserver/KeyValueHeap.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.KeyValueScanner.java">org/apache/hadoop/hbase/regionserver/KeyValueScanner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.LeaseException.java">org/apache/hadoop/hbase/regionserver/LeaseException.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.Leases.java">org/apache/hadoop/hbase/regionserver/Leases.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.LogRoller.java">org/apache/hadoop/hbase/regionserver/LogRoller.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.LruHashMap.java">org/apache/hadoop/hbase/regionserver/LruHashMap.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>69</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MemStore.java">org/apache/hadoop/hbase/regionserver/MemStore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>13</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MemStoreChunkPool.java">org/apache/hadoop/hbase/regionserver/MemStoreChunkPool.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MemStoreFlusher.java">org/apache/hadoop/hbase/regionserver/MemStoreFlusher.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>24</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MemStoreLAB.java">org/apache/hadoop/hbase/regionserver/MemStoreLAB.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MetricsRegion.java">org/apache/hadoop/hbase/regionserver/MetricsRegion.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MetricsRegionServer.java">org/apache/hadoop/hbase/regionserver/MetricsRegionServer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSourceFactory.java">org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSourceFactoryImpl.java">org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceFactoryImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSourceImpl.java">org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MetricsRegionServerWrapperImpl.java">org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MetricsRegionWrapperImpl.java">org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress.java">org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MultiRowMutationProcessor.java">org/apache/hadoop/hbase/regionserver/MultiRowMutationProcessor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.java">org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.NoOpHeapMemoryTuner.java">org/apache/hadoop/hbase/regionserver/NoOpHeapMemoryTuner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.NonLazyKeyValueScanner.java">org/apache/hadoop/hbase/regionserver/NonLazyKeyValueScanner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.NonReversedNonLazyKeyValueScanner.java">org/apache/hadoop/hbase/regionserver/NonReversedNonLazyKeyValueScanner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.OnlineRegions.java">org/apache/hadoop/hbase/regionserver/OnlineRegions.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.OperationStatus.java">org/apache/hadoop/hbase/regionserver/OperationStatus.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.RSDumpServlet.java">org/apache/hadoop/hbase/regionserver/RSDumpServlet.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.RSRpcServices.java">org/apache/hadoop/hbase/regionserver/RSRpcServices.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>138</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.RSStatusServlet.java">org/apache/hadoop/hbase/regionserver/RSStatusServlet.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.Region.java">org/apache/hadoop/hbase/regionserver/Region.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>60</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.java">org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>207</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.RegionMergeRequest.java">org/apache/hadoop/hbase/regionserver/RegionMergeRequest.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.RegionMergeTransaction.java">org/apache/hadoop/hbase/regionserver/RegionMergeTransaction.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.RegionMergeTransactionImpl.java">org/apache/hadoop/hbase/regionserver/RegionMergeTransactionImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>16</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.RegionScanner.java">org/apache/hadoop/hbase/regionserver/RegionScanner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.RegionServerCoprocessorHost.java">org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.RegionServerServices.java">org/apache/hadoop/hbase/regionserver/RegionServerServices.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.RegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/RegionSplitPolicy.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.ReplicationService.java">org/apache/hadoop/hbase/regionserver/ReplicationService.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.ReplicationSinkService.java">org/apache/hadoop/hbase/regionserver/ReplicationSinkService.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.ReversedKeyValueHeap.java">org/apache/hadoop/hbase/regionserver/ReversedKeyValueHeap.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.ReversedRegionScannerImpl.java">org/apache/hadoop/hbase/regionserver/ReversedRegionScannerImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.ReversedStoreScanner.java">org/apache/hadoop/hbase/regionserver/ReversedStoreScanner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.RowProcessor.java">org/apache/hadoop/hbase/regionserver/RowProcessor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.RpcSchedulerFactory.java">org/apache/hadoop/hbase/regionserver/RpcSchedulerFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.ScanDeleteTracker.java">org/apache/hadoop/hbase/regionserver/ScanDeleteTracker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.ScanInfo.java">org/apache/hadoop/hbase/regionserver/ScanInfo.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.ScanQueryMatcher.java">org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>27</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.ScanWildcardColumnTracker.java">org/apache/hadoop/hbase/regionserver/ScanWildcardColumnTracker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.ScannerContext.java">org/apache/hadoop/hbase/regionserver/ScannerContext.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.ServerNonceManager.java">org/apache/hadoop/hbase/regionserver/ServerNonceManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.ShutdownHook.java">org/apache/hadoop/hbase/regionserver/ShutdownHook.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.SimpleRpcSchedulerFactory.java">org/apache/hadoop/hbase/regionserver/SimpleRpcSchedulerFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.SplitLogWorker.java">org/apache/hadoop/hbase/regionserver/SplitLogWorker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.SplitRequest.java">org/apache/hadoop/hbase/regionserver/SplitRequest.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.SplitTransaction.java">org/apache/hadoop/hbase/regionserver/SplitTransaction.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.java">org/apache/hadoop/hbase/regionserver/SplitTransactionImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>61</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.Store.java">org/apache/hadoop/hbase/regionserver/Store.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>23</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StoreEngine.java">org/apache/hadoop/hbase/regionserver/StoreEngine.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StoreFile.java">org/apache/hadoop/hbase/regionserver/StoreFile.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>56</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StoreFileInfo.java">org/apache/hadoop/hbase/regionserver/StoreFileInfo.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>23</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StoreFileManager.java">org/apache/hadoop/hbase/regionserver/StoreFileManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StoreFileScanner.java">org/apache/hadoop/hbase/regionserver/StoreFileScanner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StoreFlushContext.java">org/apache/hadoop/hbase/regionserver/StoreFlushContext.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StoreFlusher.java">org/apache/hadoop/hbase/regionserver/StoreFlusher.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StoreScanner.java">org/apache/hadoop/hbase/regionserver/StoreScanner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>146</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StoreUtils.java">org/apache/hadoop/hbase/regionserver/StoreUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StorefileRefresherChore.java">org/apache/hadoop/hbase/regionserver/StorefileRefresherChore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StripeMultiFileWriter.java">org/apache/hadoop/hbase/regionserver/StripeMultiFileWriter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StripeStoreConfig.java">org/apache/hadoop/hbase/regionserver/StripeStoreConfig.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StripeStoreEngine.java">org/apache/hadoop/hbase/regionserver/StripeStoreEngine.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StripeStoreFileManager.java">org/apache/hadoop/hbase/regionserver/StripeStoreFileManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>19</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StripeStoreFlusher.java">org/apache/hadoop/hbase/regionserver/StripeStoreFlusher.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.TimeRangeTracker.java">org/apache/hadoop/hbase/regionserver/TimeRangeTracker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.UnexpectedStateException.java">org/apache/hadoop/hbase/regionserver/UnexpectedStateException.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.compactions.CompactionConfiguration.java">org/apache/hadoop/hbase/regionserver/compactions/CompactionConfiguration.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.compactions.CompactionContext.java">org/apache/hadoop/hbase/regionserver/compactions/CompactionContext.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.compactions.CompactionPolicy.java">org/apache/hadoop/hbase/regionserver/compactions/CompactionPolicy.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.compactions.CompactionProgress.java">org/apache/hadoop/hbase/regionserver/compactions/CompactionProgress.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.compactions.CompactionRequest.java">org/apache/hadoop/hbase/regionserver/compactions/CompactionRequest.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.compactions.CompactionThroughputControllerFactory.java">org/apache/hadoop/hbase/regionserver/compactions/CompactionThroughputControllerFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.compactions.Compactor.java">org/apache/hadoop/hbase/regionserver/compactions/Compactor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>28</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.compactions.CurrentHourProvider.java">org/apache/hadoop/hbase/regionserver/compactions/CurrentHourProvider.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.compactions.DefaultCompactor.java">org/apache/hadoop/hbase/regionserver/compactions/DefaultCompactor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.compactions.ExploringCompactionPolicy.java">org/apache/hadoop/hbase/regionserver/compactions/ExploringCompactionPolicy.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.compactions.OffPeakHours.java">org/apache/hadoop/hbase/regionserver/compactions/OffPeakHours.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.compactions.RatioBasedCompactionPolicy.java">org/apache/hadoop/hbase/regionserver/compactions/RatioBasedCompactionPolicy.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>25</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.compactions.StripeCompactionPolicy.java">org/apache/hadoop/hbase/regionserver/compactions/StripeCompactionPolicy.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>13</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.compactions.StripeCompactor.java">org/apache/hadoop/hbase/regionserver/compactions/StripeCompactor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.handler.CloseMetaHandler.java">org/apache/hadoop/hbase/regionserver/handler/CloseMetaHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.handler.CloseRegionHandler.java">org/apache/hadoop/hbase/regionserver/handler/CloseRegionHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.handler.OpenMetaHandler.java">org/apache/hadoop/hbase/regionserver/handler/OpenMetaHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler.java">org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.handler.ParallelSeekHandler.java">org/apache/hadoop/hbase/regionserver/handler/ParallelSeekHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.handler.RegionReplicaFlushHandler.java">org/apache/hadoop/hbase/regionserver/handler/RegionReplicaFlushHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.handler.WALSplitterHandler.java">org/apache/hadoop/hbase/regionserver/handler/WALSplitterHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>29</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.snapshot.RegionServerSnapshotManager.java">org/apache/hadoop/hbase/regionserver/snapshot/RegionServerSnapshotManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>20</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.CompressionContext.java">org/apache/hadoop/hbase/regionserver/wal/CompressionContext.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.Compressor.java">org/apache/hadoop/hbase/regionserver/wal/Compressor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.FSHLog.java">org/apache/hadoop/hbase/regionserver/wal/FSHLog.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>60</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.FSWALEntry.java">org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.FailedLogCloseException.java">org/apache/hadoop/hbase/regionserver/wal/FailedLogCloseException.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.FailedSyncBeforeLogCloseException.java">org/apache/hadoop/hbase/regionserver/wal/FailedSyncBeforeLogCloseException.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.HLogKey.java">org/apache/hadoop/hbase/regionserver/wal/HLogKey.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.HLogPrettyPrinter.java">org/apache/hadoop/hbase/regionserver/wal/HLogPrettyPrinter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.KeyValueCompression.java">org/apache/hadoop/hbase/regionserver/wal/KeyValueCompression.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.MetricsWAL.java">org/apache/hadoop/hbase/regionserver/wal/MetricsWAL.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.MetricsWALEditsReplay.java">org/apache/hadoop/hbase/regionserver/wal/MetricsWALEditsReplay.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.MetricsWALSourceImpl.java">org/apache/hadoop/hbase/regionserver/wal/MetricsWALSourceImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.ProtobufLogReader.java">org/apache/hadoop/hbase/regionserver/wal/ProtobufLogReader.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>23</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.ProtobufLogWriter.java">org/apache/hadoop/hbase/regionserver/wal/ProtobufLogWriter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.ReaderBase.java">org/apache/hadoop/hbase/regionserver/wal/ReaderBase.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.RingBufferTruck.java">org/apache/hadoop/hbase/regionserver/wal/RingBufferTruck.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.SecureProtobufLogReader.java">org/apache/hadoop/hbase/regionserver/wal/SecureProtobufLogReader.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.SecureProtobufLogWriter.java">org/apache/hadoop/hbase/regionserver/wal/SecureProtobufLogWriter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.SecureWALCellCodec.java">org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.SequenceFileLogReader.java">org/apache/hadoop/hbase/regionserver/wal/SequenceFileLogReader.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.SequenceIdAccounting.java">org/apache/hadoop/hbase/regionserver/wal/SequenceIdAccounting.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>52</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.SyncFuture.java">org/apache/hadoop/hbase/regionserver/wal/SyncFuture.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.WALActionsListener.java">org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.WALCellCodec.java">org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.WALCoprocessorHost.java">org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>13</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.WALEdit.java">org/apache/hadoop/hbase/regionserver/wal/WALEdit.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.WALEditsReplaySink.java">org/apache/hadoop/hbase/regionserver/wal/WALEditsReplaySink.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.WALUtil.java">org/apache/hadoop/hbase/regionserver/wal/WALUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.WriterBase.java">org/apache/hadoop/hbase/regionserver/wal/WriterBase.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.replication.BaseReplicationEndpoint.java">org/apache/hadoop/hbase/replication/BaseReplicationEndpoint.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.replication.ChainWALEntryFilter.java">org/apache/hadoop/hbase/replication/ChainWALEntryFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.replication.HBaseReplicationEndpoint.java">org/apache/hadoop/hbase/replication/HBaseReplicationEndpoint.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.replication.ReplicationEndpoint.java">org/apache/hadoop/hbase/replication/ReplicationEndpoint.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.replication.ReplicationFactory.java">org/apache/hadoop/hbase/replication/ReplicationFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.replication.ReplicationPeerZKImpl.java">org/apache/hadoop/hbase/replication/ReplicationPeerZKImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.replication.ReplicationPeersZKImpl.java">org/apache/hadoop/hbase/replication/ReplicationPeersZKImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.replication.ReplicationQueueInfo.java">org/apache/hadoop/hbase/replication/ReplicationQueueInfo.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>24</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.replication.ReplicationQueuesClientZKImpl.java">org/apache/hadoop/hbase/replication/ReplicationQueuesClientZKImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.replication.ReplicationQueuesZKImpl.java">org/apache/hadoop/hbase/replication/ReplicationQueuesZKImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.replication.ReplicationStateZKBase.java">org/apache/hadoop/hbase/replication/ReplicationStateZKBase.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.replication.ReplicationTracker.java">org/apache/hadoop/hbase/replication/ReplicationTracker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.replication.ReplicationTrackerZKImpl.java">org/apache/hadoop/hbase/replication/ReplicationTrackerZKImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.replication.WALEntryFilter.java">org/apache/hadoop/hbase/replication/WALEntryFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.replication.master.ReplicationLogCleaner.java">org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.replication.regionserver.HBaseInterClusterReplicationEndpoint.java">org/apache/hadoop/hbase/replication/regionserver/HBaseInterClusterReplicationEndpoint.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.replication.regionserver.MetricsReplicationGlobalSourceSource.java">org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationGlobalSourceSource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.replication.regionserver.MetricsReplicationSource.java">org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.replication.regionserver.MetricsSink.java">org/apache/hadoop/hbase/replication/regionserver/MetricsSink.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.replication.regionserver.MetricsSource.java">org/apache/hadoop/hbase/replication/regionserver/MetricsSource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.replication.regionserver.RegionReplicaReplicationEndpoint.java">org/apache/hadoop/hbase/replication/regionserver/RegionReplicaReplicationEndpoint.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.replication.regionserver.Replication.java">org/apache/hadoop/hbase/replication/regionserver/Replication.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.replication.regionserver.ReplicationLoad.java">org/apache/hadoop/hbase/replication/regionserver/ReplicationLoad.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.replication.regionserver.ReplicationSink.java">org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>15</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.replication.regionserver.ReplicationSinkManager.java">org/apache/hadoop/hbase/replication/regionserver/ReplicationSinkManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.replication.regionserver.ReplicationSource.java">org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceInterface.java">org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager.java">org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.replication.regionserver.ReplicationSyncUp.java">org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.replication.regionserver.ReplicationThrottler.java">org/apache/hadoop/hbase/replication/regionserver/ReplicationThrottler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.replication.regionserver.ReplicationWALReaderManager.java">org/apache/hadoop/hbase/replication/regionserver/ReplicationWALReaderManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.Constants.java">org/apache/hadoop/hbase/rest/Constants.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.ExistsResource.java">org/apache/hadoop/hbase/rest/ExistsResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.MetricsREST.java">org/apache/hadoop/hbase/rest/MetricsREST.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.MetricsRESTSource.java">org/apache/hadoop/hbase/rest/MetricsRESTSource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.MetricsRESTSourceImpl.java">org/apache/hadoop/hbase/rest/MetricsRESTSourceImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.MultiRowResource.java">org/apache/hadoop/hbase/rest/MultiRowResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.NamespacesInstanceResource.java">org/apache/hadoop/hbase/rest/NamespacesInstanceResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.NamespacesResource.java">org/apache/hadoop/hbase/rest/NamespacesResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.ProtobufMessageHandler.java">org/apache/hadoop/hbase/rest/ProtobufMessageHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.RESTServer.java">org/apache/hadoop/hbase/rest/RESTServer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.RESTServlet.java">org/apache/hadoop/hbase/rest/RESTServlet.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.RESTServletContainer.java">org/apache/hadoop/hbase/rest/RESTServletContainer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.RegionsResource.java">org/apache/hadoop/hbase/rest/RegionsResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.ResourceBase.java">org/apache/hadoop/hbase/rest/ResourceBase.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.ResourceConfig.java">org/apache/hadoop/hbase/rest/ResourceConfig.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.ResultGenerator.java">org/apache/hadoop/hbase/rest/ResultGenerator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.RootResource.java">org/apache/hadoop/hbase/rest/RootResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.RowResource.java">org/apache/hadoop/hbase/rest/RowResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>54</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.RowResultGenerator.java">org/apache/hadoop/hbase/rest/RowResultGenerator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.RowSpec.java">org/apache/hadoop/hbase/rest/RowSpec.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>36</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.ScannerInstanceResource.java">org/apache/hadoop/hbase/rest/ScannerInstanceResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.ScannerResource.java">org/apache/hadoop/hbase/rest/ScannerResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.ScannerResultGenerator.java">org/apache/hadoop/hbase/rest/ScannerResultGenerator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.SchemaResource.java">org/apache/hadoop/hbase/rest/SchemaResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.StorageClusterStatusResource.java">org/apache/hadoop/hbase/rest/StorageClusterStatusResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.StorageClusterVersionResource.java">org/apache/hadoop/hbase/rest/StorageClusterVersionResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.TableResource.java">org/apache/hadoop/hbase/rest/TableResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>14</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.TableScanResource.java">org/apache/hadoop/hbase/rest/TableScanResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.VersionResource.java">org/apache/hadoop/hbase/rest/VersionResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.client.Client.java">org/apache/hadoop/hbase/rest/client/Client.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>25</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.client.RemoteAdmin.java">org/apache/hadoop/hbase/rest/client/RemoteAdmin.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>118</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.client.RemoteHTable.java">org/apache/hadoop/hbase/rest/client/RemoteHTable.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>125</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.filter.AuthFilter.java">org/apache/hadoop/hbase/rest/filter/AuthFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.filter.GZIPRequestStream.java">org/apache/hadoop/hbase/rest/filter/GZIPRequestStream.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.filter.GZIPResponseStream.java">org/apache/hadoop/hbase/rest/filter/GZIPResponseStream.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.filter.GzipFilter.java">org/apache/hadoop/hbase/rest/filter/GzipFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.model.CellModel.java">org/apache/hadoop/hbase/rest/model/CellModel.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>16</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.model.CellSetModel.java">org/apache/hadoop/hbase/rest/model/CellSetModel.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.model.ColumnSchemaModel.java">org/apache/hadoop/hbase/rest/model/ColumnSchemaModel.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.model.NamespacesInstanceModel.java">org/apache/hadoop/hbase/rest/model/NamespacesInstanceModel.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.model.NamespacesModel.java">org/apache/hadoop/hbase/rest/model/NamespacesModel.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.model.ScannerModel.java">org/apache/hadoop/hbase/rest/model/ScannerModel.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>133</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.model.StorageClusterStatusModel.java">org/apache/hadoop/hbase/rest/model/StorageClusterStatusModel.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.model.StorageClusterVersionModel.java">org/apache/hadoop/hbase/rest/model/StorageClusterVersionModel.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.model.TableInfoModel.java">org/apache/hadoop/hbase/rest/model/TableInfoModel.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.model.TableModel.java">org/apache/hadoop/hbase/rest/model/TableModel.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.model.TableRegionModel.java">org/apache/hadoop/hbase/rest/model/TableRegionModel.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.model.TableSchemaModel.java">org/apache/hadoop/hbase/rest/model/TableSchemaModel.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.model.VersionModel.java">org/apache/hadoop/hbase/rest/model/VersionModel.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.provider.JAXBContextResolver.java">org/apache/hadoop/hbase/rest/provider/JAXBContextResolver.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.provider.JacksonProvider.java">org/apache/hadoop/hbase/rest/provider/JacksonProvider.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.AccessDeniedException.java">org/apache/hadoop/hbase/security/AccessDeniedException.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.AuthMethod.java">org/apache/hadoop/hbase/security/AuthMethod.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.EncryptionUtil.java">org/apache/hadoop/hbase/security/EncryptionUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.HBasePolicyProvider.java">org/apache/hadoop/hbase/security/HBasePolicyProvider.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.HBaseSaslRpcClient.java">org/apache/hadoop/hbase/security/HBaseSaslRpcClient.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>37</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.HBaseSaslRpcServer.java">org/apache/hadoop/hbase/security/HBaseSaslRpcServer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.SaslClientHandler.java">org/apache/hadoop/hbase/security/SaslClientHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>24</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.SaslStatus.java">org/apache/hadoop/hbase/security/SaslStatus.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.SaslUtil.java">org/apache/hadoop/hbase/security/SaslUtil.java</a></td>
 <td>0</td>
 <td>0</td>
-<td>2</td></tr>
-<tr class="a">
+<td>1</td></tr>
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.SecureBulkLoadUtil.java">org/apache/hadoop/hbase/security/SecureBulkLoadUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.SecurityInfo.java">org/apache/hadoop/hbase/security/SecurityInfo.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.SecurityUtil.java">org/apache/hadoop/hbase/security/SecurityUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.Superusers.java">org/apache/hadoop/hbase/security/Superusers.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.User.java">org/apache/hadoop/hbase/security/User.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.UserProvider.java">org/apache/hadoop/hbase/security/UserProvider.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.access.AccessControlClient.java">org/apache/hadoop/hbase/security/access/AccessControlClient.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>25</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.access.AccessControlConstants.java">org/apache/hadoop/hbase/security/access/AccessControlConstants.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.access.AccessControlFilter.java">org/apache/hadoop/hbase/security/access/AccessControlFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.access.AccessControlLists.java">org/apache/hadoop/hbase/security/access/AccessControlLists.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>76</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.access.AccessController.java">org/apache/hadoop/hbase/security/access/AccessController.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>32</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.access.AuthResult.java">org/apache/hadoop/hbase/security/access/AuthResult.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.access.HbaseObjectWritableFor96Migration.java">org/apache/hadoop/hbase/security/access/HbaseObjectWritableFor96Migration.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>37</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.access.Permission.java">org/apache/hadoop/hbase/security/access/Permission.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.access.SecureBulkLoadEndpoint.java">org/apache/hadoop/hbase/security/access/SecureBulkLoadEndpoint.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.access.TableAuthManager.java">org/apache/hadoop/hbase/security/access/TableAuthManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>43</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.access.TablePermission.java">org/apache/hadoop/hbase/security/access/TablePermission.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.access.UserPermission.java">org/apache/hadoop/hbase/security/access/UserPermission.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.access.ZKPermissionWatcher.java">org/apache/hadoop/hbase/security/access/ZKPermissionWatcher.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.token.AuthenticationKey.java">org/apache/hadoop/hbase/security/token/AuthenticationKey.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.token.AuthenticationTokenIdentifier.java">org/apache/hadoop/hbase/security/token/AuthenticationTokenIdentifier.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.token.AuthenticationTokenSecretManager.java">org/apache/hadoop/hbase/security/token/AuthenticationTokenSecretManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.token.FsDelegationToken.java">org/apache/hadoop/hbase/security/token/FsDelegationToken.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.token.TokenProvider.java">org/apache/hadoop/hbase/security/token/TokenProvider.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.token.TokenUtil.java">org/apache/hadoop/hbase/security/token/TokenUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.token.ZKSecretWatcher.java">org/apache/hadoop/hbase/security/token/ZKSecretWatcher.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.CellVisibility.java">org/apache/hadoop/hbase/security/visibility/CellVisibility.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.DefaultVisibilityLabelServiceImpl.java">org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.DefinedSetFilterScanLabelGenerator.java">org/apache/hadoop/hbase/security/visibility/DefinedSetFilterScanLabelGenerator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.EnforcingScanLabelGenerator.java">org/apache/hadoop/hbase/security/visibility/EnforcingScanLabelGenerator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.ExpressionParser.java">org/apache/hadoop/hbase/security/visibility/ExpressionParser.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.FeedUserAuthScanLabelGenerator.java">org/apache/hadoop/hbase/security/visibility/FeedUserAuthScanLabelGenerator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.ScanLabelGenerator.java">org/apache/hadoop/hbase/security/visibility/ScanLabelGenerator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.SimpleScanLabelGenerator.java">org/apache/hadoop/hbase/security/visibility/SimpleScanLabelGenerator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityClient.java">org/apache/hadoop/hbase/security/visibility/VisibilityClient.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>99</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityConstants.java">org/apache/hadoop/hbase/security/visibility/VisibilityConstants.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityController.java">org/apache/hadoop/hbase/security/visibility/VisibilityController.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityExpEvaluator.java">org/apache/hadoop/hbase/security/visibility/VisibilityExpEvaluator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityLabelFilter.java">org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityLabelService.java">org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityLabelServiceManager.java">org/apache/hadoop/hbase/security/visibility/VisibilityLabelServiceManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityLabelsCache.java">org/apache/hadoop/hbase/security/visibility/VisibilityLabelsCache.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityLabelsValidator.java">org/apache/hadoop/hbase/security/visibility/VisibilityLabelsValidator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityReplicationEndpoint.java">org/apache/hadoop/hbase/security/visibility/VisibilityReplicationEndpoint.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityScanDeleteTracker.java">org/apache/hadoop/hbase/security/visibility/VisibilityScanDeleteTracker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>52</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityUtils.java">org/apache/hadoop/hbase/security/visibility/VisibilityUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.ZKVisibilityLabelWatcher.java">org/apache/hadoop/hbase/security/visibility/ZKVisibilityLabelWatcher.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils.java">org/apache/hadoop/hbase/snapshot/ClientSnapshotDescriptionUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.snapshot.CreateSnapshot.java">org/apache/hadoop/hbase/snapshot/CreateSnapshot.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>43</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.snapshot.ExportSnapshot.java">org/apache/hadoop/hbase/snapshot/ExportSnapshot.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>19</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.snapshot.RestoreSnapshotHelper.java">org/apache/hadoop/hbase/snapshot/RestoreSnapshotHelper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>19</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils.java">org/apache/hadoop/hbase/snapshot/SnapshotDescriptionUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>13</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.snapshot.SnapshotInfo.java">org/apache/hadoop/hbase/snapshot/SnapshotInfo.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>20</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.snapshot.SnapshotManifest.java">org/apache/hadoop/hbase/snapshot/SnapshotManifest.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.snapshot.SnapshotManifestV1.java">org/apache/hadoop/hbase/snapshot/SnapshotManifestV1.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.snapshot.SnapshotManifestV2.java">org/apache/hadoop/hbase/snapshot/SnapshotManifestV2.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.snapshot.SnapshotReferenceUtil.java">org/apache/hadoop/hbase/snapshot/SnapshotReferenceUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.snapshot.TablePartiallyOpenException.java">org/apache/hadoop/hbase/snapshot/TablePartiallyOpenException.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.spark.SparkSQLPushDownFilter.java">org/apache/hadoop/hbase/spark/SparkSQLPushDownFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.spark.example.hbasecontext.JavaHBaseBulkDeleteExample.java">org/apache/hadoop/hbase/spark/example/hbasecontext/JavaHBaseBulkDeleteExample.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.spark.example.hbasecontext.JavaHBaseMapGetPutExample.java">org/apache/hadoop/hbase/spark/example/hbasecontext/JavaHBaseMapGetPutExample.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>23</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.thrift.DemoClient.java">org/apache/hadoop/hbase/thrift/DemoClient.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>268</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.thrift.HThreadedSelectorServerArgs.java">org/apache/hadoop/hbase/thrift/HThreadedSelectorServerArgs.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.thrift.HbaseHandlerMetricsProxy.java">org/apache/hadoop/hbase/thrift/HbaseHandlerMetricsProxy.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.thrift.HttpDoAsClient.java">org/apache/hadoop/hbase/thrift/HttpDoAsClient.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.thrift.IncrementCoalescer.java">org/apache/hadoop/hbase/thrift/IncrementCoalescer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.thrift.MetricsThriftServerSource.java">org/apache/hadoop/hbase/thrift/MetricsThriftServerSource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.thrift.MetricsThriftServerSourceFactory.java">org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.thrift.MetricsThriftServerSourceImpl.java">org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.thrift.TBoundedThreadPoolServer.java">org/apache/hadoop/hbase/thrift/TBoundedThreadPoolServer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.thrift.ThriftMetrics.java">org/apache/hadoop/hbase/thrift/ThriftMetrics.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.thrift.ThriftServer.java">org/apache/hadoop/hbase/thrift/ThriftServer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>17</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.thrift.ThriftServerRunner.java">org/apache/hadoop/hbase/thrift/ThriftServerRunner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>22</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.thrift.ThriftUtilities.java">org/apache/hadoop/hbase/thrift/ThriftUtilities.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>23</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.thrift2.DemoClient.java">org/apache/hadoop/hbase/thrift2/DemoClient.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.thrift2.ThriftHBaseServiceHandler.java">org/apache/hadoop/hbase/thrift2/ThriftHBaseServiceHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.thrift2.ThriftServer.java">org/apache/hadoop/hbase/thrift2/ThriftServer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.thrift2.ThriftUtilities.java">org/apache/hadoop/hbase/thrift2/ThriftUtilities.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.tool.Canary.java">org/apache/hadoop/hbase/tool/Canary.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>15</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.tool.WriteSinkCoprocessor.java">org/apache/hadoop/hbase/tool/WriteSinkCoprocessor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.trace.HBaseHTraceConfiguration.java">org/apache/hadoop/hbase/trace/HBaseHTraceConfiguration.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.trace.SpanReceiverHost.java">org/apache/hadoop/hbase/trace/SpanReceiverHost.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.types.CopyOnWriteArrayMap.java">org/apache/hadoop/hbase/types/CopyOnWriteArrayMap.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.FixedLengthWrapper.java">org/apache/hadoop/hbase/types/FixedLengthWrapper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.types.OrderedBlob.java">org/apache/hadoop/hbase/types/OrderedBlob.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.OrderedBlobVar.java">org/apache/hadoop/hbase/types/OrderedBlobVar.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.types.OrderedBytesBase.java">org/apache/hadoop/hbase/types/OrderedBytesBase.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.OrderedFloat32.java">org/apache/hadoop/hbase/types/OrderedFloat32.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.types.OrderedFloat64.java">org/apache/hadoop/hbase/types/OrderedFloat64.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.OrderedInt16.java">org/apache/hadoop/hbase/types/OrderedInt16.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.types.OrderedInt32.java">org/apache/hadoop/hbase/types/OrderedInt32.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.OrderedInt64.java">org/apache/hadoop/hbase/types/OrderedInt64.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.types.OrderedInt8.java">org/apache/hadoop/hbase/types/OrderedInt8.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.OrderedNumeric.java">org/apache/hadoop/hbase/types/OrderedNumeric.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.types.OrderedString.java">org/apache/hadoop/hbase/types/OrderedString.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.PBCell.java">org/apache/hadoop/hbase/types/PBCell.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.types.PBType.java">org/apache/hadoop/hbase/types/PBType.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.RawByte.java">org/apache/hadoop/hbase/types/RawByte.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.types.RawBytes.java">org/apache/hadoop/hbase/types/RawBytes.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.RawDouble.java">org/apache/hadoop/hbase/types/RawDouble.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.types.RawFloat.java">org/apache/hadoop/hbase/types/RawFloat.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.RawInteger.java">org/apache/hadoop/hbase/types/RawInteger.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.types.RawLong.java">org/apache/hadoop/hbase/types/RawLong.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.RawShort.java">org/apache/hadoop/hbase/types/RawShort.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.types.RawString.java">org/apache/hadoop/hbase/types/RawString.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.Struct.java">org/apache/hadoop/hbase/types/Struct.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>13</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.types.StructBuilder.java">org/apache/hadoop/hbase/types/StructBuilder.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.StructIterator.java">org/apache/hadoop/hbase/types/StructIterator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.types.TerminatedWrapper.java">org/apache/hadoop/hbase/types/TerminatedWrapper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.Union2.java">org/apache/hadoop/hbase/types/Union2.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.types.Union3.java">org/apache/hadoop/hbase/types/Union3.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.Union4.java">org/apache/hadoop/hbase/types/Union4.java</a></td>
 <td>0</td>
 <t

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/checkstyle.rss
----------------------------------------------------------------------
diff --git a/checkstyle.rss b/checkstyle.rss
index f3b28cd..de72f4d 100644
--- a/checkstyle.rss
+++ b/checkstyle.rss
@@ -25,8 +25,8 @@ under the License.
     <language>en-us</language>
     <copyright>&#169;2007 - 2016 The Apache Software Foundation</copyright>
     <item>
-      <title>File: 1668,
-             Errors: 12997,
+      <title>File: 1667,
+             Errors: 13009,
              Warnings: 0,
              Infos: 0
       </title>
@@ -7452,20 +7452,6 @@ under the License.
               </tr>
                           <tr>
                 <td>
-                  <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.procedure2.ProcedureFairRunQueues.java">org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.java</a>
-                </td>
-                <td>
-                  0
-                </td>
-                <td>
-                  0
-                </td>
-                <td>
-                  2
-                </td>
-              </tr>
-                          <tr>
-                <td>
                   <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.ipc.CallTimeoutException.java">org/apache/hadoop/hbase/ipc/CallTimeoutException.java</a>
                 </td>
                 <td>
@@ -8642,6 +8628,20 @@ under the License.
               </tr>
                           <tr>
                 <td>
+                  <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.java">org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.java</a>
+                </td>
+                <td>
+                  0
+                </td>
+                <td>
+                  0
+                </td>
+                <td>
+                  22
+                </td>
+              </tr>
+                          <tr>
+                <td>
                   <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.rest.protobuf.generated.VersionMessage.java">org/apache/hadoop/hbase/rest/protobuf/generated/VersionMessage.java</a>
                 </td>
                 <td>
@@ -15203,7 +15203,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  2
+                  1
                 </td>
               </tr>
                           <tr>
@@ -16253,7 +16253,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  57
+                  58
                 </td>
               </tr>
                           <tr>
@@ -16818,20 +16818,6 @@ under the License.
               </tr>
                           <tr>
                 <td>
-                  <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue.java">org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.java</a>
-                </td>
-                <td>
-                  0
-                </td>
-                <td>
-                  0
-                </td>
-                <td>
-                  9
-                </td>
-              </tr>
-                          <tr>
-                <td>
                   <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.SizeCachedKeyValue.java">org/apache/hadoop/hbase/SizeCachedKeyValue.java</a>
                 </td>
                 <td>
@@ -17023,7 +17009,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  35
+                  36
                 </td>
               </tr>
                           <tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/coc.html
----------------------------------------------------------------------
diff --git a/coc.html b/coc.html
index ea1e3f0..31432b2 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="20160114" />
+    <meta name="Date-Revision-yyyymmdd" content="20160115" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Code of Conduct Policy
@@ -331,7 +331,7 @@ For flagrant violations requiring a firm response the PMC may opt to skip early
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-14</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-15</li>
             </p>
                 </div>
 

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/dependencies.html
----------------------------------------------------------------------
diff --git a/dependencies.html b/dependencies.html
index e4ce724..1ec7694 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="20160114" />
+    <meta name="Date-Revision-yyyymmdd" content="20160115" />
     <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" />
@@ -518,7 +518,7 @@
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-14</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-15</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/dependency-convergence.html b/dependency-convergence.html
index aca81c7..5f06031 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="20160114" />
+    <meta name="Date-Revision-yyyymmdd" content="20160115" />
     <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" />
@@ -1593,7 +1593,7 @@
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-14</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-15</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/dependency-info.html
----------------------------------------------------------------------
diff --git a/dependency-info.html b/dependency-info.html
index 326883f..1d2ffdf 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="20160114" />
+    <meta name="Date-Revision-yyyymmdd" content="20160115" />
     <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" />
@@ -312,7 +312,7 @@
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-14</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-15</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/dependency-management.html
----------------------------------------------------------------------
diff --git a/dependency-management.html b/dependency-management.html
index cbe94a8..e829f0e 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="20160114" />
+    <meta name="Date-Revision-yyyymmdd" content="20160115" />
     <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" />
@@ -786,7 +786,7 @@
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-14</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-15</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/allclasses-frame.html
----------------------------------------------------------------------
diff --git a/devapidocs/allclasses-frame.html b/devapidocs/allclasses-frame.html
index c776214..2028dce 100644
--- a/devapidocs/allclasses-frame.html
+++ b/devapidocs/allclasses-frame.html
@@ -1042,11 +1042,17 @@
 <li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.WALStoreLeaseRecovery.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureEnv.WALStoreLeaseRecovery</a></li>
 <li><a href="org/apache/hadoop/hbase/procedure/MasterProcedureManager.html" title="class in org.apache.hadoop.hbase.procedure" target="classFrame">MasterProcedureManager</a></li>
 <li><a href="org/apache/hadoop/hbase/procedure/MasterProcedureManagerHost.html" title="class in org.apache.hadoop.hbase.procedure" target="classFrame">MasterProcedureManagerHost</a></li>
-<li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureQueue</a></li>
-<li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureQueue.AbstractRunQueue</a></li>
-<li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure" target="classFrame"><i>MasterProcedureQueue.RunQueue</i></a></li>
-<li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureQueue.ServerRunQueue</a></li>
-<li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureQueue.TableRunQueue</a></li>
+<li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureScheduler</a></li>
+<li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureScheduler.AvlTree</a></li>
+<li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureScheduler.FairQueue</a></li>
+<li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureScheduler.IterableList</a></li>
+<li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureScheduler.NamespaceQueue</a></li>
+<li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureScheduler.ProcedureEvent</a></li>
+<li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureScheduler.Queue</a></li>
+<li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureScheduler.QueueImpl</a></li>
+<li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure" target="classFrame"><i>MasterProcedureScheduler.QueueInterface</i></a></li>
+<li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureScheduler.ServerQueue</a></li>
+<li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureScheduler.TableQueue</a></li>
 <li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureUtil.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">MasterProcedureUtil</a></li>
 <li><a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">MasterQuotaManager</a></li>
 <li><a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">MasterQuotaManager.NamedLock</a></li>
@@ -1379,8 +1385,6 @@
 <li><a href="org/apache/hadoop/hbase/procedure2/ProcedureExecutor.ProcedureExecutorListener.html" title="interface in org.apache.hadoop.hbase.procedure2" target="classFrame"><i>ProcedureExecutor.ProcedureExecutorListener</i></a></li>
 <li><a href="org/apache/hadoop/hbase/procedure2/ProcedureExecutor.ProcedureTimeoutRetriever.html" title="class in org.apache.hadoop.hbase.procedure2" target="classFrame">ProcedureExecutor.ProcedureTimeoutRetriever</a></li>
 <li><a href="org/apache/hadoop/hbase/procedure2/ProcedureExecutor.Testing.html" title="class in org.apache.hadoop.hbase.procedure2" target="classFrame">ProcedureExecutor.Testing</a></li>
-<li><a href="org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2" target="classFrame">ProcedureFairRunQueues</a></li>
-<li><a href="org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2" target="classFrame"><i>ProcedureFairRunQueues.FairObject</i></a></li>
 <li><a href="org/apache/hadoop/hbase/ProcedureInfo.html" title="class in org.apache.hadoop.hbase" target="classFrame">ProcedureInfo</a></li>
 <li><a href="org/apache/hadoop/hbase/procedure/ProcedureManager.html" title="class in org.apache.hadoop.hbase.procedure" target="classFrame">ProcedureManager</a></li>
 <li><a href="org/apache/hadoop/hbase/procedure/ProcedureManagerHost.html" title="class in org.apache.hadoop.hbase.procedure" target="classFrame">ProcedureManagerHost</a></li>
@@ -1812,6 +1816,7 @@
 <li><a href="org/apache/hadoop/hbase/regionserver/ServerNonceManager.OperationContext.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">ServerNonceManager.OperationContext</a></li>
 <li><a href="org/apache/hadoop/hbase/ipc/ServerNotRunningYetException.html" title="class in org.apache.hadoop.hbase.ipc" target="classFrame">ServerNotRunningYetException</a></li>
 <li><a href="org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure" target="classFrame"><i>ServerProcedureInterface</i></a></li>
+<li><a href="org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure" target="classFrame">ServerProcedureInterface.ServerOperationType</a></li>
 <li><a href="org/apache/hadoop/hbase/util/ServerRegionReplicaUtil.html" title="class in org.apache.hadoop.hbase.util" target="classFrame">ServerRegionReplicaUtil</a></li>
 <li><a href="org/apache/hadoop/hbase/ipc/ServerRpcController.html" title="class in org.apache.hadoop.hbase.ipc" target="classFrame">ServerRpcController</a></li>
 <li><a href="org/apache/hadoop/hbase/client/metrics/ServerSideScanMetrics.html" title="class in org.apache.hadoop.hbase.client.metrics" target="classFrame">ServerSideScanMetrics</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/allclasses-noframe.html
----------------------------------------------------------------------
diff --git a/devapidocs/allclasses-noframe.html b/devapidocs/allclasses-noframe.html
index 56fca03..d56e930 100644
--- a/devapidocs/allclasses-noframe.html
+++ b/devapidocs/allclasses-noframe.html
@@ -1042,11 +1042,17 @@
 <li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.WALStoreLeaseRecovery.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv.WALStoreLeaseRecovery</a></li>
 <li><a href="org/apache/hadoop/hbase/procedure/MasterProcedureManager.html" title="class in org.apache.hadoop.hbase.procedure">MasterProcedureManager</a></li>
 <li><a href="org/apache/hadoop/hbase/procedure/MasterProcedureManagerHost.html" title="class in org.apache.hadoop.hbase.procedure">MasterProcedureManagerHost</a></li>
-<li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a></li>
-<li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.AbstractRunQueue</a></li>
-<li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure"><i>MasterProcedureQueue.RunQueue</i></a></li>
-<li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.ServerRunQueue</a></li>
-<li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.TableRunQueue</a></li>
+<li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></li>
+<li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.AvlTree</a></li>
+<li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a></li>
+<li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.IterableList</a></li>
+<li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.NamespaceQueue</a></li>
+<li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a></li>
+<li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a></li>
+<li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueImpl</a></li>
+<li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure"><i>MasterProcedureScheduler.QueueInterface</i></a></li>
+<li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ServerQueue</a></li>
+<li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.TableQueue</a></li>
 <li><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureUtil.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureUtil</a></li>
 <li><a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager</a></li>
 <li><a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager.NamedLock</a></li>
@@ -1379,8 +1385,6 @@
 <li><a href="org/apache/hadoop/hbase/procedure2/ProcedureExecutor.ProcedureExecutorListener.html" title="interface in org.apache.hadoop.hbase.procedure2"><i>ProcedureExecutor.ProcedureExecutorListener</i></a></li>
 <li><a href="org/apache/hadoop/hbase/procedure2/ProcedureExecutor.ProcedureTimeoutRetriever.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureExecutor.ProcedureTimeoutRetriever</a></li>
 <li><a href="org/apache/hadoop/hbase/procedure2/ProcedureExecutor.Testing.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureExecutor.Testing</a></li>
-<li><a href="org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues</a></li>
-<li><a href="org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2"><i>ProcedureFairRunQueues.FairObject</i></a></li>
 <li><a href="org/apache/hadoop/hbase/ProcedureInfo.html" title="class in org.apache.hadoop.hbase">ProcedureInfo</a></li>
 <li><a href="org/apache/hadoop/hbase/procedure/ProcedureManager.html" title="class in org.apache.hadoop.hbase.procedure">ProcedureManager</a></li>
 <li><a href="org/apache/hadoop/hbase/procedure/ProcedureManagerHost.html" title="class in org.apache.hadoop.hbase.procedure">ProcedureManagerHost</a></li>
@@ -1812,6 +1816,7 @@
 <li><a href="org/apache/hadoop/hbase/regionserver/ServerNonceManager.OperationContext.html" title="class in org.apache.hadoop.hbase.regionserver">ServerNonceManager.OperationContext</a></li>
 <li><a href="org/apache/hadoop/hbase/ipc/ServerNotRunningYetException.html" title="class in org.apache.hadoop.hbase.ipc">ServerNotRunningYetException</a></li>
 <li><a href="org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure"><i>ServerProcedureInterface</i></a></li>
+<li><a href="org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface.ServerOperationType</a></li>
 <li><a href="org/apache/hadoop/hbase/util/ServerRegionReplicaUtil.html" title="class in org.apache.hadoop.hbase.util">ServerRegionReplicaUtil</a></li>
 <li><a href="org/apache/hadoop/hbase/ipc/ServerRpcController.html" title="class in org.apache.hadoop.hbase.ipc">ServerRpcController</a></li>
 <li><a href="org/apache/hadoop/hbase/client/metrics/ServerSideScanMetrics.html" title="class in org.apache.hadoop.hbase.client.metrics">ServerSideScanMetrics</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/devapidocs/constant-values.html b/devapidocs/constant-values.html
index 8e7c360..d33b9b0 100644
--- a/devapidocs/constant-values.html
+++ b/devapidocs/constant-values.html
@@ -10848,20 +10848,6 @@
 <td class="colLast"><code>300000</code></td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.master.TableNamespaceManager.DEFAULT_TABLE_READ_LOCK_TIMEOUT_MS">
-<!--   -->
-</a><code>private&nbsp;static&nbsp;final&nbsp;long</code></td>
-<td><code><a href="org/apache/hadoop/hbase/master/TableNamespaceManager.html#DEFAULT_TABLE_READ_LOCK_TIMEOUT_MS">DEFAULT_TABLE_READ_LOCK_TIMEOUT_MS</a></code></td>
-<td class="colLast"><code>600000L</code></td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.master.TableNamespaceManager.DEFAULT_TABLE_WRITE_LOCK_TIMEOUT_MS">
-<!--   -->
-</a><code>private&nbsp;static&nbsp;final&nbsp;long</code></td>
-<td><code><a href="org/apache/hadoop/hbase/master/TableNamespaceManager.html#DEFAULT_TABLE_WRITE_LOCK_TIMEOUT_MS">DEFAULT_TABLE_WRITE_LOCK_TIMEOUT_MS</a></code></td>
-<td class="colLast"><code>600000L</code></td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.master.TableNamespaceManager.KEY_MAX_REGIONS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
@@ -10882,20 +10868,6 @@
 <td><code><a href="org/apache/hadoop/hbase/master/TableNamespaceManager.html#NS_INIT_TIMEOUT">NS_INIT_TIMEOUT</a></code></td>
 <td class="colLast"><code>"hbase.master.namespace.init.timeout"</code></td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.master.TableNamespaceManager.TABLE_READ_LOCK_TIMEOUT_MS">
-<!--   -->
-</a><code>private&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/7/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/master/TableNamespaceManager.html#TABLE_READ_LOCK_TIMEOUT_MS">TABLE_READ_LOCK_TIMEOUT_MS</a></code></td>
-<td class="colLast"><code>"hbase.table.read.lock.timeout.ms"</code></td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.master.TableNamespaceManager.TABLE_WRITE_LOCK_TIMEOUT_MS">
-<!--   -->
-</a><code>private&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/7/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/master/TableNamespaceManager.html#TABLE_WRITE_LOCK_TIMEOUT_MS">TABLE_WRITE_LOCK_TIMEOUT_MS</a></code></td>
-<td class="colLast"><code>"hbase.table.write.lock.timeout.ms"</code></td>
-</tr>
 </tbody>
 </table>
 </li>
@@ -11537,25 +11509,6 @@
 </li>
 <li class="blockList">
 <table border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
-<caption><span>org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th scope="col">Constant Field</th>
-<th class="colLast" scope="col">Value</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.master.procedure.MasterProcedureQueue.DEFAULT_SERVER_PRIORITY">
-<!--   -->
-</a><code>private&nbsp;static&nbsp;final&nbsp;int</code></td>
-<td><code><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#DEFAULT_SERVER_PRIORITY">DEFAULT_SERVER_PRIORITY</a></code></td>
-<td class="colLast"><code>1</code></td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<table border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
 <caption><span>org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">ServerCrashProcedure</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/class-use/ServerName.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/ServerName.html b/devapidocs/org/apache/hadoop/hbase/class-use/ServerName.html
index 71aba1c..9e59f2f 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/ServerName.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/ServerName.html
@@ -3596,10 +3596,12 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>,<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a>&gt;</code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#serverFairQ">serverFairQ</a></strong></code>
-<div class="block">Rely on basic fair q.</div>
-</td>
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#serverRunQueue">serverRunQueue</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.ProcedureEvent.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#waitingServers">waitingServers</a></strong></code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -3618,6 +3620,10 @@
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a></code></td>
 <td class="colLast"><span class="strong">ServerProcedureInterface.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html#getServerName()">getServerName</a></strong>()</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a></code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getServerName(org.apache.hadoop.hbase.procedure2.Procedure)">getServerName</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
@@ -3628,6 +3634,10 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.ProcedureEvent.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#popWaitingServer()">popWaitingServer</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>private static <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>,<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</code></td>
 <td class="colLast"><span class="strong">EnableTableProcedure.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#regionsToAssignWithServerName(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv,%20java.util.List)">regionsToAssignWithServerName</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                                           <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>,<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&gt;&nbsp;regionsInMeta)</code>&nbsp;</td>
@@ -3642,8 +3652,40 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.ServerRunQueue</a></code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#getRunQueue(org.apache.hadoop.hbase.ServerName)">getRunQueue</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</code>&nbsp;</td>
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ServerQueue</a></code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getServerQueue(org.apache.hadoop.hbase.ServerName)">getServerQueue</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ServerQueue</a></code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getServerQueueWithLock(org.apache.hadoop.hbase.ServerName)">getServerQueueWithLock</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#releaseServerExclusiveLock(org.apache.hadoop.hbase.ServerName)">releaseServerExclusiveLock</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>
+<div class="block">Release the exclusive lock</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#releaseServerSharedLock(org.apache.hadoop.hbase.ServerName)">releaseServerSharedLock</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>
+<div class="block">Release the shared lock taken</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#removeServerQueue(org.apache.hadoop.hbase.ServerName)">removeServerQueue</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#tryAcquireServerExclusiveLock(org.apache.hadoop.hbase.ServerName)">tryAcquireServerExclusiveLock</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>
+<div class="block">Try to acquire the exclusive lock on the specified server.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#tryAcquireServerSharedLock(org.apache.hadoop.hbase.ServerName)">tryAcquireServerSharedLock</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>
+<div class="block">Try to acquire the shared lock on the specified server.</div>
+</td>
 </tr>
 </tbody>
 </table>
@@ -3659,6 +3701,10 @@
 <td class="colLast"><span class="strong">EnableTableProcedure.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#regionsToAssignWithServerName(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv,%20java.util.List)">regionsToAssignWithServerName</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                                           <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>,<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&gt;&nbsp;regionsInMeta)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.ProcedureEvent.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#suspendServerQueue(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">suspendServerQueue</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;queue)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
@@ -3668,6 +3714,9 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html#MasterProcedureScheduler.ServerQueue(org.apache.hadoop.hbase.ServerName)">MasterProcedureScheduler.ServerQueue</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#ServerCrashProcedure(org.apache.hadoop.hbase.ServerName,%20boolean,%20boolean)">ServerCrashProcedure</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                                         boolean&nbsp;shouldSplitWal,
                                         boolean&nbsp;carryingMeta)</code>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/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 1083b36..a9a1575 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
@@ -5341,8 +5341,16 @@ service.</div>
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a>&gt;</code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#tableFairQ">tableFairQ</a></strong></code>&nbsp;</td>
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#tableMap">tableMap</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#tableRunQueue">tableRunQueue</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.ProcedureEvent.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#waitingTables">waitingTables</a></strong></code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -5405,6 +5413,23 @@ service.</div>
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a></code></td>
 <td class="colLast"><span class="strong">ModifyColumnFamilyProcedure.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#getTableName()">getTableName</a></strong>()</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a></code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getTableName(org.apache.hadoop.hbase.procedure2.Procedure)">getTableName</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a> that return types with arguments of type <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.ProcedureEvent.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#popWaitingTable()">popWaitingTable</a></strong>()</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
@@ -5443,15 +5468,11 @@ service.</div>
                                   <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&nbsp;newRegions)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.TableRunQueue</a></code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#createTableRunQueue(org.apache.hadoop.hbase.TableName)">createTableRunQueue</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><code>protected static void</code></td>
 <td class="colLast"><span class="strong">DeleteTableProcedure.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/DeleteTableProcedure.html#deleteAssignmentState(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv,%20org.apache.hadoop.hbase.TableName)">deleteAssignmentState</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                           <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="strong">MasterDDLOperationHelper.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterDDLOperationHelper.html#deleteColumnFamilyFromFileSystem(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv,%20org.apache.hadoop.hbase.TableName,%20java.util.List,%20byte[],%20boolean)">deleteColumnFamilyFromFileSystem</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                                                 <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
@@ -5461,41 +5482,45 @@ service.</div>
 <div class="block">Remove the column family from the file system</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected static void</code></td>
 <td class="colLast"><span class="strong">DeleteTableProcedure.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/DeleteTableProcedure.html#deleteFromFs(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv,%20org.apache.hadoop.hbase.TableName,%20java.util.List,%20boolean)">deleteFromFs</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                         <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                         <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&nbsp;regions,
                         boolean&nbsp;archive)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected static void</code></td>
 <td class="colLast"><span class="strong">DeleteTableProcedure.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/DeleteTableProcedure.html#deleteFromMeta(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv,%20org.apache.hadoop.hbase.TableName,%20java.util.List)">deleteFromMeta</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                             <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                             <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&nbsp;regions)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected static void</code></td>
 <td class="colLast"><span class="strong">DeleteTableProcedure.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/DeleteTableProcedure.html#deleteTableDescriptorCache(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv,%20org.apache.hadoop.hbase.TableName)">deleteTableDescriptorCache</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                                     <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected static void</code></td>
 <td class="colLast"><span class="strong">DeleteTableProcedure.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/DeleteTableProcedure.html#deleteTableStates(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv,%20org.apache.hadoop.hbase.TableName)">deleteTableStates</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                   <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected static <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;</code></td>
 <td class="colLast"><span class="strong">ProcedureSyncWait.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/ProcedureSyncWait.html#getRegionsFromMeta(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv,%20org.apache.hadoop.hbase.TableName)">getRegionsFromMeta</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                     <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private int</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getTablePriority(org.apache.hadoop.hbase.TableName)">getTablePriority</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.TableRunQueue</a></code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#getRunQueue(org.apache.hadoop.hbase.TableName)">getRunQueue</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>&nbsp;</td>
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.TableQueue</a></code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getTableQueue(org.apache.hadoop.hbase.TableName)">getTableQueue</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.TableRunQueue</a></code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#getRunQueueOrCreate(org.apache.hadoop.hbase.TableName)">getRunQueueOrCreate</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>&nbsp;</td>
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.TableQueue</a></code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getTableQueueWithLock(org.apache.hadoop.hbase.TableName)">getTableQueueWithLock</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html" title="enum in org.apache.hadoop.hbase.master.procedure">DisableTableProcedure.MarkRegionOfflineOpResult</a></code></td>
@@ -5529,33 +5554,27 @@ service.</div>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>protected boolean</code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#markTableAsDeleted(org.apache.hadoop.hbase.TableName)">markTableAsDeleted</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#markTableAsDeleted(org.apache.hadoop.hbase.TableName)">markTableAsDeleted</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>
 <div class="block">Tries to remove the queue and the table-lock of the specified table.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.TableRunQueue.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html#releaseExclusiveLock(org.apache.hadoop.hbase.master.TableLockManager,%20org.apache.hadoop.hbase.TableName)">releaseExclusiveLock</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager,
-                                        <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.TableRunQueue.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html#releaseSharedLock(org.apache.hadoop.hbase.master.TableLockManager,%20org.apache.hadoop.hbase.TableName)">releaseSharedLock</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager,
-                                  <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#releaseTableExclusiveLock(org.apache.hadoop.hbase.TableName)">releaseTableExclusiveLock</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>
-<div class="block">Release the write lock taken with tryAcquireTableWrite()</div>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#releaseTableExclusiveLock(org.apache.hadoop.hbase.TableName)">releaseTableExclusiveLock</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>
+<div class="block">Release the exclusive lock taken with tryAcquireTableWrite()</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#releaseTableSharedLock(org.apache.hadoop.hbase.TableName)">releaseTableSharedLock</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>
-<div class="block">Release the read lock taken with tryAcquireTableRead()</div>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#releaseTableSharedLock(org.apache.hadoop.hbase.TableName)">releaseTableSharedLock</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>
+<div class="block">Release the shared lock taken with tryAcquireTableRead()</div>
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#removeTableQueue(org.apache.hadoop.hbase.TableName)">removeTableQueue</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="strong">MasterDDLOperationHelper.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterDDLOperationHelper.html#reOpenAllRegions(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv,%20org.apache.hadoop.hbase.TableName,%20java.util.List)">reOpenAllRegions</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                 <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
@@ -5563,67 +5582,68 @@ service.</div>
 <div class="block">Reopen all regions from a table after a schema change operation.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected static void</code></td>
 <td class="colLast"><span class="strong">DisableTableProcedure.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#setTableStateToDisabled(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv,%20org.apache.hadoop.hbase.TableName)">setTableStateToDisabled</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                               <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Mark table state to Disabled</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected static void</code></td>
 <td class="colLast"><span class="strong">DisableTableProcedure.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html#setTableStateToDisabling(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv,%20org.apache.hadoop.hbase.TableName)">setTableStateToDisabling</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                                 <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Mark table state to Disabling</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected static void</code></td>
 <td class="colLast"><span class="strong">EnableTableProcedure.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#setTableStateToEnabled(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv,%20org.apache.hadoop.hbase.TableName)">setTableStateToEnabled</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                             <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Mark table state to Enabled</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected static void</code></td>
 <td class="colLast"><span class="strong">EnableTableProcedure.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html#setTableStateToEnabling(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv,%20org.apache.hadoop.hbase.TableName)">setTableStateToEnabling</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                               <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Mark table state to Enabling</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#tryAcquireTableExclusiveLock(org.apache.hadoop.hbase.TableName,%20java.lang.String)">tryAcquireTableExclusiveLock</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#tryAcquireTableExclusiveLock(org.apache.hadoop.hbase.TableName,%20java.lang.String)">tryAcquireTableExclusiveLock</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
                                                         <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;purpose)</code>
-<div class="block">Try to acquire the write lock on the specified table.</div>
+<div class="block">Try to acquire the exclusive lock on the specified table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#tryAcquireTableSharedLock(org.apache.hadoop.hbase.TableName,%20java.lang.String)">tryAcquireTableSharedLock</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#tryAcquireTableSharedLock(org.apache.hadoop.hbase.TableName,%20java.lang.String)">tryAcquireTableSharedLock</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
                                                   <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;purpose)</code>
-<div class="block">Try to acquire the read lock on the specified table.</div>
+<div class="block">Try to acquire the shared lock on the specified table.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.TableRunQueue.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html#tryExclusiveLock(org.apache.hadoop.hbase.master.TableLockManager,%20org.apache.hadoop.hbase.TableName,%20java.lang.String)">tryExclusiveLock</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager,
-                                <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-                                <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;purpose)</code>&nbsp;</td>
-</tr>
 <tr class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.TableRunQueue.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html#trySharedLock(org.apache.hadoop.hbase.master.TableLockManager,%20org.apache.hadoop.hbase.TableName,%20java.lang.String)">trySharedLock</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager,
-                          <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-                          <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;purpose)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code>protected static void</code></td>
 <td class="colLast"><span class="strong">CreateTableProcedure.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/CreateTableProcedure.html#updateTableDescCache(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv,%20org.apache.hadoop.hbase.TableName)">updateTableDescCache</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                         <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a> with type arguments of type <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.ProcedureEvent.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html#suspendTableQueue(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">suspendTableQueue</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;queue)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 <table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
 <caption><span>Constructors in <a href="../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a> with parameters of type <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
@@ -5685,11 +5705,16 @@ service.</div>
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#MasterProcedureScheduler.TableQueue(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.NamespaceQueue,%20int)">MasterProcedureScheduler.TableQueue</a></strong>(<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/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.NamespaceQueue</a>&nbsp;namespaceQueue,
+                                                                      int&nbsp;priority)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html#ModifyColumnFamilyProcedure(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor)">ModifyColumnFamilyProcedure</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                                       <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                                       <a href="../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&nbsp;cfDescriptor)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/master/procedure/TruncateTableProcedure.html#TruncateTableProcedure(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv,%20org.apache.hadoop.hbase.TableName,%20boolean)">TruncateTableProcedure</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                             <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                             boolean&nbsp;preserveSplits)</code>&nbsp;</td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceAudience.Private.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceAudience.Private.html b/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceAudience.Private.html
index 6c6e71f..9aa0d9e 100644
--- a/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceAudience.Private.html
+++ b/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceAudience.Private.html
@@ -4002,7 +4002,7 @@ service.</div>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a></strong></code>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></strong></code>
 <div class="block">ProcedureRunnableSet for the Master Procedures.</div>
 </td>
 </tr>
@@ -4613,53 +4613,46 @@ service.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues</a>&lt;TKey,TQueue extends <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues.FairObject</a>&gt;</strong></code>
-<div class="block">This class is a container of queues that allows to select a queue
- in a round robin fashion, considering priority of the queue.</div>
-</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code>interface&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureRunnableSet</a></strong></code>
 <div class="block">Keep track of the runnable procedures</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSimpleRunQueue.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureSimpleRunQueue</a></strong></code>
 <div class="block">Simple runqueue for the procedures</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureYieldException.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureYieldException</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/procedure2/RemoteProcedureException.html" title="class in org.apache.hadoop.hbase.procedure2">RemoteProcedureException</a></strong></code>
 <div class="block">A RemoteProcedureException is an exception from another thread or process.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/procedure2/RootProcedureState.html" title="class in org.apache.hadoop.hbase.procedure2">RootProcedureState</a></strong></code>
 <div class="block">Internal state of the ProcedureExecutor that describes the state of a "Root Procedure".</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/procedure2/SequentialProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">SequentialProcedure</a>&lt;TEnvironment&gt;</strong></code>
 <div class="block">A SequentialProcedure describes one step in a procedure chain.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">StateMachineProcedure</a>&lt;TEnvironment,TState&gt;</strong></code>
 <div class="block">Procedure described by a series of steps.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/procedure2/TwoPhaseProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TwoPhaseProcedure</a>&lt;TEnvironment&gt;</strong></code>&nbsp;</td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceStability.Evolving.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceStability.Evolving.html b/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceStability.Evolving.html
index 3be05cc..726f5ff 100644
--- a/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceStability.Evolving.html
+++ b/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceStability.Evolving.html
@@ -1688,7 +1688,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a></strong></code>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></strong></code>
 <div class="block">ProcedureRunnableSet for the Master Procedures.</div>
 </td>
 </tr>
@@ -1864,49 +1864,42 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues</a>&lt;TKey,TQueue extends <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues.FairObject</a>&gt;</strong></code>
-<div class="block">This class is a container of queues that allows to select a queue
- in a round robin fashion, considering priority of the queue.</div>
-</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code>interface&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureRunnableSet</a></strong></code>
 <div class="block">Keep track of the runnable procedures</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSimpleRunQueue.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureSimpleRunQueue</a></strong></code>
 <div class="block">Simple runqueue for the procedures</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/procedure2/RemoteProcedureException.html" title="class in org.apache.hadoop.hbase.procedure2">RemoteProcedureException</a></strong></code>
 <div class="block">A RemoteProcedureException is an exception from another thread or process.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/procedure2/RootProcedureState.html" title="class in org.apache.hadoop.hbase.procedure2">RootProcedureState</a></strong></code>
 <div class="block">Internal state of the ProcedureExecutor that describes the state of a "Root Procedure".</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/procedure2/SequentialProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">SequentialProcedure</a>&lt;TEnvironment&gt;</strong></code>
 <div class="block">A SequentialProcedure describes one step in a procedure chain.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">StateMachineProcedure</a>&lt;TEnvironment,TState&gt;</strong></code>
 <div class="block">Procedure described by a series of steps.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/procedure2/TwoPhaseProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TwoPhaseProcedure</a>&lt;TEnvironment&gt;</strong></code>&nbsp;</td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html b/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html
index 9434e4f..4d1bab0 100644
--- a/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html
@@ -82,10 +82,10 @@
 <ul>
 <li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Unstable.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="strong">InterfaceStability.Unstable</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Stable.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="strong">InterfaceStability.Stable</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
+<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Public.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="strong">InterfaceAudience.Public</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Evolving.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="strong">InterfaceStability.Evolving</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="strong">InterfaceAudience.Private</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.LimitedPrivate.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="strong">InterfaceAudience.LimitedPrivate</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
-<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Public.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="strong">InterfaceAudience.Public</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
 </ul>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/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 5de7a33..8bed60f 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
@@ -390,12 +390,12 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/7/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/Durability.html" title="enum in org.apache.hadoop.hbase.client"><span class="strong">Durability</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncProcess.Retry.html" title="enum in org.apache.hadoop.hbase.client"><span class="strong">AsyncProcess.Retry</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="strong">IsolationLevel</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Consistency.html" title="enum in org.apache.hadoop.hbase.client"><span class="strong">Consistency</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Admin.CompactType.html" title="enum in org.apache.hadoop.hbase.client"><span class="strong">Admin.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="strong">TableState.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncProcess.Retry.html" title="enum in org.apache.hadoop.hbase.client"><span class="strong">AsyncProcess.Retry</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Consistency.html" title="enum in org.apache.hadoop.hbase.client"><span class="strong">Consistency</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client"><span class="strong">Durability</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html b/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html
index dc0d7a6..434ae88 100644
--- a/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html
@@ -96,8 +96,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/7/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.executor.<a href="../../../../../org/apache/hadoop/hbase/executor/EventType.html" title="enum in org.apache.hadoop.hbase.executor"><span class="strong">EventType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.executor.<a href="../../../../../org/apache/hadoop/hbase/executor/ExecutorType.html" title="enum in org.apache.hadoop.hbase.executor"><span class="strong">ExecutorType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.executor.<a href="../../../../../org/apache/hadoop/hbase/executor/EventType.html" title="enum in org.apache.hadoop.hbase.executor"><span class="strong">EventType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/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 9cae89f..4278243 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
@@ -161,14 +161,14 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/7/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.Order.html" title="enum in org.apache.hadoop.hbase.filter"><span class="strong">FuzzyRowFilter.Order</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/RegexStringComparator.EngineType.html" title="enum in org.apache.hadoop.hbase.filter"><span class="strong">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="strong">CompareFilter.CompareOp</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="strong">FilterList.Operator</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="strong">BitComparator.BitwiseOp</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="strong">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="strong">RegexStringComparator.EngineType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="strong">Filter.ReturnCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter"><span class="strong">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="strong">FuzzyRowFilter.Order</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="strong">FilterWrapper.FilterRowRetCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="strong">FuzzyRowFilter.SatisfiesCode</span></a></li>
 </ul>
 </li>
 </ul>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.CallWriteListener.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.CallWriteListener.html b/devapidocs/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.CallWriteListener.html
index 59be4a9..9acc117 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.CallWriteListener.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.CallWriteListener.html
@@ -103,7 +103,7 @@
 </dl>
 <hr>
 <br>
-<pre>private static final class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.738">AsyncRpcChannel.CallWriteListener</a>
+<pre>private static final class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#line.729">AsyncRpcChannel.CallWriteListener</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements io.netty.channel.ChannelFutureListener</pre>
 <div class="block">Listens to call writes and fails if write failed</div>
@@ -205,7 +205,7 @@ implements io.netty.channel.ChannelFutureListener</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>rpcChannel</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html" title="class in org.apache.hadoop.hbase.ipc">AsyncRpcChannel</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.CallWriteListener.html#line.739">rpcChannel</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html" title="class in org.apache.hadoop.hbase.ipc">AsyncRpcChannel</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.CallWriteListener.html#line.730">rpcChannel</a></pre>
 </li>
 </ul>
 <a name="id">
@@ -214,7 +214,7 @@ implements io.netty.channel.ChannelFutureListener</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>id</h4>
-<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.CallWriteListener.html#line.740">id</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.CallWriteListener.html#line.731">id</a></pre>
 </li>
 </ul>
 </li>
@@ -231,7 +231,7 @@ implements io.netty.channel.ChannelFutureListener</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>AsyncRpcChannel.CallWriteListener</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.CallWriteListener.html#line.742">AsyncRpcChannel.CallWriteListener</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html" title="class in org.apache.hadoop.hbase.ipc">AsyncRpcChannel</a>&nbsp;asyncRpcChannel,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.CallWriteListener.html#line.733">AsyncRpcChannel.CallWriteListener</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html" title="class in org.apache.hadoop.hbase.ipc">AsyncRpcChannel</a>&nbsp;asyncRpcChannel,
                                  int&nbsp;id)</pre>
 </li>
 </ul>
@@ -249,7 +249,7 @@ implements io.netty.channel.ChannelFutureListener</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>operationComplete</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.CallWriteListener.html#line.748">operationComplete</a>(io.netty.channel.ChannelFuture&nbsp;future)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.CallWriteListener.html#line.739">operationComplete</a>(io.netty.channel.ChannelFuture&nbsp;future)
                        throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html
deleted file mode 100644
index 92dcb34..0000000
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html
+++ /dev/null
@@ -1,650 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
-<title>Source code</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<div class="sourceContainer">
-<pre><span class="sourceLineNo">001</span>/**<a name="line.1"></a>
-<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
-<span class="sourceLineNo">003</span> * or more contributor license agreements.  See the NOTICE file<a name="line.3"></a>
-<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
-<span class="sourceLineNo">005</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.5"></a>
-<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
-<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
-<span class="sourceLineNo">008</span> * with the License.  You may obtain a copy of the License at<a name="line.8"></a>
-<span class="sourceLineNo">009</span> *<a name="line.9"></a>
-<span class="sourceLineNo">010</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
-<span class="sourceLineNo">011</span> *<a name="line.11"></a>
-<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
-<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
-<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
-<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
-<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
-<span class="sourceLineNo">017</span> */<a name="line.17"></a>
-<span class="sourceLineNo">018</span><a name="line.18"></a>
-<span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.master.procedure;<a name="line.19"></a>
-<span class="sourceLineNo">020</span><a name="line.20"></a>
-<span class="sourceLineNo">021</span>import java.io.IOException;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.util.ArrayDeque;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.util.Deque;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.util.concurrent.locks.Condition;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.util.concurrent.locks.ReentrantLock;<a name="line.25"></a>
-<span class="sourceLineNo">026</span><a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.commons.logging.Log;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.commons.logging.LogFactory;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.conf.Configuration;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.ServerName;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.TableName;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.procedure2.Procedure;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.procedure2.ProcedureFairRunQueues;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.procedure2.ProcedureRunnableSet;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.master.TableLockManager;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.master.TableLockManager.TableLock;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.master.procedure.TableProcedureInterface.TableOperationType;<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span>/**<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * ProcedureRunnableSet for the Master Procedures.<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * This RunnableSet tries to provide to the ProcedureExecutor procedures<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * that can be executed without having to wait on a lock.<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * Most of the master operations can be executed concurrently, if they<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * are operating on different tables (e.g. two create table can be performed<a name="line.48"></a>
-<span class="sourceLineNo">049</span> * at the same, time assuming table A and table B) or against two different servers; say<a name="line.49"></a>
-<span class="sourceLineNo">050</span> * two servers that crashed at about the same time.<a name="line.50"></a>
-<span class="sourceLineNo">051</span> *<a name="line.51"></a>
-<span class="sourceLineNo">052</span> * &lt;p&gt;Each procedure should implement an interface providing information for this queue.<a name="line.52"></a>
-<span class="sourceLineNo">053</span> * for example table related procedures should implement TableProcedureInterface.<a name="line.53"></a>
-<span class="sourceLineNo">054</span> * each procedure will be pushed in its own queue, and based on the operation type<a name="line.54"></a>
-<span class="sourceLineNo">055</span> * we may take smarter decision. e.g. we can abort all the operations preceding<a name="line.55"></a>
-<span class="sourceLineNo">056</span> * a delete table, or similar.<a name="line.56"></a>
-<span class="sourceLineNo">057</span> */<a name="line.57"></a>
-<span class="sourceLineNo">058</span>@InterfaceAudience.Private<a name="line.58"></a>
-<span class="sourceLineNo">059</span>@InterfaceStability.Evolving<a name="line.59"></a>
-<span class="sourceLineNo">060</span>public class MasterProcedureQueue implements ProcedureRunnableSet {<a name="line.60"></a>
-<span class="sourceLineNo">061</span>  private static final Log LOG = LogFactory.getLog(MasterProcedureQueue.class);<a name="line.61"></a>
-<span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>  // Two queues to ensure that server procedures run ahead of table precedures always.<a name="line.63"></a>
-<span class="sourceLineNo">064</span>  private final ProcedureFairRunQueues&lt;TableName, RunQueue&gt; tableFairQ;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  /**<a name="line.65"></a>
-<span class="sourceLineNo">066</span>   * Rely on basic fair q. ServerCrashProcedure will yield if meta is not assigned. This way, the<a name="line.66"></a>
-<span class="sourceLineNo">067</span>   * server that was carrying meta should rise to the top of the queue (this is how it used to<a name="line.67"></a>
-<span class="sourceLineNo">068</span>   * work when we had handlers and ServerShutdownHandler ran). TODO: special handling of servers<a name="line.68"></a>
-<span class="sourceLineNo">069</span>   * that were carrying system tables on crash; do I need to have these servers have priority?<a name="line.69"></a>
-<span class="sourceLineNo">070</span>   *<a name="line.70"></a>
-<span class="sourceLineNo">071</span>   * &lt;p&gt;Apart from the special-casing of meta and system tables, fairq is what we want<a name="line.71"></a>
-<span class="sourceLineNo">072</span>   */<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  private final ProcedureFairRunQueues&lt;ServerName, RunQueue&gt; serverFairQ;<a name="line.73"></a>
-<span class="sourceLineNo">074</span><a name="line.74"></a>
-<span class="sourceLineNo">075</span>  private final ReentrantLock lock = new ReentrantLock();<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  private final Condition waitCond = lock.newCondition();<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  private final TableLockManager lockManager;<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>  private final int metaTablePriority;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  private final int userTablePriority;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  private final int sysTablePriority;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>  private static final int DEFAULT_SERVER_PRIORITY = 1;<a name="line.82"></a>
-<span class="sourceLineNo">083</span><a name="line.83"></a>
-<span class="sourceLineNo">084</span>  /**<a name="line.84"></a>
-<span class="sourceLineNo">085</span>   * Keeps count across server and table queues.<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   */<a name="line.86"></a>
-<span class="sourceLineNo">087</span>  private int queueSize;<a name="line.87"></a>
-<span class="sourceLineNo">088</span><a name="line.88"></a>
-<span class="sourceLineNo">089</span>  public MasterProcedureQueue(final Configuration conf, final TableLockManager lockManager) {<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    this.tableFairQ = new ProcedureFairRunQueues&lt;TableName, RunQueue&gt;(1);<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    this.serverFairQ = new ProcedureFairRunQueues&lt;ServerName, RunQueue&gt;(1);<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    this.lockManager = lockManager;<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>    // TODO: should this be part of the HTD?<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    metaTablePriority = conf.getInt("hbase.master.procedure.queue.meta.table.priority", 3);<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    sysTablePriority = conf.getInt("hbase.master.procedure.queue.system.table.priority", 2);<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    userTablePriority = conf.getInt("hbase.master.procedure.queue.user.table.priority", 1);<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  }<a name="line.98"></a>
-<span class="sourceLineNo">099</span><a name="line.99"></a>
-<span class="sourceLineNo">100</span>  @Override<a name="line.100"></a>
-<span class="sourceLineNo">101</span>  public void addFront(final Procedure proc) {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    lock.lock();<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    try {<a name="line.103"></a>
-<span class="sourceLineNo">104</span>      getRunQueueOrCreate(proc).addFront(proc);<a name="line.104"></a>
-<span class="sourceLineNo">105</span>      queueSize++;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      waitCond.signal();<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    } finally {<a name="line.107"></a>
-<span class="sourceLineNo">108</span>      lock.unlock();<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    }<a name="line.109"></a>
-<span class="sourceLineNo">110</span>  }<a name="line.110"></a>
-<span class="sourceLineNo">111</span><a name="line.111"></a>
-<span class="sourceLineNo">112</span>  @Override<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  public void addBack(final Procedure proc) {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    lock.lock();<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    try {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      getRunQueueOrCreate(proc).addBack(proc);<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      queueSize++;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      waitCond.signal();<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    } finally {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      lock.unlock();<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>  }<a name="line.122"></a>
-<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span>  @Override<a name="line.124"></a>
-<span class="sourceLineNo">125</span>  public void yield(final Procedure proc) {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    addBack(proc);<a name="line.126"></a>
-<span class="sourceLineNo">127</span>  }<a name="line.127"></a>
-<span class="sourceLineNo">128</span><a name="line.128"></a>
-<span class="sourceLineNo">129</span>  @Override<a name="line.129"></a>
-<span class="sourceLineNo">130</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings("WA_AWAIT_NOT_IN_LOOP")<a name="line.130"></a>
-<span class="sourceLineNo">131</span>  public Long poll() {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    Long pollResult = null;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    lock.lock();<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    try {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      if (queueSize == 0) {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>        waitCond.await();<a name="line.136"></a>
-<span class="sourceLineNo">137</span>        if (queueSize == 0) {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>          return null;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>        }<a name="line.139"></a>
-<span class="sourceLineNo">140</span>      }<a name="line.140"></a>
-<span class="sourceLineNo">141</span>      // For now, let server handling have precedence over table handling; presumption is that it<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      // is more important handling crashed servers than it is running the<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      // enabling/disabling tables, etc.<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      pollResult = doPoll(serverFairQ.poll());<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      if (pollResult == null) {<a name="line.145"></a>
-<span class="sourceLineNo">146</span>        pollResult = doPoll(tableFairQ.poll());<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      }<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    } catch (InterruptedException e) {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      Thread.currentThread().interrupt();<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    } finally {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      lock.unlock();<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    }<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    return pollResult;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  }<a name="line.154"></a>
-<span class="sourceLineNo">155</span><a name="line.155"></a>
-<span class="sourceLineNo">156</span>  private Long doPoll(final RunQueue rq) {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    if (rq == null || !rq.isAvailable()) return null;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    this.queueSize--;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    return rq.poll();<a name="line.159"></a>
-<span class="sourceLineNo">160</span>  }<a name="line.160"></a>
-<span class="sourceLineNo">161</span><a name="line.161"></a>
-<span class="sourceLineNo">162</span>  @Override<a name="line.162"></a>
-<span class="sourceLineNo">163</span>  public void signalAll() {<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    lock.lock();<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    try {<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      waitCond.signalAll();<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    } finally {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>      lock.unlock();<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    }<a name="line.169"></a>
-<span class="sourceLineNo">170</span>  }<a name="line.170"></a>
-<span class="sourceLineNo">171</span><a name="line.171"></a>
-<span class="sourceLineNo">172</span>  @Override<a name="line.172"></a>
-<span class="sourceLineNo">173</span>  public void clear() {<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    lock.lock();<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    try {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      serverFairQ.clear();<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      tableFairQ.clear();<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      queueSize = 0;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    } finally {<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      lock.unlock();<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><a name="line.183"></a>
-<span class="sourceLineNo">184</span>  @Override<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  public int size() {<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    lock.lock();<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    try {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      return queueSize;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    } finally {<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      lock.unlock();<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>  @Override<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  public String toString() {<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    lock.lock();<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    try {<a name="line.197"></a>
-<span class="sourceLineNo">198</span>      return "MasterProcedureQueue size=" + queueSize + ": tableFairQ: " + tableFairQ +<a name="line.198"></a>
-<span class="sourceLineNo">199</span>        ", serverFairQ: " + serverFairQ;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    } finally {<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      lock.unlock();<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    }<a name="line.202"></a>
-<span class="sourceLineNo">203</span>  }<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>  @Override<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  public void completionCleanup(Procedure proc) {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    if (proc instanceof TableProcedureInterface) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span>      TableProcedureInterface iProcTable = (TableProcedureInterface)proc;<a name="line.208"></a>
-<span class="sourceLineNo">209</span>      boolean tableDeleted;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      if (proc.hasException()) {<a name="line.210"></a>
-<span class="sourceLineNo">211</span>        IOException procEx =  proc.getException().unwrapRemoteException();<a name="line.211"></a>
-<span class="sourceLineNo">212</span>        if (iProcTable.getTableOperationType() == TableOperationType.CREATE) {<a name="line.212"></a>
-<span class="sourceLineNo">213</span>          // create failed because the table already exist<a name="line.213"></a>
-<span class="sourceLineNo">214</span>          tableDeleted = !(procEx instanceof TableExistsException);<a name="line.214"></a>
-<span class="sourceLineNo">215</span>        } else {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>          // the operation failed because the table does not exist<a name="line.216"></a>
-<span class="sourceLineNo">217</span>          tableDeleted = (procEx instanceof TableNotFoundException);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>        }<a name="line.218"></a>
-<span class="sourceLineNo">219</span>      } else {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>        // the table was deleted<a name="line.220"></a>
-<span class="sourceLineNo">221</span>        tableDeleted = (iProcTable.getTableOperationType() == TableOperationType.DELETE);<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      }<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      if (tableDeleted) {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>        markTableAsDeleted(iProcTable.getTableName());<a name="line.224"></a>
-<span class="sourceLineNo">225</span>      }<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    }<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    // No cleanup for ServerProcedureInterface types, yet.<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>  private RunQueue getRunQueueOrCreate(final Procedure proc) {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    if (proc instanceof TableProcedureInterface) {<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      final TableName table = ((TableProcedureInterface)proc).getTableName();<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      return getRunQueueOrCreate(table);<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    if (proc instanceof ServerProcedureInterface) {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      return getRunQueueOrCreate((ServerProcedureInterface)proc);<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    }<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    // TODO: at the moment we only have Table and Server procedures<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    // if you are implementing a non-table/non-server procedure, you have two options: create<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    // a group for all the non-table/non-server procedures or try to find a key for your<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    // non-table/non-server procedures and implement something similar to the TableRunQueue.<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    throw new UnsupportedOperationException("RQs for non-table procedures are not implemented yet");<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  }<a name="line.243"></a>
-<span class="sourceLineNo">244</span><a name="line.244"></a>
-<span class="sourceLineNo">245</span>  private TableRunQueue getRunQueueOrCreate(final TableName table) {<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    final TableRunQueue queue = getRunQueue(table);<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    if (queue != null) return queue;<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    return (TableRunQueue)tableFairQ.add(table, createTableRunQueue(table));<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>  private ServerRunQueue getRunQueueOrCreate(final ServerProcedureInterface spi) {<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    final ServerRunQueue queue = getRunQueue(spi.getServerName());<a name="line.252"></a>
-<span class="sourceLineNo">253</span>    if (queue != null) return queue;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    return (ServerRunQueue)serverFairQ.add(spi.getServerName(), createServerRunQueue(spi));<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>  private TableRunQueue createTableRunQueue(final TableName table) {<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    int priority = userTablePriority;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    if (table.equals(TableName.META_TABLE_NAME)) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      priority = metaTablePriority;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>    } else if (table.isSystemTable()) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      priority = sysTablePriority;<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    }<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    return new TableRunQueue(priority);<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>  private ServerRunQueue createServerRunQueue(final ServerProcedureInterface spi) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    return new ServerRunQueue(DEFAULT_SERVER_PRIORITY);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>  }<a name="line.269"></a>
-<span class="sourceLineNo">270</span><a name="line.270"></a>
-<span class="sourceLineNo">271</span>  private TableRunQueue getRunQueue(final TableName table) {<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    return (TableRunQueue)tableFairQ.get(table);<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  }<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  private ServerRunQueue getRunQueue(final ServerName sn) {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    return (ServerRunQueue)serverFairQ.get(sn);<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  }<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>  /**<a name="line.279"></a>
-<span class="sourceLineNo">280</span>   * Try to acquire the write lock on the specified table.<a name="line.280"></a>
-<span class="sourceLineNo">281</span>   * other operations in the table-queue will be executed after the lock is released.<a name="line.281"></a>
-<span class="sourceLineNo">282</span>   * @param table Table to lock<a name="line.282"></a>
-<span class="sourceLineNo">283</span>   * @param purpose Human readable reason for locking the table<a name="line.283"></a>
-<span class="sourceLineNo">284</span>   * @return true if we were able to acquire the lock on the table, otherwise false.<a name="line.284"></a>
-<span class="sourceLineNo">285</span>   */<a name="line.285"></a>
-<span class="sourceLineNo">286</span>  public boolean tryAcquireTableExclusiveLock(final TableName table, final String purpose) {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    return getRunQueueOrCreate(table).tryExclusiveLock(lockManager, table, purpose);<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>   * Release the write lock taken with tryAcquireTableWrite()<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   * @param table the name of the table that has the write lock<a name="line.292"></a>
-<span class="sourceLineNo">293</span>   */<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  public void releaseTableExclusiveLock(final TableName table) {<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    getRunQueue(table).releaseExclusiveLock(lockManager, table);<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>   * Try to acquire the read lock on the specified table.<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * other read operations in the table-queue may be executed concurrently,<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   * otherwise they have to wait until all the read-locks are released.<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   * @param table Table to lock<a name="line.302"></a>
-<span class="sourceLineNo">303</span>   * @param purpose Human readable reason for locking the table<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   * @return true if we were able to acquire the lock on the table, otherwise false.<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   */<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  public boolean tryAcquireTableSharedLock(final TableName table, final String purpose) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    return getRunQueueOrCreate(table).trySharedLock(lockManager, table, purpose);<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  }<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>  /**<a name="line.310"></a>
-<span class="sourceLineNo">311</span>   * Release the read lock taken with tryAcquireTableRead()<a name="line.311"></a>
-<span class="sourceLineNo">312</span>   * @param table the name of the table that has the read lock<a name="line.312"></a>
-<span class="sourceLineNo">313</span>   */<a name="line.313"></a>
-<span class="sourceLineNo">314</span>  public void releaseTableSharedLock(final TableName table) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    getRunQueue(table).releaseSharedLock(lockManager, table);<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  }<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>  /**<a name="line.318"></a>
-<span class="sourceLineNo">319</span>   * Try to acquire the write lock on the specified server.<a name="line.319"></a>
-<span class="sourceLineNo">320</span>   * @see #releaseServerExclusiveLock(ServerProcedureInterface)<a name="line.320"></a>
-<span class="sourceLineNo">321</span>   * @param spi Server to lock<a name="line.321"></a>
-<span class="sourceLineNo">322</span>   * @return true if we were able to acquire the lock on the server, otherwise false.<a name="line.322"></a>
-<span class="sourceLineNo">323</span>   */<a name="line.323"></a>
-<span class="sourceLineNo">324</span>  public boolean tryAcquireServerExclusiveLock(final ServerProcedureInterface spi) {<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    return getRunQueueOrCreate(spi).tryExclusiveLock();<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>   * Release the write lock<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * @see #tryAcquireServerExclusiveLock(ServerProcedureInterface)<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   * @param spi the server that has the write lock<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   */<a name="line.332"></a>
-<span class="sourceLineNo">333</span>  public void releaseServerExclusiveLock(final ServerProcedureInterface spi) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    getRunQueue(spi.getServerName()).releaseExclusiveLock();<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>   * Try to acquire the read lock on the specified server.<a name="line.338"></a>
-<span class="sourceLineNo">339</span>   * @see #releaseServerSharedLock(ServerProcedureInterface)<a name="line.339"></a>
-<span class="sourceLineNo">340</span>   * @param spi Server to lock<a name="line.340"></a>
-<span class="sourceLineNo">341</span>   * @return true if we were able to acquire the lock on the server, otherwise false.<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   */<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  public boolean tryAcquireServerSharedLock(final ServerProcedureInterface spi) {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    return getRunQueueOrCreate(spi).trySharedLock();<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>   * Release the read lock taken<a name="line.348"></a>
-<span class="sourceLineNo">349</span>   * @see #tryAcquireServerSharedLock(ServerProcedureInterface)<a name="line.349"></a>
-<span class="sourceLineNo">350</span>   * @param spi the server that has the read lock<a name="line.350"></a>
-<span class="sourceLineNo">351</span>   */<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  public void releaseServerSharedLock(final ServerProcedureInterface spi) {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    getRunQueue(spi.getServerName()).releaseSharedLock();<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>   * Tries to remove the queue and the table-lock of the specified table.<a name="line.357"></a>
-<span class="sourceLineNo">358</span>   * If there are new operations pending (e.g. a new create),<a name="line.358"></a>
-<span class="sourceLineNo">359</span>   * the remove will not be performed.<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * @param table the name of the table that should be marked as deleted<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   * @return true if deletion succeeded, false otherwise meaning that there are<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   *    other new operations pending for that table (e.g. a new create).<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   */<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  protected boolean markTableAsDeleted(final TableName table) {<a name="line.364"></a>
-<span class="sourceLineNo">365</span>    TableRunQueue queue = getRunQueue(table);<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    if (queue != null) {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      lock.lock();<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      try {<a name="line.368"></a>
-<span class="sourceLineNo">369</span>        if (queue.isEmpty() &amp;&amp; queue.acquireDeleteLock()) {<a name="line.369"></a>
-<span class="sourceLineNo">370</span>          tableFairQ.remove(table);<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span>          // Remove the table lock<a name="line.372"></a>
-<span class="sourceLineNo">373</span>          try {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>            lockManager.tableDeleted(table);<a name="line.374"></a>
-<span class="sourceLineNo">375</span>          } catch (IOException e) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>            LOG.warn("Received exception from TableLockManager.tableDeleted:", e); //not critical<a name="line.376"></a>
-<span class="sourceLineNo">377</span>          }<a name="line.377"></a>
-<span class="sourceLineNo">378</span>        } else {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>          // TODO: If there are no create, we can drop all the other ops<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          return false;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>        }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      } finally {<a name="line.382"></a>
-<span class="sourceLineNo">383</span>        lock.unlock();<a name="line.383"></a>
-<span class="sourceLineNo">384</span>      }<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    }<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    return true;<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>  private interface RunQueue extends ProcedureFairRunQueues.FairObject {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    void addFront(Procedure proc);<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    void addBack(Procedure proc);<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    Long poll();<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    boolean acquireDeleteLock();<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>   * Base abstract class for RunQueue implementations.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   * Be careful honoring synchronizations in subclasses. In here we protect access but if you are<a name="line.398"></a>
-<span class="sourceLineNo">399</span>   * acting on a state found in here, be sure dependent code keeps synchronization.<a name="line.399"></a>
-<span class="sourceLineNo">400</span>   * Implements basic in-memory read/write locking mechanism to prevent procedure steps being run<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   * in parallel.<a name="line.401"></a>
-<span class="sourceLineNo">402</span>   */<a name="line.402"></a>
-<span class="sourceLineNo">403</span>  private static abstract class AbstractRunQueue implements RunQueue {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    // All modification of runnables happens with #lock held.<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    private final Deque&lt;Long&gt; runnables = new ArrayDeque&lt;Long&gt;();<a name="line.405"></a>
-<span class="sourceLineNo">406</span>    private final int priority;<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    private boolean exclusiveLock = false;<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    private int sharedLock = 0;<a name="line.408"></a>
-<span class="sourceLineNo">409</span><a name="line.409"></a>
-<span class="sourceLineNo">410</span>    public AbstractRunQueue(int priority) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      this.priority = priority;<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>    boolean isEmpty() {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      return this.runnables.isEmpty();<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    }<a name="line.416"></a>
-<span class="sourceLineNo">417</span><a name="line.417"></a>
-<span class="sourceLineNo">418</span>    @Override<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    public boolean isAvailable() {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      synchronized (this) {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>        return !exclusiveLock &amp;&amp; !runnables.isEmpty();<a name="line.421"></a>
-<span class="sourceLineNo">422</span>      }<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    }<a name="line.423"></a>
-<span class="sourceLineNo">424</span><a name="line.424"></a>
-<span class="sourceLineNo">425</span>    @Override<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    public int getPriority() {<a name="line.426"></a>
-<span class="sourceLineNo">427</span>      return this.priority;<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>    @Override<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    public void addFront(Procedure proc) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>      this.runnables.addFirst(proc.getProcId());<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>    @Override<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    public void addBack(Procedure proc) {<a name="line.436"></a>
-<span class="sourceLineNo">437</span>      this.runnables.addLast(proc.getProcId());<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>    @Override<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    public Long poll() {<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      return this.runnables.poll();<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>    @Override<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    public synchronized boolean acquireDeleteLock() {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>      return tryExclusiveLock();<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 synchronized boolean isLocked() {<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      return isExclusiveLock() || sharedLock &gt; 0;<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 synchronized boolean isExclusiveLock() {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      return this.exclusiveLock;<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 synchronized boolean trySharedLock() {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>      if (isExclusiveLock()) return false;<a name="line.459"></a>
-<span class="sourceLineNo">460</span>      sharedLock++;<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      return true;<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    }<a name="line.462"></a>
-<span class="sourceLineNo">463</span><a name="line.463"></a>
-<span class="sourceLineNo">464</span>    public synchronized void releaseSharedLock() {<a name="line.464"></a>
-<span class="sourceLineNo">465</span>      sharedLock--;<a name="line.465"></a>
-<span class="sourceLineNo">466</span>    }<a name="line.466"></a>
-<span class="sourceLineNo">467</span><a name="line.467"></a>
-<span class="sourceLineNo">468</span>    /**<a name="line.468"></a>
-<span class="sourceLineNo">469</span>     * @return True if only one instance of a shared lock outstanding.<a name="line.469"></a>
-<span class="sourceLineNo">470</span>     */<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    synchronized boolean isSingleSharedLock() {<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      return sharedLock == 1;<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    }<a name="line.473"></a>
-<span class="sourceLineNo">474</span><a name="line.474"></a>
-<span class="sourceLineNo">475</span>    public synchronized boolean tryExclusiveLock() {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      if (isLocked()) return false;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      exclusiveLock = true;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      return true;<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 synchronized void releaseExclusiveLock() {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>      exclusiveLock = false;<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    }<a name="line.483"></a>
-<span class="sourceLineNo">484</span><a name="line.484"></a>
-<span class="sourceLineNo">485</span>    @Override<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    public String toString() {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      return this.runnables.toString();<a name="line.487"></a>
-<span class="sourceLineNo">488</span>    }<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  }<a name="line.489"></a>
-<span class="sourceLineNo">490</span><a name="line.490"></a>
-<span class="sourceLineNo">491</span>  /**<a name="line.491"></a>
-<span class="sourceLineNo">492</span>   * Run Queue for Server procedures.<a name="line.492"></a>
-<span class="sourceLineNo">493</span>   */<a name="line.493"></a>
-<span class="sourceLineNo">494</span>  private static class ServerRunQueue extends AbstractRunQueue {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    public ServerRunQueue(int priority) {<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      super(priority);<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><a name="line.499"></a>
-<span class="sourceLineNo">500</span>  /**<a name="line.500"></a>
-<span class="sourceLineNo">501</span>   * Run Queue for a Table. It contains a read-write lock that is used by the<a name="line.501"></a>
-<span class="sourceLineNo">502</span>   * MasterProcedureQueue to decide if we should fetch an item from this queue<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * or skip to another one which will be able to run without waiting for locks.<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   */<a name="line.504"></a>
-<span class="sourceLineNo">505</span>  private static class TableRunQueue extends AbstractRunQueue {<a name="line.505"></a>
-<span class="sourceLineNo">506</span>    private TableLock tableLock = null;<a name="line.506"></a>
-<span class="sourceLineNo">507</span><a name="line.507"></a>
-<span class="sourceLineNo">508</span>    public TableRunQueue(int priority) {<a name="line.508"></a>
-<span class="sourceLineNo">509</span>      super(priority);<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    }<a name="line.510"></a>
-<span class="sourceLineNo">511</span><a name="line.511"></a>
-<span class="sourceLineNo">512</span>    // TODO: Improve run-queue push with TableProcedureInterface.getType()<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    //       we can take smart decisions based on the type of the operation (e.g. create/delete)<a name="line.513"></a>
-<span class="sourceLineNo">514</span>    @Override<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    public void addBack(final Procedure proc) {<a name="line.515"></a>
-<span class="sourceLineNo">516</span>      super.addBack(proc);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    }<a name="line.517"></a>
-<span class="sourceLineNo">518</span><a name="line.518"></a>
-<span class="sourceLineNo">519</span>    public synchronized boolean trySharedLock(final TableLockManager lockManager,<a name="line.519"></a>
-<span class="sourceLineNo">520</span>        final TableName tableName, final String purpose) {<a name="line.520"></a>
-<span class="sourceLineNo">521</span>      if (isExclusiveLock()) return false;<a name="line.521"></a>
-<span class="sourceLineNo">522</span><a name="line.522"></a>
-<span class="sourceLineNo">523</span>      // Take zk-read-lock<a name="line.523"></a>
-<span class="sourceLineNo">524</span>      tableLock = lockManager.readLock(tableName, purpose);<a name="line.524"></a>
-<span class="sourceLineNo">525</span>      try {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>        tableLock.acquire();<a name="line.526"></a>
-<span class="sourceLineNo">527</span>      } catch (IOException e) {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>        LOG.error("failed acquire read lock on " + tableName, e);<a name="line.528"></a>
-<span class="sourceLineNo">529</span>        tableLock = null;<a name="line.529"></a>
-<span class="sourceLineNo">530</span>        return false;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>      }<a name="line.531"></a>
-<span class="sourceLineNo">532</span>      trySharedLock();<a name="line.532"></a>
-<span class="sourceLineNo">533</span>      return true;<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 synchronized void releaseSharedLock(final TableLockManager lockManager,<a name="line.536"></a>
-<span class="sourceLineNo">537</span>        final TableName tableName) {<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      releaseTableLock(lockManager, isSingleSharedLock());<a name="line.538"></a>
-<span class="sourceLineNo">539</span>      releaseSharedLock();<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>    public synchronized boolean tryExclusiveLock(final TableLockManager lockManager,<a name="line.542"></a>
-<span class="sourceLineNo">543</span>        final TableName tableName, final String purpose) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      if (isLocked()) return false;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      // Take zk-write-lock<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      tableLock = lockManager.writeLock(tableName, purpose);<a name="line.546"></a>
-<span class="sourceLineNo">547</span>      try {<a name="line.547"></a>
-<span class="sourceLineNo">548</span>        tableLock.acquire();<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      } catch (IOException e) {<a name="line.549"></a>
-<span class="sourceLineNo">550</span>        LOG.error("failed acquire write lock on " + tableName, e);<a name="line.550"></a>
-<span class="sourceLineNo">551</span>        tableLock = null;<a name="line.551"></a>
-<span class="sourceLineNo">552</span>        return false;<a name="line.552"></a>
-<span class="sourceLineNo">553</span>      }<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      tryExclusiveLock();<a name="line.554"></a>
-<span class="sourceLineNo">555</span>      return true;<a name="line.555"></a>
-<span class="sourceLineNo">556</span>    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span><a name="line.557"></a>
-<span class="sourceLineNo">558</span>    public synchronized void releaseExclusiveLock(final TableLockManager lockManager,<a name="line.558"></a>
-<span class="sourceLineNo">559</span>        final TableName tableName) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      releaseTableLock(lockManager, true);<a name="line.560"></a>
-<span class="sourceLineNo">561</span>      releaseExclusiveLock();<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>    private void releaseTableLock(final TableLockManager lockManager, boolean reset) {<a name="line.564"></a>
-<span class="sourceLineNo">565</span>      for (int i = 0; i &lt; 3; ++i) {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>        try {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>          tableLock.release();<a name="line.567"></a>
-<span class="sourceLineNo">568</span>          if (reset) {<a name="line.568"></a>
-<span class="sourceLineNo">569</span>            tableLock = null;<a name="line.569"></a>
-<span class="sourceLineNo">570</span>          }<a name="line.570"></a>
-<span class="sourceLineNo">571</span>          break;<a name="line.571"></a>
-<span class="sourceLineNo">572</span>        } catch (IOException e) {<a name="line.572"></a>
-<span class="sourceLineNo">573</span>          LOG.warn("Could not release the table write-lock", e);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>        }<a name="line.574"></a>
-<span class="sourceLineNo">575</span>      }<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    }<a name="line.576"></a>
-<span class="sourceLineNo">577</span>  }<a name="line.577"></a>
-<span class="sourceLineNo">578</span>}<a name="line.578"></a>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</pre>
-</div>
-</body>
-</html>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html
new file mode 100644
index 0000000..4d134d8
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html
@@ -0,0 +1,1323 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MasterProcedureScheduler (Apache HBase 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="MasterProcedureScheduler (Apache HBase 2.0.0-SNAPSHOT API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MasterProcedureScheduler.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.WALStoreLeaseRecovery.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.hadoop.hbase.master.procedure</div>
+<h2 title="Class MasterProcedureScheduler" class="title">Class MasterProcedureScheduler</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureRunnableSet</a></dd>
+</dl>
+<hr>
+<br>
+<pre><a href="../../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
+<a href="../../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Evolving.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceStability.Evolving</a>
+public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.58">MasterProcedureScheduler</a>
+extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureRunnableSet</a></pre>
+<div class="block">ProcedureRunnableSet for the Master Procedures.
+ This RunnableSet tries to provide to the ProcedureExecutor procedures
+ that can be executed without having to wait on a lock.
+ Most of the master operations can be executed concurrently, if they
+ are operating on different tables (e.g. two create table can be performed
+ at the same, time assuming table A and table B) or against two different servers; say
+ two servers that crashed at about the same time.
+
+ <p>Each procedure should implement an interface providing information for this queue.
+ for example table related procedures should implement TableProcedureInterface.
+ each procedure will be pushed in its own queue, and based on the operation type
+ we may take smarter decision. e.g. we can abort all the operations preceding
+ a delete table, or similar.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested_class_summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.AvlTree</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="type parameter in MasterProcedureScheduler.FairQueue">T</a> extends <a href="http://docs.oracle.com/javase/7/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/master/procedure/MasterProcedureScheduler.FairQueue.html" title="type parameter in MasterProcedureScheduler.FairQueue">T</a>&gt;&gt;</strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.IterableList</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.NamespaceQueue</a></strong></code>
+<div class="block">the namespace is currently used just as a rwlock, not as a queue.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="type parameter in MasterProcedureScheduler.Queue">TKey</a> extends <a href="http://docs.oracle.com/javase/7/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/master/procedure/MasterProcedureScheduler.Queue.html" title="type parameter in MasterProcedureScheduler.Queue">TKey</a>&gt;&gt;</strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueImpl</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="type parameter in MasterProcedureScheduler.QueueImpl">TKey</a> extends <a href="http://docs.oracle.com/javase/7/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/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="type parameter in MasterProcedureScheduler.QueueImpl">TKey</a>&gt;&gt;</strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static interface&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueInterface</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ServerQueue</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.TableQueue</a></strong></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#lockManager">lockManager</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static org.apache.commons.logging.Log</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#LOG">LOG</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private int</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#metaTablePriority">metaTablePriority</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#namespaceMap">namespaceMap</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private long</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#nullPollCalls">nullPollCalls</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private long</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#pollCalls">pollCalls</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private int</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#queueSize">queueSize</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReentrantLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantLock</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#schedLock">schedLock</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/Condition.html?is-external=true" title="class or interface in java.util.concurrent.locks">Condition</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#schedWaitCond">schedWaitCond</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#serverBuckets">serverBuckets</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#serverRunQueue">serverRunQueue</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private int</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#sysTablePriority">sysTablePriority</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#tableMap">tableMap</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#tableRunQueue">tableRunQueue</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private int</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#userTablePriority">userTablePriority</a></strong></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#MasterProcedureScheduler(org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.hbase.master.TableLockManager)">MasterProcedureScheduler</a></strong>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+                                                <a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#addBack(org.apache.hadoop.hbase.procedure2.Procedure)">addBack</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>
+<div class="block">Inserts the specified element at the end of this queue.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#addFront(org.apache.hadoop.hbase.procedure2.Procedure)">addFront</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>
+<div class="block">Inserts the specified element at the front of this queue.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#addToRunQueue(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.FairQueue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">addToRunQueue</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a>&lt;T&gt;&nbsp;fairq,
+                          <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;queue)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#clear()">clear</a></strong>()</code>
+<div class="block">Removes all of the elements from this collection.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#clear(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.FairQueue)">clear</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;treeMap,
+          <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a>&lt;T&gt;&nbsp;fairq)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#completionCleanup(org.apache.hadoop.hbase.procedure2.Procedure)">completionCleanup</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>
+<div class="block">The procedure in execution completed.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#doAdd(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.FairQueue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20org.apache.hadoop.hbase.procedure2.Procedure,%20boolean)">doAdd</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a>&lt;T&gt;&nbsp;fairq,
+          <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;queue,
+          <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc,
+          boolean&nbsp;addFront)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#doAdd(org.apache.hadoop.hbase.procedure2.Procedure,%20boolean)">doAdd</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc,
+          boolean&nbsp;addFront)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#doPoll(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.FairQueue)">doPoll</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a>&lt;T&gt;&nbsp;fairq)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static int</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getBucketIndex(java.lang.Object[],%20int)">getBucketIndex</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&nbsp;buckets,
+                            int&nbsp;hashCode)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.NamespaceQueue</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getNamespaceQueue(java.lang.String)">getNamespaceQueue</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getNullPollCalls()">getNullPollCalls</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getPollCalls()">getPollCalls</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getServerName(org.apache.hadoop.hbase.procedure2.Procedure)">getServerName</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ServerQueue</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getServerQueue(org.apache.hadoop.hbase.ServerName)">getServerQueue</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ServerQueue</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getServerQueueWithLock(org.apache.hadoop.hbase.ServerName)">getServerQueueWithLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getTableName(org.apache.hadoop.hbase.procedure2.Procedure)">getTableName</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private int</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getTablePriority(org.apache.hadoop.hbase.TableName)">getTablePriority</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.TableQueue</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getTableQueue(org.apache.hadoop.hbase.TableName)">getTableQueue</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.TableQueue</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getTableQueueWithLock(org.apache.hadoop.hbase.TableName)">getTableQueueWithLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getTreeRoot(java.lang.Object[],%20int)">getTreeRoot</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&nbsp;buckets,
+                      int&nbsp;index)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#isServerProcedure(org.apache.hadoop.hbase.procedure2.Procedure)">isServerProcedure</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#isTableProcedure(org.apache.hadoop.hbase.procedure2.Procedure)">isTableProcedure</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#markTableAsDeleted(org.apache.hadoop.hbase.TableName)">markTableAsDeleted</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>
+<div class="block">Tries to remove the queue and the table-lock of the specified table.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#poll()">poll</a></strong>()</code>
+<div class="block">Fetch one Procedure from the queue</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#poll(long)">poll</a></strong>(long&nbsp;waitNsec)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#releaseNamespaceExclusiveLock(java.lang.String)">releaseNamespaceExclusiveLock</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;nsName)</code>
+<div class="block">Release the exclusive lock</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#releaseServerExclusiveLock(org.apache.hadoop.hbase.ServerName)">releaseServerExclusiveLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>
+<div class="block">Release the exclusive lock</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#releaseServerSharedLock(org.apache.hadoop.hbase.ServerName)">releaseServerSharedLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>
+<div class="block">Release the shared lock taken</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#releaseTableExclusiveLock(org.apache.hadoop.hbase.TableName)">releaseTableExclusiveLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>
+<div class="block">Release the exclusive lock taken with tryAcquireTableWrite()</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#releaseTableSharedLock(org.apache.hadoop.hbase.TableName)">releaseTableSharedLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>
+<div class="block">Release the shared lock taken with tryAcquireTableRead()</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#removeFromRunQueue(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.FairQueue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">removeFromRunQueue</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a>&lt;T&gt;&nbsp;fairq,
+                                    <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;queue)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#removeServerQueue(org.apache.hadoop.hbase.ServerName)">removeServerQueue</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#removeTableQueue(org.apache.hadoop.hbase.TableName)">removeTableQueue</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#signalAll()">signalAll</a></strong>()</code>
+<div class="block">In case the class is blocking on poll() waiting for items to be added,
+ this method should awake poll() and poll() should return.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#size()">size</a></strong>()</code>
+<div class="block">Returns the number of elements in this collection.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#suspend(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent)">suspend</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a>&nbsp;event)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#tryAcquireNamespaceExclusiveLock(java.lang.String)">tryAcquireNamespaceExclusiveLock</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;nsName)</code>
+<div class="block">Try to acquire the exclusive lock on the specified namespace.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#tryAcquireServerExclusiveLock(org.apache.hadoop.hbase.ServerName)">tryAcquireServerExclusiveLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>
+<div class="block">Try to acquire the exclusive lock on the specified server.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#tryAcquireServerSharedLock(org.apache.hadoop.hbase.ServerName)">tryAcquireServerSharedLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>
+<div class="block">Try to acquire the shared lock on the specified server.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#tryAcquireTableExclusiveLock(org.apache.hadoop.hbase.TableName,%20java.lang.String)">tryAcquireTableExclusiveLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+                                                        <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;purpose)</code>
+<div class="block">Try to acquire the exclusive lock on the specified table.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#tryAcquireTableSharedLock(org.apache.hadoop.hbase.TableName,%20java.lang.String)">tryAcquireTableSharedLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+                                                  <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;purpose)</code>
+<div class="block">Try to acquire the shared lock on the specified table.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#waitEvent(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent,%20org.apache.hadoop.hbase.procedure2.Procedure)">waitEvent</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a>&nbsp;event,
+                  <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;procedure)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#waitEvent(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent,%20org.apache.hadoop.hbase.procedure2.Procedure,%20boolean)">waitEvent</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a>&nbsp;event,
+                  <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;procedure,
+                  boolean&nbsp;suspendQueue)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#waitServerEvent(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent,%20org.apache.hadoop.hbase.procedure2.Procedure,%20boolean)">waitServerEvent</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a>&nbsp;event,
+                              <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;procedure,
+                              boolean&nbsp;suspendQueue)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#waitTableEvent(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent,%20org.apache.hadoop.hbase.procedure2.Procedure,%20boolean)">waitTableEvent</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a>&nbsp;event,
+                            <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;procedure,
+                            boolean&nbsp;suspendQueue)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#wake(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent)">wake</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a>&nbsp;event)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#yield(org.apache.hadoop.hbase.procedure2.Procedure)">yield</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>
+<div class="block">The procedure can't run at the moment.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang
 /Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="LOG">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>LOG</h4>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.59">LOG</a></pre>
+</li>
+</ul>
+<a name="lockManager">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>lockManager</h4>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.61">lockManager</a></pre>
+</li>
+</ul>
+<a name="schedLock">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>schedLock</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReentrantLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantLock</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.62">schedLock</a></pre>
+</li>
+</ul>
+<a name="schedWaitCond">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>schedWaitCond</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/Condition.html?is-external=true" title="class or interface in java.util.concurrent.locks">Condition</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.63">schedWaitCond</a></pre>
+</li>
+</ul>
+<a name="serverRunQueue">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>serverRunQueue</h4>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.65">serverRunQueue</a></pre>
+</li>
+</ul>
+<a name="tableRunQueue">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>tableRunQueue</h4>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.66">tableRunQueue</a></pre>
+</li>
+</ul>
+<a name="queueSize">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>queueSize</h4>
+<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.67">queueSize</a></pre>
+</li>
+</ul>
+<a name="serverBuckets">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>serverBuckets</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.69">serverBuckets</a></pre>
+</li>
+</ul>
+<a name="namespaceMap">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>namespaceMap</h4>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="http://docs.oracle.com/javase/7/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/master/procedure/MasterProcedureScheduler.html#line.70">namespaceMap</a></pre>
+</li>
+</ul>
+<a name="tableMap">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>tableMap</h4>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.71">tableMap</a></pre>
+</li>
+</ul>
+<a name="metaTablePriority">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>metaTablePriority</h4>
+<pre>private final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.73">metaTablePriority</a></pre>
+</li>
+</ul>
+<a name="userTablePriority">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>userTablePriority</h4>
+<pre>private final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.74">userTablePriority</a></pre>
+</li>
+</ul>
+<a name="sysTablePriority">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sysTablePriority</h4>
+<pre>private final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.75">sysTablePriority</a></pre>
+</li>
+</ul>
+<a name="pollCalls">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>pollCalls</h4>
+<pre>private&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.78">pollCalls</a></pre>
+</li>
+</ul>
+<a name="nullPollCalls">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>nullPollCalls</h4>
+<pre>private&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.79">nullPollCalls</a></pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="MasterProcedureScheduler(org.apache.hadoop.conf.Configuration, org.apache.hadoop.hbase.master.TableLockManager)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MasterProcedureScheduler</h4>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.81">MasterProcedureScheduler</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+                        <a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="addFront(org.apache.hadoop.hbase.procedure2.Procedure)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addFront</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.91">addFront</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
+<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#addFront(org.apache.hadoop.hbase.procedure2.Procedure)">ProcedureRunnableSet</a></code></strong></div>
+<div class="block">Inserts the specified element at the front of this queue.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#addFront(org.apache.hadoop.hbase.procedure2.Procedure)">addFront</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureRunnableSet</a></code></dd>
+<dt><span class="strong">Parameters:</span></dt><dd><code>proc</code> - the Procedure to add</dd></dl>
+</li>
+</ul>
+<a name="addBack(org.apache.hadoop.hbase.procedure2.Procedure)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addBack</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.96">addBack</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
+<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#addBack(org.apache.hadoop.hbase.procedure2.Procedure)">ProcedureRunnableSet</a></code></strong></div>
+<div class="block">Inserts the specified element at the end of this queue.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#addBack(org.apache.hadoop.hbase.procedure2.Procedure)">addBack</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureRunnableSet</a></code></dd>
+<dt><span class="strong">Parameters:</span></dt><dd><code>proc</code> - the Procedure to add</dd></dl>
+</li>
+</ul>
+<a name="yield(org.apache.hadoop.hbase.procedure2.Procedure)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>yield</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.101">yield</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
+<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#yield(org.apache.hadoop.hbase.procedure2.Procedure)">ProcedureRunnableSet</a></code></strong></div>
+<div class="block">The procedure can't run at the moment.
+ add it back to the queue, giving priority to someone else.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#yield(org.apache.hadoop.hbase.procedure2.Procedure)">yield</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureRunnableSet</a></code></dd>
+<dt><span class="strong">Parameters:</span></dt><dd><code>proc</code> - the Procedure to add back to the list</dd></dl>
+</li>
+</ul>
+<a name="doAdd(org.apache.hadoop.hbase.procedure2.Procedure, boolean)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>doAdd</h4>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.105">doAdd</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc,
+         boolean&nbsp;addFront)</pre>
+</li>
+</ul>
+<a name="doAdd(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.FairQueue, org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue, org.apache.hadoop.hbase.procedure2.Procedure, boolean)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>doAdd</h4>
+<pre>private&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.126">doAdd</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a>&lt;T&gt;&nbsp;fairq,
+                                   <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;queue,
+                                   <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc,
+                                   boolean&nbsp;addFront)</pre>
+</li>
+</ul>
+<a name="poll()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>poll</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.138">poll</a>()</pre>
+<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#poll()">ProcedureRunnableSet</a></code></strong></div>
+<div class="block">Fetch one Procedure from the queue</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#poll()">poll</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureRunnableSet</a></code></dd>
+<dt><span class="strong">Returns:</span></dt><dd>the Procedure to execute, or null if nothing present.</dd></dl>
+</li>
+</ul>
+<a name="poll(long)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>poll</h4>
+<pre><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.143">poll</a>(long&nbsp;waitNsec)</pre>
+</li>
+</ul>
+<a name="doPoll(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.FairQueue)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>doPoll</h4>
+<pre>private&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.177">doPoll</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a>&lt;T&gt;&nbsp;fairq)</pre>
+</li>
+</ul>
+<a name="clear()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clear</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.193">clear</a>()</pre>
+<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#clear()">ProcedureRunnableSet</a></code></strong></div>
+<div class="block">Removes all of the elements from this collection.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#clear()">clear</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureRunnableSet</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="clear(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue, org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.FairQueue)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clear</h4>
+<pre>private&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.213">clear</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;treeMap,
+                                   <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a>&lt;T&gt;&nbsp;fairq)</pre>
+</li>
+</ul>
+<a name="signalAll()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>signalAll</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.223">signalAll</a>()</pre>
+<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#signalAll()">ProcedureRunnableSet</a></code></strong></div>
+<div class="block">In case the class is blocking on poll() waiting for items to be added,
+ this method should awake poll() and poll() should return.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#signalAll()">signalAll</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureRunnableSet</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="size()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>size</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.233">size</a>()</pre>
+<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#size()">ProcedureRunnableSet</a></code></strong></div>
+<div class="block">Returns the number of elements in this collection.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#size()">size</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureRunnableSet</a></code></dd>
+<dt><span class="strong">Returns:</span></dt><dd>the number of elements in this collection.</dd></dl>
+</li>
+</ul>
+<a name="completionCleanup(org.apache.hadoop.hbase.procedure2.Procedure)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>completionCleanup</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.243">completionCleanup</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
+<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#completionCleanup(org.apache.hadoop.hbase.procedure2.Procedure)">ProcedureRunnableSet</a></code></strong></div>
+<div class="block">The procedure in execution completed.
+ This can be implemented to perform cleanups.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#completionCleanup(org.apache.hadoop.hbase.procedure2.Procedure)">completionCleanup</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureRunnableSet</a></code></dd>
+<dt><span class="strong">Parameters:</span></dt><dd><code>proc</code> - the Procedure that completed the execution.</dd></dl>
+</li>
+</ul>
+<a name="addToRunQueue(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.FairQueue, org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addToRunQueue</h4>
+<pre>private&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.270">addToRunQueue</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a>&lt;T&gt;&nbsp;fairq,
+                                           <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;queue)</pre>
+</li>
+</ul>
+<a name="removeFromRunQueue(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.FairQueue, org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeFromRunQueue</h4>
+<pre>private&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.278">removeFromRunQueue</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a>&lt;T&gt;&nbsp;fairq,
+                                                <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;queue)</pre>
+</li>
+</ul>
+<a name="getPollCalls()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPollCalls</h4>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.287">getPollCalls</a>()</pre>
+</li>
+</ul>
+<a name="getNullPollCalls()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNullPollCalls</h4>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.291">getNullPollCalls</a>()</pre>
+</li>
+</ul>
+<a name="waitEvent(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent, org.apache.hadoop.hbase.procedure2.Procedure)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>waitEvent</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.298">waitEvent</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a>&nbsp;event,
+                <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;procedure)</pre>
+</li>
+</ul>
+<a name="waitEvent(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent, org.apache.hadoop.hbase.procedure2.Procedure, boolean)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>waitEvent</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.302">waitEvent</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a>&nbsp;event,
+                <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;procedure,
+                boolean&nbsp;suspendQueue)</pre>
+</li>
+</ul>
+<a name="waitTableEvent(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent, org.apache.hadoop.hbase.procedure2.Procedure, boolean)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>waitTableEvent</h4>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.327">waitTableEvent</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a>&nbsp;event,
+                  <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;procedure,
+                  boolean&nbsp;suspendQueue)</pre>
+</li>
+</ul>
+<a name="waitServerEvent(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent, org.apache.hadoop.hbase.procedure2.Procedure, boolean)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>waitServerEvent</h4>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.349">waitServerEvent</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a>&nbsp;event,
+                   <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;procedure,
+                   boolean&nbsp;suspendQueue)</pre>
+</li>
+</ul>
+<a name="suspend(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>suspend</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.372">suspend</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a>&nbsp;event)</pre>
+</li>
+</ul>
+<a name="wake(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>wake</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.382">wake</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a>&nbsp;event)</pre>
+</li>
+</ul>
+<a name="getTableQueueWithLock(org.apache.hadoop.hbase.TableName)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTableQueueWithLock</h4>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.TableQueue</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.471">getTableQueueWithLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+</li>
+</ul>
+<a name="getTableQueue(org.apache.hadoop.hbase.TableName)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTableQueue</h4>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.TableQueue</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.480">getTableQueue</a>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+</li>
+</ul>
+<a name="removeTableQueue(org.apache.hadoop.hbase.TableName)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeTableQueue</h4>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.490">removeTableQueue</a>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+</li>
+</ul>
+<a name="getTablePriority(org.apache.hadoop.hbase.TableName)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTablePriority</h4>
+<pre>private&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.494">getTablePriority</a>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+</li>
+</ul>
+<a name="isTableProcedure(org.apache.hadoop.hbase.procedure2.Procedure)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isTableProcedure</h4>
+<pre>private static&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.503">isTableProcedure</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
+</li>
+</ul>
+<a name="getTableName(org.apache.hadoop.hbase.procedure2.Procedure)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTableName</h4>
+<pre>private static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.507">getTableName</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
+</li>
+</ul>
+<a name="getNamespaceQueue(java.lang.String)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNamespaceQueue</h4>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.NamespaceQueue</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.514">getNamespaceQueue</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</pre>
+</li>
+</ul>
+<a name="getServerQueueWithLock(org.apache.hadoop.hbase.ServerName)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getServerQueueWithLock</h4>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ServerQueue</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.526">getServerQueueWithLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
+</li>
+</ul>
+<a name="getServerQueue(org.apache.hadoop.hbase.ServerName)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getServerQueue</h4>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ServerQueue</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.535">getServerQueue</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
+</li>
+</ul>
+<a name="removeServerQueue(org.apache.hadoop.hbase.ServerName)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeServerQueue</h4>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.546">removeServerQueue</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
+</li>
+</ul>
+<a name="getTreeRoot(java.lang.Object[], int)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTreeRoot</h4>
+<pre>private static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.552">getTreeRoot</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&nbsp;buckets,
+                                                                      int&nbsp;index)</pre>
+</li>
+</ul>
+<a name="getBucketIndex(java.lang.Object[], int)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getBucketIndex</h4>
+<pre>private static&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#line.556">getBucketIndex</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interf

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html
deleted file mode 100644
index 92dcb34..0000000
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html
+++ /dev/null
@@ -1,650 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
-<title>Source code</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<div class="sourceContainer">
-<pre><span class="sourceLineNo">001</span>/**<a name="line.1"></a>
-<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
-<span class="sourceLineNo">003</span> * or more contributor license agreements.  See the NOTICE file<a name="line.3"></a>
-<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
-<span class="sourceLineNo">005</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.5"></a>
-<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
-<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
-<span class="sourceLineNo">008</span> * with the License.  You may obtain a copy of the License at<a name="line.8"></a>
-<span class="sourceLineNo">009</span> *<a name="line.9"></a>
-<span class="sourceLineNo">010</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
-<span class="sourceLineNo">011</span> *<a name="line.11"></a>
-<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
-<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
-<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
-<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
-<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
-<span class="sourceLineNo">017</span> */<a name="line.17"></a>
-<span class="sourceLineNo">018</span><a name="line.18"></a>
-<span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.master.procedure;<a name="line.19"></a>
-<span class="sourceLineNo">020</span><a name="line.20"></a>
-<span class="sourceLineNo">021</span>import java.io.IOException;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.util.ArrayDeque;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.util.Deque;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.util.concurrent.locks.Condition;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.util.concurrent.locks.ReentrantLock;<a name="line.25"></a>
-<span class="sourceLineNo">026</span><a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.commons.logging.Log;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.commons.logging.LogFactory;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.conf.Configuration;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.ServerName;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.TableName;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.procedure2.Procedure;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.procedure2.ProcedureFairRunQueues;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.procedure2.ProcedureRunnableSet;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.master.TableLockManager;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.master.TableLockManager.TableLock;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.master.procedure.TableProcedureInterface.TableOperationType;<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span>/**<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * ProcedureRunnableSet for the Master Procedures.<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * This RunnableSet tries to provide to the ProcedureExecutor procedures<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * that can be executed without having to wait on a lock.<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * Most of the master operations can be executed concurrently, if they<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * are operating on different tables (e.g. two create table can be performed<a name="line.48"></a>
-<span class="sourceLineNo">049</span> * at the same, time assuming table A and table B) or against two different servers; say<a name="line.49"></a>
-<span class="sourceLineNo">050</span> * two servers that crashed at about the same time.<a name="line.50"></a>
-<span class="sourceLineNo">051</span> *<a name="line.51"></a>
-<span class="sourceLineNo">052</span> * &lt;p&gt;Each procedure should implement an interface providing information for this queue.<a name="line.52"></a>
-<span class="sourceLineNo">053</span> * for example table related procedures should implement TableProcedureInterface.<a name="line.53"></a>
-<span class="sourceLineNo">054</span> * each procedure will be pushed in its own queue, and based on the operation type<a name="line.54"></a>
-<span class="sourceLineNo">055</span> * we may take smarter decision. e.g. we can abort all the operations preceding<a name="line.55"></a>
-<span class="sourceLineNo">056</span> * a delete table, or similar.<a name="line.56"></a>
-<span class="sourceLineNo">057</span> */<a name="line.57"></a>
-<span class="sourceLineNo">058</span>@InterfaceAudience.Private<a name="line.58"></a>
-<span class="sourceLineNo">059</span>@InterfaceStability.Evolving<a name="line.59"></a>
-<span class="sourceLineNo">060</span>public class MasterProcedureQueue implements ProcedureRunnableSet {<a name="line.60"></a>
-<span class="sourceLineNo">061</span>  private static final Log LOG = LogFactory.getLog(MasterProcedureQueue.class);<a name="line.61"></a>
-<span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>  // Two queues to ensure that server procedures run ahead of table precedures always.<a name="line.63"></a>
-<span class="sourceLineNo">064</span>  private final ProcedureFairRunQueues&lt;TableName, RunQueue&gt; tableFairQ;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  /**<a name="line.65"></a>
-<span class="sourceLineNo">066</span>   * Rely on basic fair q. ServerCrashProcedure will yield if meta is not assigned. This way, the<a name="line.66"></a>
-<span class="sourceLineNo">067</span>   * server that was carrying meta should rise to the top of the queue (this is how it used to<a name="line.67"></a>
-<span class="sourceLineNo">068</span>   * work when we had handlers and ServerShutdownHandler ran). TODO: special handling of servers<a name="line.68"></a>
-<span class="sourceLineNo">069</span>   * that were carrying system tables on crash; do I need to have these servers have priority?<a name="line.69"></a>
-<span class="sourceLineNo">070</span>   *<a name="line.70"></a>
-<span class="sourceLineNo">071</span>   * &lt;p&gt;Apart from the special-casing of meta and system tables, fairq is what we want<a name="line.71"></a>
-<span class="sourceLineNo">072</span>   */<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  private final ProcedureFairRunQueues&lt;ServerName, RunQueue&gt; serverFairQ;<a name="line.73"></a>
-<span class="sourceLineNo">074</span><a name="line.74"></a>
-<span class="sourceLineNo">075</span>  private final ReentrantLock lock = new ReentrantLock();<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  private final Condition waitCond = lock.newCondition();<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  private final TableLockManager lockManager;<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>  private final int metaTablePriority;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  private final int userTablePriority;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  private final int sysTablePriority;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>  private static final int DEFAULT_SERVER_PRIORITY = 1;<a name="line.82"></a>
-<span class="sourceLineNo">083</span><a name="line.83"></a>
-<span class="sourceLineNo">084</span>  /**<a name="line.84"></a>
-<span class="sourceLineNo">085</span>   * Keeps count across server and table queues.<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   */<a name="line.86"></a>
-<span class="sourceLineNo">087</span>  private int queueSize;<a name="line.87"></a>
-<span class="sourceLineNo">088</span><a name="line.88"></a>
-<span class="sourceLineNo">089</span>  public MasterProcedureQueue(final Configuration conf, final TableLockManager lockManager) {<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    this.tableFairQ = new ProcedureFairRunQueues&lt;TableName, RunQueue&gt;(1);<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    this.serverFairQ = new ProcedureFairRunQueues&lt;ServerName, RunQueue&gt;(1);<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    this.lockManager = lockManager;<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>    // TODO: should this be part of the HTD?<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    metaTablePriority = conf.getInt("hbase.master.procedure.queue.meta.table.priority", 3);<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    sysTablePriority = conf.getInt("hbase.master.procedure.queue.system.table.priority", 2);<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    userTablePriority = conf.getInt("hbase.master.procedure.queue.user.table.priority", 1);<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  }<a name="line.98"></a>
-<span class="sourceLineNo">099</span><a name="line.99"></a>
-<span class="sourceLineNo">100</span>  @Override<a name="line.100"></a>
-<span class="sourceLineNo">101</span>  public void addFront(final Procedure proc) {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    lock.lock();<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    try {<a name="line.103"></a>
-<span class="sourceLineNo">104</span>      getRunQueueOrCreate(proc).addFront(proc);<a name="line.104"></a>
-<span class="sourceLineNo">105</span>      queueSize++;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      waitCond.signal();<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    } finally {<a name="line.107"></a>
-<span class="sourceLineNo">108</span>      lock.unlock();<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    }<a name="line.109"></a>
-<span class="sourceLineNo">110</span>  }<a name="line.110"></a>
-<span class="sourceLineNo">111</span><a name="line.111"></a>
-<span class="sourceLineNo">112</span>  @Override<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  public void addBack(final Procedure proc) {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    lock.lock();<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    try {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      getRunQueueOrCreate(proc).addBack(proc);<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      queueSize++;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      waitCond.signal();<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    } finally {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      lock.unlock();<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>  }<a name="line.122"></a>
-<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span>  @Override<a name="line.124"></a>
-<span class="sourceLineNo">125</span>  public void yield(final Procedure proc) {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    addBack(proc);<a name="line.126"></a>
-<span class="sourceLineNo">127</span>  }<a name="line.127"></a>
-<span class="sourceLineNo">128</span><a name="line.128"></a>
-<span class="sourceLineNo">129</span>  @Override<a name="line.129"></a>
-<span class="sourceLineNo">130</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings("WA_AWAIT_NOT_IN_LOOP")<a name="line.130"></a>
-<span class="sourceLineNo">131</span>  public Long poll() {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    Long pollResult = null;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    lock.lock();<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    try {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      if (queueSize == 0) {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>        waitCond.await();<a name="line.136"></a>
-<span class="sourceLineNo">137</span>        if (queueSize == 0) {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>          return null;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>        }<a name="line.139"></a>
-<span class="sourceLineNo">140</span>      }<a name="line.140"></a>
-<span class="sourceLineNo">141</span>      // For now, let server handling have precedence over table handling; presumption is that it<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      // is more important handling crashed servers than it is running the<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      // enabling/disabling tables, etc.<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      pollResult = doPoll(serverFairQ.poll());<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      if (pollResult == null) {<a name="line.145"></a>
-<span class="sourceLineNo">146</span>        pollResult = doPoll(tableFairQ.poll());<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      }<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    } catch (InterruptedException e) {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      Thread.currentThread().interrupt();<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    } finally {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      lock.unlock();<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    }<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    return pollResult;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  }<a name="line.154"></a>
-<span class="sourceLineNo">155</span><a name="line.155"></a>
-<span class="sourceLineNo">156</span>  private Long doPoll(final RunQueue rq) {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    if (rq == null || !rq.isAvailable()) return null;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    this.queueSize--;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    return rq.poll();<a name="line.159"></a>
-<span class="sourceLineNo">160</span>  }<a name="line.160"></a>
-<span class="sourceLineNo">161</span><a name="line.161"></a>
-<span class="sourceLineNo">162</span>  @Override<a name="line.162"></a>
-<span class="sourceLineNo">163</span>  public void signalAll() {<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    lock.lock();<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    try {<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      waitCond.signalAll();<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    } finally {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>      lock.unlock();<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    }<a name="line.169"></a>
-<span class="sourceLineNo">170</span>  }<a name="line.170"></a>
-<span class="sourceLineNo">171</span><a name="line.171"></a>
-<span class="sourceLineNo">172</span>  @Override<a name="line.172"></a>
-<span class="sourceLineNo">173</span>  public void clear() {<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    lock.lock();<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    try {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      serverFairQ.clear();<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      tableFairQ.clear();<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      queueSize = 0;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    } finally {<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      lock.unlock();<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><a name="line.183"></a>
-<span class="sourceLineNo">184</span>  @Override<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  public int size() {<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    lock.lock();<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    try {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      return queueSize;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    } finally {<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      lock.unlock();<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>  @Override<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  public String toString() {<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    lock.lock();<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    try {<a name="line.197"></a>
-<span class="sourceLineNo">198</span>      return "MasterProcedureQueue size=" + queueSize + ": tableFairQ: " + tableFairQ +<a name="line.198"></a>
-<span class="sourceLineNo">199</span>        ", serverFairQ: " + serverFairQ;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    } finally {<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      lock.unlock();<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    }<a name="line.202"></a>
-<span class="sourceLineNo">203</span>  }<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>  @Override<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  public void completionCleanup(Procedure proc) {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    if (proc instanceof TableProcedureInterface) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span>      TableProcedureInterface iProcTable = (TableProcedureInterface)proc;<a name="line.208"></a>
-<span class="sourceLineNo">209</span>      boolean tableDeleted;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      if (proc.hasException()) {<a name="line.210"></a>
-<span class="sourceLineNo">211</span>        IOException procEx =  proc.getException().unwrapRemoteException();<a name="line.211"></a>
-<span class="sourceLineNo">212</span>        if (iProcTable.getTableOperationType() == TableOperationType.CREATE) {<a name="line.212"></a>
-<span class="sourceLineNo">213</span>          // create failed because the table already exist<a name="line.213"></a>
-<span class="sourceLineNo">214</span>          tableDeleted = !(procEx instanceof TableExistsException);<a name="line.214"></a>
-<span class="sourceLineNo">215</span>        } else {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>          // the operation failed because the table does not exist<a name="line.216"></a>
-<span class="sourceLineNo">217</span>          tableDeleted = (procEx instanceof TableNotFoundException);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>        }<a name="line.218"></a>
-<span class="sourceLineNo">219</span>      } else {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>        // the table was deleted<a name="line.220"></a>
-<span class="sourceLineNo">221</span>        tableDeleted = (iProcTable.getTableOperationType() == TableOperationType.DELETE);<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      }<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      if (tableDeleted) {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>        markTableAsDeleted(iProcTable.getTableName());<a name="line.224"></a>
-<span class="sourceLineNo">225</span>      }<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    }<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    // No cleanup for ServerProcedureInterface types, yet.<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>  private RunQueue getRunQueueOrCreate(final Procedure proc) {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    if (proc instanceof TableProcedureInterface) {<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      final TableName table = ((TableProcedureInterface)proc).getTableName();<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      return getRunQueueOrCreate(table);<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    if (proc instanceof ServerProcedureInterface) {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      return getRunQueueOrCreate((ServerProcedureInterface)proc);<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    }<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    // TODO: at the moment we only have Table and Server procedures<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    // if you are implementing a non-table/non-server procedure, you have two options: create<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    // a group for all the non-table/non-server procedures or try to find a key for your<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    // non-table/non-server procedures and implement something similar to the TableRunQueue.<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    throw new UnsupportedOperationException("RQs for non-table procedures are not implemented yet");<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  }<a name="line.243"></a>
-<span class="sourceLineNo">244</span><a name="line.244"></a>
-<span class="sourceLineNo">245</span>  private TableRunQueue getRunQueueOrCreate(final TableName table) {<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    final TableRunQueue queue = getRunQueue(table);<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    if (queue != null) return queue;<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    return (TableRunQueue)tableFairQ.add(table, createTableRunQueue(table));<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>  private ServerRunQueue getRunQueueOrCreate(final ServerProcedureInterface spi) {<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    final ServerRunQueue queue = getRunQueue(spi.getServerName());<a name="line.252"></a>
-<span class="sourceLineNo">253</span>    if (queue != null) return queue;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    return (ServerRunQueue)serverFairQ.add(spi.getServerName(), createServerRunQueue(spi));<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>  private TableRunQueue createTableRunQueue(final TableName table) {<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    int priority = userTablePriority;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    if (table.equals(TableName.META_TABLE_NAME)) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      priority = metaTablePriority;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>    } else if (table.isSystemTable()) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      priority = sysTablePriority;<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    }<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    return new TableRunQueue(priority);<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>  private ServerRunQueue createServerRunQueue(final ServerProcedureInterface spi) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    return new ServerRunQueue(DEFAULT_SERVER_PRIORITY);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>  }<a name="line.269"></a>
-<span class="sourceLineNo">270</span><a name="line.270"></a>
-<span class="sourceLineNo">271</span>  private TableRunQueue getRunQueue(final TableName table) {<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    return (TableRunQueue)tableFairQ.get(table);<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  }<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  private ServerRunQueue getRunQueue(final ServerName sn) {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    return (ServerRunQueue)serverFairQ.get(sn);<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  }<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>  /**<a name="line.279"></a>
-<span class="sourceLineNo">280</span>   * Try to acquire the write lock on the specified table.<a name="line.280"></a>
-<span class="sourceLineNo">281</span>   * other operations in the table-queue will be executed after the lock is released.<a name="line.281"></a>
-<span class="sourceLineNo">282</span>   * @param table Table to lock<a name="line.282"></a>
-<span class="sourceLineNo">283</span>   * @param purpose Human readable reason for locking the table<a name="line.283"></a>
-<span class="sourceLineNo">284</span>   * @return true if we were able to acquire the lock on the table, otherwise false.<a name="line.284"></a>
-<span class="sourceLineNo">285</span>   */<a name="line.285"></a>
-<span class="sourceLineNo">286</span>  public boolean tryAcquireTableExclusiveLock(final TableName table, final String purpose) {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    return getRunQueueOrCreate(table).tryExclusiveLock(lockManager, table, purpose);<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>   * Release the write lock taken with tryAcquireTableWrite()<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   * @param table the name of the table that has the write lock<a name="line.292"></a>
-<span class="sourceLineNo">293</span>   */<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  public void releaseTableExclusiveLock(final TableName table) {<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    getRunQueue(table).releaseExclusiveLock(lockManager, table);<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>   * Try to acquire the read lock on the specified table.<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * other read operations in the table-queue may be executed concurrently,<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   * otherwise they have to wait until all the read-locks are released.<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   * @param table Table to lock<a name="line.302"></a>
-<span class="sourceLineNo">303</span>   * @param purpose Human readable reason for locking the table<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   * @return true if we were able to acquire the lock on the table, otherwise false.<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   */<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  public boolean tryAcquireTableSharedLock(final TableName table, final String purpose) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    return getRunQueueOrCreate(table).trySharedLock(lockManager, table, purpose);<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  }<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>  /**<a name="line.310"></a>
-<span class="sourceLineNo">311</span>   * Release the read lock taken with tryAcquireTableRead()<a name="line.311"></a>
-<span class="sourceLineNo">312</span>   * @param table the name of the table that has the read lock<a name="line.312"></a>
-<span class="sourceLineNo">313</span>   */<a name="line.313"></a>
-<span class="sourceLineNo">314</span>  public void releaseTableSharedLock(final TableName table) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    getRunQueue(table).releaseSharedLock(lockManager, table);<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  }<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>  /**<a name="line.318"></a>
-<span class="sourceLineNo">319</span>   * Try to acquire the write lock on the specified server.<a name="line.319"></a>
-<span class="sourceLineNo">320</span>   * @see #releaseServerExclusiveLock(ServerProcedureInterface)<a name="line.320"></a>
-<span class="sourceLineNo">321</span>   * @param spi Server to lock<a name="line.321"></a>
-<span class="sourceLineNo">322</span>   * @return true if we were able to acquire the lock on the server, otherwise false.<a name="line.322"></a>
-<span class="sourceLineNo">323</span>   */<a name="line.323"></a>
-<span class="sourceLineNo">324</span>  public boolean tryAcquireServerExclusiveLock(final ServerProcedureInterface spi) {<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    return getRunQueueOrCreate(spi).tryExclusiveLock();<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>   * Release the write lock<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * @see #tryAcquireServerExclusiveLock(ServerProcedureInterface)<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   * @param spi the server that has the write lock<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   */<a name="line.332"></a>
-<span class="sourceLineNo">333</span>  public void releaseServerExclusiveLock(final ServerProcedureInterface spi) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    getRunQueue(spi.getServerName()).releaseExclusiveLock();<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>   * Try to acquire the read lock on the specified server.<a name="line.338"></a>
-<span class="sourceLineNo">339</span>   * @see #releaseServerSharedLock(ServerProcedureInterface)<a name="line.339"></a>
-<span class="sourceLineNo">340</span>   * @param spi Server to lock<a name="line.340"></a>
-<span class="sourceLineNo">341</span>   * @return true if we were able to acquire the lock on the server, otherwise false.<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   */<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  public boolean tryAcquireServerSharedLock(final ServerProcedureInterface spi) {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    return getRunQueueOrCreate(spi).trySharedLock();<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>   * Release the read lock taken<a name="line.348"></a>
-<span class="sourceLineNo">349</span>   * @see #tryAcquireServerSharedLock(ServerProcedureInterface)<a name="line.349"></a>
-<span class="sourceLineNo">350</span>   * @param spi the server that has the read lock<a name="line.350"></a>
-<span class="sourceLineNo">351</span>   */<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  public void releaseServerSharedLock(final ServerProcedureInterface spi) {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    getRunQueue(spi.getServerName()).releaseSharedLock();<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>   * Tries to remove the queue and the table-lock of the specified table.<a name="line.357"></a>
-<span class="sourceLineNo">358</span>   * If there are new operations pending (e.g. a new create),<a name="line.358"></a>
-<span class="sourceLineNo">359</span>   * the remove will not be performed.<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * @param table the name of the table that should be marked as deleted<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   * @return true if deletion succeeded, false otherwise meaning that there are<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   *    other new operations pending for that table (e.g. a new create).<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   */<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  protected boolean markTableAsDeleted(final TableName table) {<a name="line.364"></a>
-<span class="sourceLineNo">365</span>    TableRunQueue queue = getRunQueue(table);<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    if (queue != null) {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      lock.lock();<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      try {<a name="line.368"></a>
-<span class="sourceLineNo">369</span>        if (queue.isEmpty() &amp;&amp; queue.acquireDeleteLock()) {<a name="line.369"></a>
-<span class="sourceLineNo">370</span>          tableFairQ.remove(table);<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span>          // Remove the table lock<a name="line.372"></a>
-<span class="sourceLineNo">373</span>          try {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>            lockManager.tableDeleted(table);<a name="line.374"></a>
-<span class="sourceLineNo">375</span>          } catch (IOException e) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>            LOG.warn("Received exception from TableLockManager.tableDeleted:", e); //not critical<a name="line.376"></a>
-<span class="sourceLineNo">377</span>          }<a name="line.377"></a>
-<span class="sourceLineNo">378</span>        } else {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>          // TODO: If there are no create, we can drop all the other ops<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          return false;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>        }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      } finally {<a name="line.382"></a>
-<span class="sourceLineNo">383</span>        lock.unlock();<a name="line.383"></a>
-<span class="sourceLineNo">384</span>      }<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    }<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    return true;<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>  private interface RunQueue extends ProcedureFairRunQueues.FairObject {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    void addFront(Procedure proc);<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    void addBack(Procedure proc);<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    Long poll();<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    boolean acquireDeleteLock();<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>   * Base abstract class for RunQueue implementations.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   * Be careful honoring synchronizations in subclasses. In here we protect access but if you are<a name="line.398"></a>
-<span class="sourceLineNo">399</span>   * acting on a state found in here, be sure dependent code keeps synchronization.<a name="line.399"></a>
-<span class="sourceLineNo">400</span>   * Implements basic in-memory read/write locking mechanism to prevent procedure steps being run<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   * in parallel.<a name="line.401"></a>
-<span class="sourceLineNo">402</span>   */<a name="line.402"></a>
-<span class="sourceLineNo">403</span>  private static abstract class AbstractRunQueue implements RunQueue {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    // All modification of runnables happens with #lock held.<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    private final Deque&lt;Long&gt; runnables = new ArrayDeque&lt;Long&gt;();<a name="line.405"></a>
-<span class="sourceLineNo">406</span>    private final int priority;<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    private boolean exclusiveLock = false;<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    private int sharedLock = 0;<a name="line.408"></a>
-<span class="sourceLineNo">409</span><a name="line.409"></a>
-<span class="sourceLineNo">410</span>    public AbstractRunQueue(int priority) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      this.priority = priority;<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>    boolean isEmpty() {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      return this.runnables.isEmpty();<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    }<a name="line.416"></a>
-<span class="sourceLineNo">417</span><a name="line.417"></a>
-<span class="sourceLineNo">418</span>    @Override<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    public boolean isAvailable() {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      synchronized (this) {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>        return !exclusiveLock &amp;&amp; !runnables.isEmpty();<a name="line.421"></a>
-<span class="sourceLineNo">422</span>      }<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    }<a name="line.423"></a>
-<span class="sourceLineNo">424</span><a name="line.424"></a>
-<span class="sourceLineNo">425</span>    @Override<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    public int getPriority() {<a name="line.426"></a>
-<span class="sourceLineNo">427</span>      return this.priority;<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>    @Override<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    public void addFront(Procedure proc) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>      this.runnables.addFirst(proc.getProcId());<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>    @Override<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    public void addBack(Procedure proc) {<a name="line.436"></a>
-<span class="sourceLineNo">437</span>      this.runnables.addLast(proc.getProcId());<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>    @Override<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    public Long poll() {<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      return this.runnables.poll();<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>    @Override<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    public synchronized boolean acquireDeleteLock() {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>      return tryExclusiveLock();<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 synchronized boolean isLocked() {<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      return isExclusiveLock() || sharedLock &gt; 0;<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 synchronized boolean isExclusiveLock() {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      return this.exclusiveLock;<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 synchronized boolean trySharedLock() {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>      if (isExclusiveLock()) return false;<a name="line.459"></a>
-<span class="sourceLineNo">460</span>      sharedLock++;<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      return true;<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    }<a name="line.462"></a>
-<span class="sourceLineNo">463</span><a name="line.463"></a>
-<span class="sourceLineNo">464</span>    public synchronized void releaseSharedLock() {<a name="line.464"></a>
-<span class="sourceLineNo">465</span>      sharedLock--;<a name="line.465"></a>
-<span class="sourceLineNo">466</span>    }<a name="line.466"></a>
-<span class="sourceLineNo">467</span><a name="line.467"></a>
-<span class="sourceLineNo">468</span>    /**<a name="line.468"></a>
-<span class="sourceLineNo">469</span>     * @return True if only one instance of a shared lock outstanding.<a name="line.469"></a>
-<span class="sourceLineNo">470</span>     */<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    synchronized boolean isSingleSharedLock() {<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      return sharedLock == 1;<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    }<a name="line.473"></a>
-<span class="sourceLineNo">474</span><a name="line.474"></a>
-<span class="sourceLineNo">475</span>    public synchronized boolean tryExclusiveLock() {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      if (isLocked()) return false;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      exclusiveLock = true;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      return true;<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 synchronized void releaseExclusiveLock() {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>      exclusiveLock = false;<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    }<a name="line.483"></a>
-<span class="sourceLineNo">484</span><a name="line.484"></a>
-<span class="sourceLineNo">485</span>    @Override<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    public String toString() {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      return this.runnables.toString();<a name="line.487"></a>
-<span class="sourceLineNo">488</span>    }<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  }<a name="line.489"></a>
-<span class="sourceLineNo">490</span><a name="line.490"></a>
-<span class="sourceLineNo">491</span>  /**<a name="line.491"></a>
-<span class="sourceLineNo">492</span>   * Run Queue for Server procedures.<a name="line.492"></a>
-<span class="sourceLineNo">493</span>   */<a name="line.493"></a>
-<span class="sourceLineNo">494</span>  private static class ServerRunQueue extends AbstractRunQueue {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    public ServerRunQueue(int priority) {<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      super(priority);<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><a name="line.499"></a>
-<span class="sourceLineNo">500</span>  /**<a name="line.500"></a>
-<span class="sourceLineNo">501</span>   * Run Queue for a Table. It contains a read-write lock that is used by the<a name="line.501"></a>
-<span class="sourceLineNo">502</span>   * MasterProcedureQueue to decide if we should fetch an item from this queue<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * or skip to another one which will be able to run without waiting for locks.<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   */<a name="line.504"></a>
-<span class="sourceLineNo">505</span>  private static class TableRunQueue extends AbstractRunQueue {<a name="line.505"></a>
-<span class="sourceLineNo">506</span>    private TableLock tableLock = null;<a name="line.506"></a>
-<span class="sourceLineNo">507</span><a name="line.507"></a>
-<span class="sourceLineNo">508</span>    public TableRunQueue(int priority) {<a name="line.508"></a>
-<span class="sourceLineNo">509</span>      super(priority);<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    }<a name="line.510"></a>
-<span class="sourceLineNo">511</span><a name="line.511"></a>
-<span class="sourceLineNo">512</span>    // TODO: Improve run-queue push with TableProcedureInterface.getType()<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    //       we can take smart decisions based on the type of the operation (e.g. create/delete)<a name="line.513"></a>
-<span class="sourceLineNo">514</span>    @Override<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    public void addBack(final Procedure proc) {<a name="line.515"></a>
-<span class="sourceLineNo">516</span>      super.addBack(proc);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    }<a name="line.517"></a>
-<span class="sourceLineNo">518</span><a name="line.518"></a>
-<span class="sourceLineNo">519</span>    public synchronized boolean trySharedLock(final TableLockManager lockManager,<a name="line.519"></a>
-<span class="sourceLineNo">520</span>        final TableName tableName, final String purpose) {<a name="line.520"></a>
-<span class="sourceLineNo">521</span>      if (isExclusiveLock()) return false;<a name="line.521"></a>
-<span class="sourceLineNo">522</span><a name="line.522"></a>
-<span class="sourceLineNo">523</span>      // Take zk-read-lock<a name="line.523"></a>
-<span class="sourceLineNo">524</span>      tableLock = lockManager.readLock(tableName, purpose);<a name="line.524"></a>
-<span class="sourceLineNo">525</span>      try {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>        tableLock.acquire();<a name="line.526"></a>
-<span class="sourceLineNo">527</span>      } catch (IOException e) {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>        LOG.error("failed acquire read lock on " + tableName, e);<a name="line.528"></a>
-<span class="sourceLineNo">529</span>        tableLock = null;<a name="line.529"></a>
-<span class="sourceLineNo">530</span>        return false;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>      }<a name="line.531"></a>
-<span class="sourceLineNo">532</span>      trySharedLock();<a name="line.532"></a>
-<span class="sourceLineNo">533</span>      return true;<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 synchronized void releaseSharedLock(final TableLockManager lockManager,<a name="line.536"></a>
-<span class="sourceLineNo">537</span>        final TableName tableName) {<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      releaseTableLock(lockManager, isSingleSharedLock());<a name="line.538"></a>
-<span class="sourceLineNo">539</span>      releaseSharedLock();<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>    public synchronized boolean tryExclusiveLock(final TableLockManager lockManager,<a name="line.542"></a>
-<span class="sourceLineNo">543</span>        final TableName tableName, final String purpose) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      if (isLocked()) return false;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      // Take zk-write-lock<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      tableLock = lockManager.writeLock(tableName, purpose);<a name="line.546"></a>
-<span class="sourceLineNo">547</span>      try {<a name="line.547"></a>
-<span class="sourceLineNo">548</span>        tableLock.acquire();<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      } catch (IOException e) {<a name="line.549"></a>
-<span class="sourceLineNo">550</span>        LOG.error("failed acquire write lock on " + tableName, e);<a name="line.550"></a>
-<span class="sourceLineNo">551</span>        tableLock = null;<a name="line.551"></a>
-<span class="sourceLineNo">552</span>        return false;<a name="line.552"></a>
-<span class="sourceLineNo">553</span>      }<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      tryExclusiveLock();<a name="line.554"></a>
-<span class="sourceLineNo">555</span>      return true;<a name="line.555"></a>
-<span class="sourceLineNo">556</span>    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span><a name="line.557"></a>
-<span class="sourceLineNo">558</span>    public synchronized void releaseExclusiveLock(final TableLockManager lockManager,<a name="line.558"></a>
-<span class="sourceLineNo">559</span>        final TableName tableName) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      releaseTableLock(lockManager, true);<a name="line.560"></a>
-<span class="sourceLineNo">561</span>      releaseExclusiveLock();<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>    private void releaseTableLock(final TableLockManager lockManager, boolean reset) {<a name="line.564"></a>
-<span class="sourceLineNo">565</span>      for (int i = 0; i &lt; 3; ++i) {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>        try {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>          tableLock.release();<a name="line.567"></a>
-<span class="sourceLineNo">568</span>          if (reset) {<a name="line.568"></a>
-<span class="sourceLineNo">569</span>            tableLock = null;<a name="line.569"></a>
-<span class="sourceLineNo">570</span>          }<a name="line.570"></a>
-<span class="sourceLineNo">571</span>          break;<a name="line.571"></a>
-<span class="sourceLineNo">572</span>        } catch (IOException e) {<a name="line.572"></a>
-<span class="sourceLineNo">573</span>          LOG.warn("Could not release the table write-lock", e);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>        }<a name="line.574"></a>
-<span class="sourceLineNo">575</span>      }<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    }<a name="line.576"></a>
-<span class="sourceLineNo">577</span>  }<a name="line.577"></a>
-<span class="sourceLineNo">578</span>}<a name="line.578"></a>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</pre>
-</div>
-</body>
-</html>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html
index 8c6cbb3..fc25537 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html
@@ -208,169 +208,171 @@
 <span class="sourceLineNo">200</span>      // Namespace manager might not be ready if master is not fully initialized,<a name="line.200"></a>
 <span class="sourceLineNo">201</span>      // return false to reject user namespace creation; return true for default<a name="line.201"></a>
 <span class="sourceLineNo">202</span>      // and system namespace creation (this is part of master initialization).<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      if (nsDescriptor.equals(NamespaceDescriptor.DEFAULT_NAMESPACE) ||<a name="line.203"></a>
-<span class="sourceLineNo">204</span>        nsDescriptor.equals(NamespaceDescriptor.SYSTEM_NAMESPACE)) {<a name="line.204"></a>
-<span class="sourceLineNo">205</span>        return true;<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>      return false;<a name="line.208"></a>
+<span class="sourceLineNo">203</span>      boolean isBootstrapNs = nsDescriptor.equals(NamespaceDescriptor.DEFAULT_NAMESPACE) ||<a name="line.203"></a>
+<span class="sourceLineNo">204</span>        nsDescriptor.equals(NamespaceDescriptor.SYSTEM_NAMESPACE);<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>      if (!isBootstrapNs &amp;&amp; env.waitInitialized(this)) {<a name="line.206"></a>
+<span class="sourceLineNo">207</span>        return false;<a name="line.207"></a>
+<span class="sourceLineNo">208</span>      }<a name="line.208"></a>
 <span class="sourceLineNo">209</span>    }<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    return getTableNamespaceManager(env).acquireExclusiveLock();<a name="line.210"></a>
+<span class="sourceLineNo">210</span>    return env.getProcedureQueue().tryAcquireNamespaceExclusiveLock(getNamespaceName());<a name="line.210"></a>
 <span class="sourceLineNo">211</span>  }<a name="line.211"></a>
 <span class="sourceLineNo">212</span><a name="line.212"></a>
 <span class="sourceLineNo">213</span>  @Override<a name="line.213"></a>
 <span class="sourceLineNo">214</span>  protected void releaseLock(final MasterProcedureEnv env) {<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    if (env.getMasterServices().isInitialized()) {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>      getTableNamespaceManager(env).releaseExclusiveLock();<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    }<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  }<a name="line.218"></a>
-<span class="sourceLineNo">219</span><a name="line.219"></a>
-<span class="sourceLineNo">220</span>  @Override<a name="line.220"></a>
-<span class="sourceLineNo">221</span>  public TableName getTableName() {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    return TableName.NAMESPACE_TABLE_NAME;<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  }<a name="line.223"></a>
-<span class="sourceLineNo">224</span><a name="line.224"></a>
-<span class="sourceLineNo">225</span>  @Override<a name="line.225"></a>
-<span class="sourceLineNo">226</span>  public TableOperationType getTableOperationType() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    return TableOperationType.EDIT;<a name="line.227"></a>
-<span class="sourceLineNo">228</span>  }<a name="line.228"></a>
-<span class="sourceLineNo">229</span><a name="line.229"></a>
-<span class="sourceLineNo">230</span>  /**<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   * Action before any real action of creating namespace.<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   * @param env MasterProcedureEnv<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   * @throws IOException<a name="line.233"></a>
-<span class="sourceLineNo">234</span>   */<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  private void prepareCreate(final MasterProcedureEnv env) throws IOException {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    if (getTableNamespaceManager(env).doesNamespaceExist(nsDescriptor.getName())) {<a name="line.236"></a>
-<span class="sourceLineNo">237</span>      throw new NamespaceExistException(nsDescriptor.getName());<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    }<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    getTableNamespaceManager(env).validateTableAndRegionCount(nsDescriptor);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  /**<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   * Create the namespace directory<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   * @param env MasterProcedureEnv<a name="line.244"></a>
-<span class="sourceLineNo">245</span>   * @param nsDescriptor NamespaceDescriptor<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   * @throws IOException<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   */<a name="line.247"></a>
-<span class="sourceLineNo">248</span>  protected static void createDirectory(<a name="line.248"></a>
-<span class="sourceLineNo">249</span>      final MasterProcedureEnv env,<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      final NamespaceDescriptor nsDescriptor) throws IOException {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    MasterFileSystem mfs = env.getMasterServices().getMasterFileSystem();<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    mfs.getFileSystem().mkdirs(<a name="line.252"></a>
-<span class="sourceLineNo">253</span>      FSUtils.getNamespaceDir(mfs.getRootDir(), nsDescriptor.getName()));<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  }<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>  /**<a name="line.256"></a>
-<span class="sourceLineNo">257</span>   * undo create directory<a name="line.257"></a>
-<span class="sourceLineNo">258</span>   * @param env MasterProcedureEnv<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   * @throws IOException<a name="line.259"></a>
-<span class="sourceLineNo">260</span>   */<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  private void rollbackCreateDirectory(final MasterProcedureEnv env) throws IOException {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    try {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      DeleteNamespaceProcedure.deleteDirectory(env, nsDescriptor.getName());<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    } catch (Exception e) {<a name="line.264"></a>
-<span class="sourceLineNo">265</span>      // Ignore exception<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      LOG.debug("Rollback of createDirectory throws exception: " + e);<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    }<a name="line.267"></a>
-<span class="sourceLineNo">268</span>  }<a name="line.268"></a>
-<span class="sourceLineNo">269</span><a name="line.269"></a>
-<span class="sourceLineNo">270</span>  /**<a name="line.270"></a>
-<span class="sourceLineNo">271</span>   * Insert the row into ns table<a name="line.271"></a>
-<span class="sourceLineNo">272</span>   * @param env MasterProcedureEnv<a name="line.272"></a>
-<span class="sourceLineNo">273</span>   * @param nsDescriptor NamespaceDescriptor<a name="line.273"></a>
-<span class="sourceLineNo">274</span>   * @throws IOException<a name="line.274"></a>
-<span class="sourceLineNo">275</span>   */<a name="line.275"></a>
-<span class="sourceLineNo">276</span>  protected static void insertIntoNSTable(<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      final MasterProcedureEnv env,<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      final NamespaceDescriptor nsDescriptor) throws IOException {<a name="line.278"></a>
-<span class="sourceLineNo">279</span>    getTableNamespaceManager(env).insertIntoNSTable(nsDescriptor);<a name="line.279"></a>
-<span class="sourceLineNo">280</span>  }<a name="line.280"></a>
-<span class="sourceLineNo">281</span><a name="line.281"></a>
-<span class="sourceLineNo">282</span>  /**<a name="line.282"></a>
-<span class="sourceLineNo">283</span>   * Undo the insert.<a name="line.283"></a>
-<span class="sourceLineNo">284</span>   * @param env MasterProcedureEnv<a name="line.284"></a>
-<span class="sourceLineNo">285</span>   * @throws IOException<a name="line.285"></a>
-<span class="sourceLineNo">286</span>   */<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  private void rollbackInsertIntoNSTable(final MasterProcedureEnv env) throws IOException {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    try {<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      DeleteNamespaceProcedure.deleteFromNSTable(env, nsDescriptor.getName());<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    } catch (Exception e) {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>      // Ignore exception<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      LOG.debug("Rollback of insertIntoNSTable throws exception: " + e);<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>   * Update Zookeeper.<a name="line.297"></a>
-<span class="sourceLineNo">298</span>   * @param env MasterProcedureEnv<a name="line.298"></a>
-<span class="sourceLineNo">299</span>   * @param nsDescriptor NamespaceDescriptor<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * @throws IOException<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   */<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  protected static void updateZKNamespaceManager(<a name="line.302"></a>
-<span class="sourceLineNo">303</span>      final MasterProcedureEnv env,<a name="line.303"></a>
-<span class="sourceLineNo">304</span>      final NamespaceDescriptor nsDescriptor) throws IOException {<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    getTableNamespaceManager(env).updateZKNamespaceManager(nsDescriptor);<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  }<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span>  /**<a name="line.308"></a>
-<span class="sourceLineNo">309</span>   * rollback Zookeeper update.<a name="line.309"></a>
-<span class="sourceLineNo">310</span>   * @param env MasterProcedureEnv<a name="line.310"></a>
-<span class="sourceLineNo">311</span>   * @throws IOException<a name="line.311"></a>
-<span class="sourceLineNo">312</span>   */<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  private void rollbackZKNamespaceManagerChange(final MasterProcedureEnv env) throws IOException {<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    try {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      DeleteNamespaceProcedure.removeFromZKNamespaceManager(env, nsDescriptor.getName());<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    } catch (Exception e) {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>      // Ignore exception<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      LOG.debug("Rollback of updateZKNamespaceManager throws exception: " + 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><a name="line.321"></a>
-<span class="sourceLineNo">322</span>  /**<a name="line.322"></a>
-<span class="sourceLineNo">323</span>   * Set quota for the namespace<a name="line.323"></a>
-<span class="sourceLineNo">324</span>   * @param env MasterProcedureEnv<a name="line.324"></a>
-<span class="sourceLineNo">325</span>   * @param nsDescriptor NamespaceDescriptor<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   * @throws IOException<a name="line.326"></a>
-<span class="sourceLineNo">327</span>   **/<a name="line.327"></a>
-<span class="sourceLineNo">328</span>  protected static void setNamespaceQuota(<a name="line.328"></a>
-<span class="sourceLineNo">329</span>      final MasterProcedureEnv env,<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      final NamespaceDescriptor nsDescriptor) throws IOException {<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    if (env.getMasterServices().isInitialized()) {<a name="line.331"></a>
-<span class="sourceLineNo">332</span>      env.getMasterServices().getMasterQuotaManager().setNamespaceQuota(nsDescriptor);<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>   * remove quota for the namespace if exists<a name="line.337"></a>
-<span class="sourceLineNo">338</span>   * @param env MasterProcedureEnv<a name="line.338"></a>
-<span class="sourceLineNo">339</span>   * @throws IOException<a name="line.339"></a>
-<span class="sourceLineNo">340</span>   **/<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  private void rollbackSetNamespaceQuota(final MasterProcedureEnv env) throws IOException {<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    try {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      DeleteNamespaceProcedure.removeNamespaceQuota(env, nsDescriptor.getName());<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    } catch (Exception e) {<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      // Ignore exception<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      LOG.debug("Rollback of setNamespaceQuota throws exception: " + e);<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><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  private static TableNamespaceManager getTableNamespaceManager(final MasterProcedureEnv env) {<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    return env.getMasterServices().getClusterSchema().getTableNamespaceManager();<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">355</span>   * The procedure could be restarted from a different machine. If the variable is null, we need to<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   * retrieve it.<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   * @return traceEnabled<a name="line.357"></a>
-<span class="sourceLineNo">358</span>   */<a name="line.358"></a>
-<span class="sourceLineNo">359</span>  private Boolean isTraceEnabled() {<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    if (traceEnabled == null) {<a name="line.360"></a>
-<span class="sourceLineNo">361</span>      traceEnabled = LOG.isTraceEnabled();<a name="line.361"></a>
-<span class="sourceLineNo">362</span>    }<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    return traceEnabled;<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">215</span>    env.getProcedureQueue().releaseNamespaceExclusiveLock(getNamespaceName());<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>  @Override<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  public TableName getTableName() {<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    return TableName.NAMESPACE_TABLE_NAME;<a name="line.220"></a>
+<span class="sourceLineNo">221</span>  }<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>  @Override<a name="line.223"></a>
+<span class="sourceLineNo">224</span>  public TableOperationType getTableOperationType() {<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    return TableOperationType.EDIT;<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>  private String getNamespaceName() {<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    return nsDescriptor.getName();<a name="line.229"></a>
+<span class="sourceLineNo">230</span>  }<a name="line.230"></a>
+<span class="sourceLineNo">231</span><a name="line.231"></a>
+<span class="sourceLineNo">232</span>  /**<a name="line.232"></a>
+<span class="sourceLineNo">233</span>   * Action before any real action of creating namespace.<a name="line.233"></a>
+<span class="sourceLineNo">234</span>   * @param env MasterProcedureEnv<a name="line.234"></a>
+<span class="sourceLineNo">235</span>   * @throws IOException<a name="line.235"></a>
+<span class="sourceLineNo">236</span>   */<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  private void prepareCreate(final MasterProcedureEnv env) throws IOException {<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    if (getTableNamespaceManager(env).doesNamespaceExist(nsDescriptor.getName())) {<a name="line.238"></a>
+<span class="sourceLineNo">239</span>      throw new NamespaceExistException(nsDescriptor.getName());<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    }<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    getTableNamespaceManager(env).validateTableAndRegionCount(nsDescriptor);<a name="line.241"></a>
+<span class="sourceLineNo">242</span>  }<a name="line.242"></a>
+<span class="sourceLineNo">243</span><a name="line.243"></a>
+<span class="sourceLineNo">244</span>  /**<a name="line.244"></a>
+<span class="sourceLineNo">245</span>   * Create the namespace directory<a name="line.245"></a>
+<span class="sourceLineNo">246</span>   * @param env MasterProcedureEnv<a name="line.246"></a>
+<span class="sourceLineNo">247</span>   * @param nsDescriptor NamespaceDescriptor<a name="line.247"></a>
+<span class="sourceLineNo">248</span>   * @throws IOException<a name="line.248"></a>
+<span class="sourceLineNo">249</span>   */<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  protected static void createDirectory(<a name="line.250"></a>
+<span class="sourceLineNo">251</span>      final MasterProcedureEnv env,<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      final NamespaceDescriptor nsDescriptor) throws IOException {<a name="line.252"></a>
+<span class="sourceLineNo">253</span>    MasterFileSystem mfs = env.getMasterServices().getMasterFileSystem();<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    mfs.getFileSystem().mkdirs(<a name="line.254"></a>
+<span class="sourceLineNo">255</span>      FSUtils.getNamespaceDir(mfs.getRootDir(), nsDescriptor.getName()));<a name="line.255"></a>
+<span class="sourceLineNo">256</span>  }<a name="line.256"></a>
+<span class="sourceLineNo">257</span><a name="line.257"></a>
+<span class="sourceLineNo">258</span>  /**<a name="line.258"></a>
+<span class="sourceLineNo">259</span>   * undo create directory<a name="line.259"></a>
+<span class="sourceLineNo">260</span>   * @param env MasterProcedureEnv<a name="line.260"></a>
+<span class="sourceLineNo">261</span>   * @throws IOException<a name="line.261"></a>
+<span class="sourceLineNo">262</span>   */<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  private void rollbackCreateDirectory(final MasterProcedureEnv env) throws IOException {<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    try {<a name="line.264"></a>
+<span class="sourceLineNo">265</span>      DeleteNamespaceProcedure.deleteDirectory(env, nsDescriptor.getName());<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    } catch (Exception e) {<a name="line.266"></a>
+<span class="sourceLineNo">267</span>      // Ignore exception<a name="line.267"></a>
+<span class="sourceLineNo">268</span>      LOG.debug("Rollback of createDirectory throws exception: " + e);<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    }<a name="line.269"></a>
+<span class="sourceLineNo">270</span>  }<a name="line.270"></a>
+<span class="sourceLineNo">271</span><a name="line.271"></a>
+<span class="sourceLineNo">272</span>  /**<a name="line.272"></a>
+<span class="sourceLineNo">273</span>   * Insert the row into ns table<a name="line.273"></a>
+<span class="sourceLineNo">274</span>   * @param env MasterProcedureEnv<a name="line.274"></a>
+<span class="sourceLineNo">275</span>   * @param nsDescriptor NamespaceDescriptor<a name="line.275"></a>
+<span class="sourceLineNo">276</span>   * @throws IOException<a name="line.276"></a>
+<span class="sourceLineNo">277</span>   */<a name="line.277"></a>
+<span class="sourceLineNo">278</span>  protected static void insertIntoNSTable(<a name="line.278"></a>
+<span class="sourceLineNo">279</span>      final MasterProcedureEnv env,<a name="line.279"></a>
+<span class="sourceLineNo">280</span>      final NamespaceDescriptor nsDescriptor) throws IOException {<a name="line.280"></a>
+<span class="sourceLineNo">281</span>    getTableNamespaceManager(env).insertIntoNSTable(nsDescriptor);<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>   * Undo the insert.<a name="line.285"></a>
+<span class="sourceLineNo">286</span>   * @param env MasterProcedureEnv<a name="line.286"></a>
+<span class="sourceLineNo">287</span>   * @throws IOException<a name="line.287"></a>
+<span class="sourceLineNo">288</span>   */<a name="line.288"></a>
+<span class="sourceLineNo">289</span>  private void rollbackInsertIntoNSTable(final MasterProcedureEnv env) throws IOException {<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    try {<a name="line.290"></a>
+<span class="sourceLineNo">291</span>      DeleteNamespaceProcedure.deleteFromNSTable(env, nsDescriptor.getName());<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    } catch (Exception e) {<a name="line.292"></a>
+<span class="sourceLineNo">293</span>      // Ignore exception<a name="line.293"></a>
+<span class="sourceLineNo">294</span>      LOG.debug("Rollback of insertIntoNSTable throws exception: " + e);<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    }<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  }<a name="line.296"></a>
+<span class="sourceLineNo">297</span><a name="line.297"></a>
+<span class="sourceLineNo">298</span>  /**<a name="line.298"></a>
+<span class="sourceLineNo">299</span>   * Update Zookeeper.<a name="line.299"></a>
+<span class="sourceLineNo">300</span>   * @param env MasterProcedureEnv<a name="line.300"></a>
+<span class="sourceLineNo">301</span>   * @param nsDescriptor NamespaceDescriptor<a name="line.301"></a>
+<span class="sourceLineNo">302</span>   * @throws IOException<a name="line.302"></a>
+<span class="sourceLineNo">303</span>   */<a name="line.303"></a>
+<span class="sourceLineNo">304</span>  protected static void updateZKNamespaceManager(<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      final MasterProcedureEnv env,<a name="line.305"></a>
+<span class="sourceLineNo">306</span>      final NamespaceDescriptor nsDescriptor) throws IOException {<a name="line.306"></a>
+<span class="sourceLineNo">307</span>    getTableNamespaceManager(env).updateZKNamespaceManager(nsDescriptor);<a name="line.307"></a>
+<span class="sourceLineNo">308</span>  }<a name="line.308"></a>
+<span class="sourceLineNo">309</span><a name="line.309"></a>
+<span class="sourceLineNo">310</span>  /**<a name="line.310"></a>
+<span class="sourceLineNo">311</span>   * rollback Zookeeper update.<a name="line.311"></a>
+<span class="sourceLineNo">312</span>   * @param env MasterProcedureEnv<a name="line.312"></a>
+<span class="sourceLineNo">313</span>   * @throws IOException<a name="line.313"></a>
+<span class="sourceLineNo">314</span>   */<a name="line.314"></a>
+<span class="sourceLineNo">315</span>  private void rollbackZKNamespaceManagerChange(final MasterProcedureEnv env) throws IOException {<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    try {<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      DeleteNamespaceProcedure.removeFromZKNamespaceManager(env, nsDescriptor.getName());<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    } catch (Exception e) {<a name="line.318"></a>
+<span class="sourceLineNo">319</span>      // Ignore exception<a name="line.319"></a>
+<span class="sourceLineNo">320</span>      LOG.debug("Rollback of updateZKNamespaceManager throws exception: " + e);<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>  /**<a name="line.324"></a>
+<span class="sourceLineNo">325</span>   * Set quota for the namespace<a name="line.325"></a>
+<span class="sourceLineNo">326</span>   * @param env MasterProcedureEnv<a name="line.326"></a>
+<span class="sourceLineNo">327</span>   * @param nsDescriptor NamespaceDescriptor<a name="line.327"></a>
+<span class="sourceLineNo">328</span>   * @throws IOException<a name="line.328"></a>
+<span class="sourceLineNo">329</span>   **/<a name="line.329"></a>
+<span class="sourceLineNo">330</span>  protected static void setNamespaceQuota(<a name="line.330"></a>
+<span class="sourceLineNo">331</span>      final MasterProcedureEnv env,<a name="line.331"></a>
+<span class="sourceLineNo">332</span>      final NamespaceDescriptor nsDescriptor) throws IOException {<a name="line.332"></a>
+<span class="sourceLineNo">333</span>    if (env.getMasterServices().isInitialized()) {<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      env.getMasterServices().getMasterQuotaManager().setNamespaceQuota(nsDescriptor);<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>   * remove quota for the namespace if exists<a name="line.339"></a>
+<span class="sourceLineNo">340</span>   * @param env MasterProcedureEnv<a name="line.340"></a>
+<span class="sourceLineNo">341</span>   * @throws IOException<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   **/<a name="line.342"></a>
+<span class="sourceLineNo">343</span>  private void rollbackSetNamespaceQuota(final MasterProcedureEnv env) throws IOException {<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    try {<a name="line.344"></a>
+<span class="sourceLineNo">345</span>      DeleteNamespaceProcedure.removeNamespaceQuota(env, nsDescriptor.getName());<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    } catch (Exception e) {<a name="line.346"></a>
+<span class="sourceLineNo">347</span>      // Ignore exception<a name="line.347"></a>
+<span class="sourceLineNo">348</span>      LOG.debug("Rollback of setNamespaceQuota throws exception: " + e);<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    }<a name="line.349"></a>
+<span class="sourceLineNo">350</span>  }<a name="line.350"></a>
+<span class="sourceLineNo">351</span><a name="line.351"></a>
+<span class="sourceLineNo">352</span>  private static TableNamespaceManager getTableNamespaceManager(final MasterProcedureEnv env) {<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    return env.getMasterServices().getClusterSchema().getTableNamespaceManager();<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>   * The procedure could be restarted from a different machine. If the variable is null, we need to<a name="line.357"></a>
+<span class="sourceLineNo">358</span>   * retrieve it.<a name="line.358"></a>
+<span class="sourceLineNo">359</span>   * @return traceEnabled<a name="line.359"></a>
+<span class="sourceLineNo">360</span>   */<a name="line.360"></a>
+<span class="sourceLineNo">361</span>  private Boolean isTraceEnabled() {<a name="line.361"></a>
+<span class="sourceLineNo">362</span>    if (traceEnabled == null) {<a name="line.362"></a>
+<span class="sourceLineNo">363</span>      traceEnabled = LOG.isTraceEnabled();<a name="line.363"></a>
+<span class="sourceLineNo">364</span>    }<a name="line.364"></a>
+<span class="sourceLineNo">365</span>    return traceEnabled;<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>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/CreateTableProcedure.CreateHdfsRegions.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/CreateTableProcedure.CreateHdfsRegions.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/CreateTableProcedure.CreateHdfsRegions.html
index 2c38322..38b0a51 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/CreateTableProcedure.CreateHdfsRegions.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/CreateTableProcedure.CreateHdfsRegions.html
@@ -274,7 +274,7 @@
 <span class="sourceLineNo">266</span><a name="line.266"></a>
 <span class="sourceLineNo">267</span>  @Override<a name="line.267"></a>
 <span class="sourceLineNo">268</span>  protected boolean acquireLock(final MasterProcedureEnv env) {<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    if (!env.isInitialized() &amp;&amp; !getTableName().isSystemTable()) {<a name="line.269"></a>
+<span class="sourceLineNo">269</span>    if (!getTableName().isSystemTable() &amp;&amp; env.waitInitialized(this)) {<a name="line.269"></a>
 <span class="sourceLineNo">270</span>      return false;<a name="line.270"></a>
 <span class="sourceLineNo">271</span>    }<a name="line.271"></a>
 <span class="sourceLineNo">272</span>    return env.getProcedureQueue().tryAcquireTableExclusiveLock(getTableName(), "create table");<a name="line.272"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/CreateTableProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/CreateTableProcedure.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/CreateTableProcedure.html
index 2c38322..38b0a51 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/CreateTableProcedure.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/CreateTableProcedure.html
@@ -274,7 +274,7 @@
 <span class="sourceLineNo">266</span><a name="line.266"></a>
 <span class="sourceLineNo">267</span>  @Override<a name="line.267"></a>
 <span class="sourceLineNo">268</span>  protected boolean acquireLock(final MasterProcedureEnv env) {<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    if (!env.isInitialized() &amp;&amp; !getTableName().isSystemTable()) {<a name="line.269"></a>
+<span class="sourceLineNo">269</span>    if (!getTableName().isSystemTable() &amp;&amp; env.waitInitialized(this)) {<a name="line.269"></a>
 <span class="sourceLineNo">270</span>      return false;<a name="line.270"></a>
 <span class="sourceLineNo">271</span>    }<a name="line.271"></a>
 <span class="sourceLineNo">272</span>    return env.getProcedureQueue().tryAcquireTableExclusiveLock(getTableName(), "create table");<a name="line.272"></a>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
index 4de41cc..c56cb96 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
@@ -224,40 +224,40 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
 <pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.28">regionServer</a></pre>
 </li>
 </ul>
-<a name="filter">
+<a name="bcv">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>filter</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.29">filter</a></pre>
+<h4>bcv</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.29">bcv</a></pre>
 </li>
 </ul>
-<a name="bcv">
+<a name="bcn">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>bcv</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.30">bcv</a></pre>
+<h4>bcn</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.30">bcn</a></pre>
 </li>
 </ul>
-<a name="bcn">
+<a name="format">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>bcn</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.31">bcn</a></pre>
+<h4>format</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.31">format</a></pre>
 </li>
 </ul>
-<a name="format">
+<a name="filter">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>format</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.32">format</a></pre>
+<h4>filter</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.32">filter</a></pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/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 9af44d3..a85c38c 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
@@ -456,13 +456,13 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.UnsafeComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="strong">Bytes.LexicographicalComparerHolder.UnsafeComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util"><span class="strong">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="strong">ChecksumType</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="strong">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/PrettyPrinter.Unit.html" title="enum in org.apache.hadoop.hbase.util"><span class="strong">PrettyPrinter.Unit</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="strong">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="strong">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="strong">Bytes.LexicographicalComparerHolder.PureJavaComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.UnsafeComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="strong">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/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util"><span class="strong">HBaseFsck.ErrorReporter.ERROR_CODE</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="strong">ChecksumType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
index 1f810f3..f00a837 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
@@ -149,8 +149,8 @@
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.Version.html" title="enum in org.apache.hadoop.hbase.wal"><span class="strong">WALKey.Version</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal"><span class="strong">WALFactory.Providers</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.Strategies.html" title="enum in org.apache.hadoop.hbase.wal"><span class="strong">RegionGroupingProvider.Strategies</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal"><span class="strong">WALFactory.Providers</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/overview-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/overview-tree.html b/devapidocs/overview-tree.html
index d1aaf7d..5ab2cc7 100644
--- a/devapidocs/overview-tree.html
+++ b/devapidocs/overview-tree.html
@@ -1775,11 +1775,20 @@
 <li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureEnv</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.MasterProcedureStoreListener.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureEnv.MasterProcedureStoreListener</span></a> (implements org.apache.hadoop.hbase.procedure2.store.<a href="org/apache/hadoop/hbase/procedure2/store/ProcedureStore.ProcedureStoreListener.html" title="interface in org.apache.hadoop.hbase.procedure2.store">ProcedureStore.ProcedureStoreListener</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.WALStoreLeaseRecovery.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureEnv.WALStoreLeaseRecovery</span></a> (implements org.apache.hadoop.hbase.procedure2.store.wal.<a href="org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.LeaseRecovery.html" title="interface in org.apache.hadoop.hbase.procedure2.store.wal">WALProcedureStore.LeaseRecovery</a>)</li>
-<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureQueue</span></a> (implements org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureRunnableSet</a>)</li>
-<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureQueue.AbstractRunQueue</span></a> (implements org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a>)
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureScheduler</span></a> (implements org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureRunnableSet</a>)</li>
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.AvlTree.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureScheduler.AvlTree</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureScheduler.FairQueue</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.IterableList.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureScheduler.IterableList</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureScheduler.ProcedureEvent</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureScheduler.Queue</span></a>&lt;TKey&gt; (implements org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.QueueInterface</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureQueue.ServerRunQueue</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureQueue.TableRunQueue</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureScheduler.NamespaceQueue</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureScheduler.QueueImpl</span></a>&lt;TKey&gt;
+<ul>
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureScheduler.ServerQueue</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureScheduler.TableQueue</span></a></li>
+</ul>
+</li>
 </ul>
 </li>
 <li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureUtil.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureUtil</span></a></li>
@@ -2174,7 +2183,6 @@
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="strong">ProcedureExecutor</span></a>&lt;TEnvironment&gt;</li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/ProcedureExecutor.ProcedureTimeoutRetriever.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="strong">ProcedureExecutor.ProcedureTimeoutRetriever</span></a> (implements org.apache.hadoop.hbase.procedure2.util.<a href="org/apache/hadoop/hbase/procedure2/util/TimeoutBlockingQueue.TimeoutRetriever.html" title="interface in org.apache.hadoop.hbase.procedure2.util">TimeoutBlockingQueue.TimeoutRetriever</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/ProcedureExecutor.Testing.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="strong">ProcedureExecutor.Testing</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="strong">ProcedureFairRunQueues</span></a>&lt;TKey,TQueue&gt;</li>
 <li type="circle">org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ProcedureInfo.html" title="class in org.apache.hadoop.hbase"><span class="strong">ProcedureInfo</span></a> (implements java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.procedure.<a href="org/apache/hadoop/hbase/procedure/ProcedureManager.html" title="class in org.apache.hadoop.hbase.procedure"><span class="strong">ProcedureManager</span></a>
 <ul>
@@ -3878,6 +3886,7 @@
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/LastSequenceId.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="strong">LastSequenceId</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/LeaseListener.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="strong">LeaseListener</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.BulkHFileVisitor.html" title="interface in org.apache.hadoop.hbase.mapreduce"><span class="strong">LoadIncrementalHFiles.BulkHFileVisitor</span></a>&lt;TFamily&gt;</li>
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureScheduler.QueueInterface</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.protobuf.generated.MasterProtos.MasterService.BlockingInterface
 <ul>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/MasterKeepAliveConnection.html" title="interface in org.apache.hadoop.hbase.client"><span class="strong">MasterKeepAliveConnection</span></a></li>
@@ -3913,11 +3922,6 @@
 <li type="circle">org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/PoolMap.Pool.html" title="interface in org.apache.hadoop.hbase.util"><span class="strong">PoolMap.Pool</span></a>&lt;R&gt;</li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/PriorityFunction.html" title="interface in org.apache.hadoop.hbase.ipc"><span class="strong">PriorityFunction</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/ProcedureExecutor.ProcedureExecutorListener.html" title="interface in org.apache.hadoop.hbase.procedure2"><span class="strong">ProcedureExecutor.ProcedureExecutorListener</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2"><span class="strong">ProcedureFairRunQueues.FairObject</span></a>
-<ul>
-<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure"><span class="strong">MasterProcedureQueue.RunQueue</span></a></li>
-</ul>
-</li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2"><span class="strong">ProcedureRunnableSet</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.store.<a href="org/apache/hadoop/hbase/procedure2/store/ProcedureStore.html" title="interface in org.apache.hadoop.hbase.procedure2.store"><span class="strong">ProcedureStore</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.store.<a href="org/apache/hadoop/hbase/procedure2/store/ProcedureStore.ProcedureIterator.html" title="interface in org.apache.hadoop.hbase.procedure2.store"><span class="strong">ProcedureStore.ProcedureIterator</span></a></li>
@@ -4206,6 +4210,7 @@
 <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="strong">MasterRpcServices.BalanceSwitchMode</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="strong">TableProcedureInterface.TableOperationType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="strong">DisableTableProcedure.MarkRegionOfflineOpResult</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="strong">ServerProcedureInterface.ServerOperationType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.balancer.<a href="org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.Action.Type.html" title="enum in org.apache.hadoop.hbase.master.balancer"><span class="strong">BaseLoadBalancer.Cluster.Action.Type</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.balancer.<a href="org/apache/hadoop/hbase/master/balancer/FavoredNodesPlan.Position.html" title="enum in org.apache.hadoop.hbase.master.balancer"><span class="strong">FavoredNodesPlan.Position</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="strong">SplitLogManager.ResubmitDirective</span></a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/src-html/org/apache/hadoop/hbase/ProcedureInfo.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/ProcedureInfo.html b/devapidocs/src-html/org/apache/hadoop/hbase/ProcedureInfo.html
index b280a3e..a3748d3 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/ProcedureInfo.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/ProcedureInfo.html
@@ -232,10 +232,10 @@
 <span class="sourceLineNo">224</span>      procProto.getOwner(),<a name="line.224"></a>
 <span class="sourceLineNo">225</span>      procProto.getState(),<a name="line.225"></a>
 <span class="sourceLineNo">226</span>      procProto.hasParentId() ? procProto.getParentId() : -1,<a name="line.226"></a>
-<span class="sourceLineNo">227</span>          procProto.getState() == ProcedureState.ROLLEDBACK ? procProto.getException() : null,<a name="line.227"></a>
+<span class="sourceLineNo">227</span>      procProto.hasException() ? procProto.getException() : null,<a name="line.227"></a>
 <span class="sourceLineNo">228</span>      procProto.getLastUpdate(),<a name="line.228"></a>
 <span class="sourceLineNo">229</span>      procProto.getStartTime(),<a name="line.229"></a>
-<span class="sourceLineNo">230</span>      procProto.getState() == ProcedureState.FINISHED ? procProto.getResult().toByteArray() : null);<a name="line.230"></a>
+<span class="sourceLineNo">230</span>      procProto.hasResult() ? procProto.getResult().toByteArray() : null);<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>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html
index ebf3b32..7b5c61d 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html
@@ -42,378 +42,375 @@
 <span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.TableName;<a name="line.34"></a>
 <span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.35"></a>
 <span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.executor.EventType;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.master.MasterCoprocessorHost;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.procedure2.StateMachineProcedure;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.AddColumnFamilyState;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.43"></a>
-<span class="sourceLineNo">044</span><a name="line.44"></a>
-<span class="sourceLineNo">045</span>/**<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * The procedure to add a column family to an existing table.<a name="line.46"></a>
-<span class="sourceLineNo">047</span> */<a name="line.47"></a>
-<span class="sourceLineNo">048</span>@InterfaceAudience.Private<a name="line.48"></a>
-<span class="sourceLineNo">049</span>public class AddColumnFamilyProcedure<a name="line.49"></a>
-<span class="sourceLineNo">050</span>    extends StateMachineProcedure&lt;MasterProcedureEnv, AddColumnFamilyState&gt;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>    implements TableProcedureInterface {<a name="line.51"></a>
-<span class="sourceLineNo">052</span>  private static final Log LOG = LogFactory.getLog(AddColumnFamilyProcedure.class);<a name="line.52"></a>
-<span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span>  private final AtomicBoolean aborted = new AtomicBoolean(false);<a name="line.54"></a>
-<span class="sourceLineNo">055</span><a name="line.55"></a>
-<span class="sourceLineNo">056</span>  private TableName tableName;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>  private HTableDescriptor unmodifiedHTableDescriptor;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>  private HColumnDescriptor cfDescriptor;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  private UserGroupInformation user;<a name="line.59"></a>
-<span class="sourceLineNo">060</span><a name="line.60"></a>
-<span class="sourceLineNo">061</span>  private List&lt;HRegionInfo&gt; regionInfoList;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>  private Boolean traceEnabled;<a name="line.62"></a>
-<span class="sourceLineNo">063</span><a name="line.63"></a>
-<span class="sourceLineNo">064</span>  public AddColumnFamilyProcedure() {<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    this.unmodifiedHTableDescriptor = null;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    this.regionInfoList = null;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    this.traceEnabled = null;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>  }<a name="line.68"></a>
-<span class="sourceLineNo">069</span><a name="line.69"></a>
-<span class="sourceLineNo">070</span>  public AddColumnFamilyProcedure(<a name="line.70"></a>
-<span class="sourceLineNo">071</span>      final MasterProcedureEnv env,<a name="line.71"></a>
-<span class="sourceLineNo">072</span>      final TableName tableName,<a name="line.72"></a>
-<span class="sourceLineNo">073</span>      final HColumnDescriptor cfDescriptor) throws IOException {<a name="line.73"></a>
-<span class="sourceLineNo">074</span>    this.tableName = tableName;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>    this.cfDescriptor = cfDescriptor;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    this.user = env.getRequestUser().getUGI();<a name="line.76"></a>
-<span class="sourceLineNo">077</span>    this.setOwner(this.user.getShortUserName());<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    this.unmodifiedHTableDescriptor = null;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    this.regionInfoList = null;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    this.traceEnabled = null;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  }<a name="line.81"></a>
-<span class="sourceLineNo">082</span><a name="line.82"></a>
-<span class="sourceLineNo">083</span>  @Override<a name="line.83"></a>
-<span class="sourceLineNo">084</span>  protected Flow executeFromState(final MasterProcedureEnv env, final AddColumnFamilyState state)<a name="line.84"></a>
-<span class="sourceLineNo">085</span>      throws InterruptedException {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    if (isTraceEnabled()) {<a name="line.86"></a>
-<span class="sourceLineNo">087</span>      LOG.trace(this + " execute state=" + state);<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    }<a name="line.88"></a>
-<span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>    try {<a name="line.90"></a>
-<span class="sourceLineNo">091</span>      switch (state) {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      case ADD_COLUMN_FAMILY_PREPARE:<a name="line.92"></a>
-<span class="sourceLineNo">093</span>        prepareAdd(env);<a name="line.93"></a>
-<span class="sourceLineNo">094</span>        setNextState(AddColumnFamilyState.ADD_COLUMN_FAMILY_PRE_OPERATION);<a name="line.94"></a>
-<span class="sourceLineNo">095</span>        break;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>      case ADD_COLUMN_FAMILY_PRE_OPERATION:<a name="line.96"></a>
-<span class="sourceLineNo">097</span>        preAdd(env, state);<a name="line.97"></a>
-<span class="sourceLineNo">098</span>        setNextState(AddColumnFamilyState.ADD_COLUMN_FAMILY_UPDATE_TABLE_DESCRIPTOR);<a name="line.98"></a>
-<span class="sourceLineNo">099</span>        break;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>      case ADD_COLUMN_FAMILY_UPDATE_TABLE_DESCRIPTOR:<a name="line.100"></a>
-<span class="sourceLineNo">101</span>        updateTableDescriptor(env);<a name="line.101"></a>
-<span class="sourceLineNo">102</span>        setNextState(AddColumnFamilyState.ADD_COLUMN_FAMILY_POST_OPERATION);<a name="line.102"></a>
-<span class="sourceLineNo">103</span>        break;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>      case ADD_COLUMN_FAMILY_POST_OPERATION:<a name="line.104"></a>
-<span class="sourceLineNo">105</span>        postAdd(env, state);<a name="line.105"></a>
-<span class="sourceLineNo">106</span>        setNextState(AddColumnFamilyState.ADD_COLUMN_FAMILY_REOPEN_ALL_REGIONS);<a name="line.106"></a>
-<span class="sourceLineNo">107</span>        break;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>      case ADD_COLUMN_FAMILY_REOPEN_ALL_REGIONS:<a name="line.108"></a>
-<span class="sourceLineNo">109</span>        reOpenAllRegionsIfTableIsOnline(env);<a name="line.109"></a>
-<span class="sourceLineNo">110</span>        return Flow.NO_MORE_STATE;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      default:<a name="line.111"></a>
-<span class="sourceLineNo">112</span>        throw new UnsupportedOperationException(this + " unhandled state=" + state);<a name="line.112"></a>
-<span class="sourceLineNo">113</span>      }<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    } catch (IOException e) {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      LOG.warn("Error trying to add the column family" + getColumnFamilyName() + " to the table "<a name="line.115"></a>
-<span class="sourceLineNo">116</span>          + tableName + " (in state=" + state + ")", e);<a name="line.116"></a>
-<span class="sourceLineNo">117</span><a name="line.117"></a>
-<span class="sourceLineNo">118</span>      setFailure("master-add-columnfamily", e);<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    }<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    return Flow.HAS_MORE_STATE;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>  }<a name="line.121"></a>
-<span class="sourceLineNo">122</span><a name="line.122"></a>
-<span class="sourceLineNo">123</span>  @Override<a name="line.123"></a>
-<span class="sourceLineNo">124</span>  protected void rollbackState(final MasterProcedureEnv env, final AddColumnFamilyState state)<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      throws IOException {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    if (isTraceEnabled()) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      LOG.trace(this + " rollback state=" + state);<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    }<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    try {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>      switch (state) {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>      case ADD_COLUMN_FAMILY_REOPEN_ALL_REGIONS:<a name="line.131"></a>
-<span class="sourceLineNo">132</span>        break; // Nothing to undo.<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      case ADD_COLUMN_FAMILY_POST_OPERATION:<a name="line.133"></a>
-<span class="sourceLineNo">134</span>        // TODO-MAYBE: call the coprocessor event to undo?<a name="line.134"></a>
-<span class="sourceLineNo">135</span>        break;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>      case ADD_COLUMN_FAMILY_UPDATE_TABLE_DESCRIPTOR:<a name="line.136"></a>
-<span class="sourceLineNo">137</span>        restoreTableDescriptor(env);<a name="line.137"></a>
-<span class="sourceLineNo">138</span>        break;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      case ADD_COLUMN_FAMILY_PRE_OPERATION:<a name="line.139"></a>
-<span class="sourceLineNo">140</span>        // TODO-MAYBE: call the coprocessor event to undo?<a name="line.140"></a>
-<span class="sourceLineNo">141</span>        break;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      case ADD_COLUMN_FAMILY_PREPARE:<a name="line.142"></a>
-<span class="sourceLineNo">143</span>        break; // nothing to do<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      default:<a name="line.144"></a>
-<span class="sourceLineNo">145</span>        throw new UnsupportedOperationException(this + " unhandled state=" + state);<a name="line.145"></a>
-<span class="sourceLineNo">146</span>      }<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    } catch (IOException e) {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>      // This will be retried. Unless there is a bug in the code,<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      // this should be just a "temporary error" (e.g. network down)<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      LOG.warn("Failed rollback attempt step " + state + " for adding the column family"<a name="line.150"></a>
-<span class="sourceLineNo">151</span>          + getColumnFamilyName() + " to the table " + tableName, e);<a name="line.151"></a>
-<span class="sourceLineNo">152</span>      throw e;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    }<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  }<a name="line.154"></a>
-<span class="sourceLineNo">155</span><a name="line.155"></a>
-<span class="sourceLineNo">156</span>  @Override<a name="line.156"></a>
-<span class="sourceLineNo">157</span>  protected AddColumnFamilyState getState(final int stateId) {<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    return AddColumnFamilyState.valueOf(stateId);<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  }<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>  @Override<a name="line.161"></a>
-<span class="sourceLineNo">162</span>  protected int getStateId(final AddColumnFamilyState state) {<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    return state.getNumber();<a name="line.163"></a>
-<span class="sourceLineNo">164</span>  }<a name="line.164"></a>
-<span class="sourceLineNo">165</span><a name="line.165"></a>
-<span class="sourceLineNo">166</span>  @Override<a name="line.166"></a>
-<span class="sourceLineNo">167</span>  protected AddColumnFamilyState getInitialState() {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    return AddColumnFamilyState.ADD_COLUMN_FAMILY_PREPARE;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>  }<a name="line.169"></a>
-<span class="sourceLineNo">170</span><a name="line.170"></a>
-<span class="sourceLineNo">171</span>  @Override<a name="line.171"></a>
-<span class="sourceLineNo">172</span>  protected void setNextState(AddColumnFamilyState state) {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    if (aborted.get()) {<a name="line.173"></a>
-<span class="sourceLineNo">174</span>      setAbortFailure("add-columnfamily", "abort requested");<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    } else {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      super.setNextState(state);<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    }<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  }<a name="line.178"></a>
-<span class="sourceLineNo">179</span><a name="line.179"></a>
-<span class="sourceLineNo">180</span>  @Override<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  public boolean abort(final MasterProcedureEnv env) {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    aborted.set(true);<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    return true;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  }<a name="line.184"></a>
-<span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span>  @Override<a name="line.186"></a>
-<span class="sourceLineNo">187</span>  protected boolean acquireLock(final MasterProcedureEnv env) {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    if (!env.isInitialized()) return false;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    return env.getProcedureQueue().tryAcquireTableExclusiveLock(<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      tableName,<a name="line.190"></a>
-<span class="sourceLineNo">191</span>      EventType.C_M_ADD_FAMILY.toString());<a name="line.191"></a>
-<span class="sourceLineNo">192</span>  }<a name="line.192"></a>
-<span class="sourceLineNo">193</span><a name="line.193"></a>
-<span class="sourceLineNo">194</span>  @Override<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  protected void releaseLock(final MasterProcedureEnv env) {<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    env.getProcedureQueue().releaseTableExclusiveLock(tableName);<a name="line.196"></a>
-<span class="sourceLineNo">197</span>  }<a name="line.197"></a>
-<span class="sourceLineNo">198</span><a name="line.198"></a>
-<span class="sourceLineNo">199</span>  @Override<a name="line.199"></a>
-<span class="sourceLineNo">200</span>  public void serializeStateData(final OutputStream stream) throws IOException {<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    super.serializeStateData(stream);<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>    MasterProcedureProtos.AddColumnFamilyStateData.Builder addCFMsg =<a name="line.203"></a>
-<span class="sourceLineNo">204</span>        MasterProcedureProtos.AddColumnFamilyStateData.newBuilder()<a name="line.204"></a>
-<span class="sourceLineNo">205</span>            .setUserInfo(MasterProcedureUtil.toProtoUserInfo(user))<a name="line.205"></a>
-<span class="sourceLineNo">206</span>            .setTableName(ProtobufUtil.toProtoTableName(tableName))<a name="line.206"></a>
-<span class="sourceLineNo">207</span>            .setColumnfamilySchema(cfDescriptor.convert());<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    if (unmodifiedHTableDescriptor != null) {<a name="line.208"></a>
-<span class="sourceLineNo">209</span>      addCFMsg.setUnmodifiedTableSchema(unmodifiedHTableDescriptor.convert());<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    }<a name="line.210"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.master.MasterCoprocessorHost;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.procedure2.StateMachineProcedure;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.AddColumnFamilyState;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.42"></a>
+<span class="sourceLineNo">043</span><a name="line.43"></a>
+<span class="sourceLineNo">044</span>/**<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * The procedure to add a column family to an existing table.<a name="line.45"></a>
+<span class="sourceLineNo">046</span> */<a name="line.46"></a>
+<span class="sourceLineNo">047</span>@InterfaceAudience.Private<a name="line.47"></a>
+<span class="sourceLineNo">048</span>public class AddColumnFamilyProcedure<a name="line.48"></a>
+<span class="sourceLineNo">049</span>    extends StateMachineProcedure&lt;MasterProcedureEnv, AddColumnFamilyState&gt;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>    implements TableProcedureInterface {<a name="line.50"></a>
+<span class="sourceLineNo">051</span>  private static final Log LOG = LogFactory.getLog(AddColumnFamilyProcedure.class);<a name="line.51"></a>
+<span class="sourceLineNo">052</span><a name="line.52"></a>
+<span class="sourceLineNo">053</span>  private final AtomicBoolean aborted = new AtomicBoolean(false);<a name="line.53"></a>
+<span class="sourceLineNo">054</span><a name="line.54"></a>
+<span class="sourceLineNo">055</span>  private TableName tableName;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>  private HTableDescriptor unmodifiedHTableDescriptor;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  private HColumnDescriptor cfDescriptor;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>  private UserGroupInformation user;<a name="line.58"></a>
+<span class="sourceLineNo">059</span><a name="line.59"></a>
+<span class="sourceLineNo">060</span>  private List&lt;HRegionInfo&gt; regionInfoList;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>  private Boolean traceEnabled;<a name="line.61"></a>
+<span class="sourceLineNo">062</span><a name="line.62"></a>
+<span class="sourceLineNo">063</span>  public AddColumnFamilyProcedure() {<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    this.unmodifiedHTableDescriptor = null;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    this.regionInfoList = null;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    this.traceEnabled = null;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>  }<a name="line.67"></a>
+<span class="sourceLineNo">068</span><a name="line.68"></a>
+<span class="sourceLineNo">069</span>  public AddColumnFamilyProcedure(<a name="line.69"></a>
+<span class="sourceLineNo">070</span>      final MasterProcedureEnv env,<a name="line.70"></a>
+<span class="sourceLineNo">071</span>      final TableName tableName,<a name="line.71"></a>
+<span class="sourceLineNo">072</span>      final HColumnDescriptor cfDescriptor) throws IOException {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    this.tableName = tableName;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    this.cfDescriptor = cfDescriptor;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    this.user = env.getRequestUser().getUGI();<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    this.setOwner(this.user.getShortUserName());<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    this.unmodifiedHTableDescriptor = null;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    this.regionInfoList = null;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    this.traceEnabled = null;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>  }<a name="line.80"></a>
+<span class="sourceLineNo">081</span><a name="line.81"></a>
+<span class="sourceLineNo">082</span>  @Override<a name="line.82"></a>
+<span class="sourceLineNo">083</span>  protected Flow executeFromState(final MasterProcedureEnv env, final AddColumnFamilyState state)<a name="line.83"></a>
+<span class="sourceLineNo">084</span>      throws InterruptedException {<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    if (isTraceEnabled()) {<a name="line.85"></a>
+<span class="sourceLineNo">086</span>      LOG.trace(this + " execute state=" + state);<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    }<a name="line.87"></a>
+<span class="sourceLineNo">088</span><a name="line.88"></a>
+<span class="sourceLineNo">089</span>    try {<a name="line.89"></a>
+<span class="sourceLineNo">090</span>      switch (state) {<a name="line.90"></a>
+<span class="sourceLineNo">091</span>      case ADD_COLUMN_FAMILY_PREPARE:<a name="line.91"></a>
+<span class="sourceLineNo">092</span>        prepareAdd(env);<a name="line.92"></a>
+<span class="sourceLineNo">093</span>        setNextState(AddColumnFamilyState.ADD_COLUMN_FAMILY_PRE_OPERATION);<a name="line.93"></a>
+<span class="sourceLineNo">094</span>        break;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>      case ADD_COLUMN_FAMILY_PRE_OPERATION:<a name="line.95"></a>
+<span class="sourceLineNo">096</span>        preAdd(env, state);<a name="line.96"></a>
+<span class="sourceLineNo">097</span>        setNextState(AddColumnFamilyState.ADD_COLUMN_FAMILY_UPDATE_TABLE_DESCRIPTOR);<a name="line.97"></a>
+<span class="sourceLineNo">098</span>        break;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      case ADD_COLUMN_FAMILY_UPDATE_TABLE_DESCRIPTOR:<a name="line.99"></a>
+<span class="sourceLineNo">100</span>        updateTableDescriptor(env);<a name="line.100"></a>
+<span class="sourceLineNo">101</span>        setNextState(AddColumnFamilyState.ADD_COLUMN_FAMILY_POST_OPERATION);<a name="line.101"></a>
+<span class="sourceLineNo">102</span>        break;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>      case ADD_COLUMN_FAMILY_POST_OPERATION:<a name="line.103"></a>
+<span class="sourceLineNo">104</span>        postAdd(env, state);<a name="line.104"></a>
+<span class="sourceLineNo">105</span>        setNextState(AddColumnFamilyState.ADD_COLUMN_FAMILY_REOPEN_ALL_REGIONS);<a name="line.105"></a>
+<span class="sourceLineNo">106</span>        break;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>      case ADD_COLUMN_FAMILY_REOPEN_ALL_REGIONS:<a name="line.107"></a>
+<span class="sourceLineNo">108</span>        reOpenAllRegionsIfTableIsOnline(env);<a name="line.108"></a>
+<span class="sourceLineNo">109</span>        return Flow.NO_MORE_STATE;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      default:<a name="line.110"></a>
+<span class="sourceLineNo">111</span>        throw new UnsupportedOperationException(this + " unhandled state=" + state);<a name="line.111"></a>
+<span class="sourceLineNo">112</span>      }<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    } catch (IOException e) {<a name="line.113"></a>
+<span class="sourceLineNo">114</span>      LOG.warn("Error trying to add the column family" + getColumnFamilyName() + " to the table "<a name="line.114"></a>
+<span class="sourceLineNo">115</span>          + tableName + " (in state=" + state + ")", e);<a name="line.115"></a>
+<span class="sourceLineNo">116</span><a name="line.116"></a>
+<span class="sourceLineNo">117</span>      setFailure("master-add-columnfamily", e);<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    }<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    return Flow.HAS_MORE_STATE;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  }<a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121"></a>
+<span class="sourceLineNo">122</span>  @Override<a name="line.122"></a>
+<span class="sourceLineNo">123</span>  protected void rollbackState(final MasterProcedureEnv env, final AddColumnFamilyState state)<a name="line.123"></a>
+<span class="sourceLineNo">124</span>      throws IOException {<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    if (isTraceEnabled()) {<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      LOG.trace(this + " rollback state=" + state);<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    }<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    try {<a name="line.128"></a>
+<span class="sourceLineNo">129</span>      switch (state) {<a name="line.129"></a>
+<span class="sourceLineNo">130</span>      case ADD_COLUMN_FAMILY_REOPEN_ALL_REGIONS:<a name="line.130"></a>
+<span class="sourceLineNo">131</span>        break; // Nothing to undo.<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      case ADD_COLUMN_FAMILY_POST_OPERATION:<a name="line.132"></a>
+<span class="sourceLineNo">133</span>        // TODO-MAYBE: call the coprocessor event to undo?<a name="line.133"></a>
+<span class="sourceLineNo">134</span>        break;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      case ADD_COLUMN_FAMILY_UPDATE_TABLE_DESCRIPTOR:<a name="line.135"></a>
+<span class="sourceLineNo">136</span>        restoreTableDescriptor(env);<a name="line.136"></a>
+<span class="sourceLineNo">137</span>        break;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>      case ADD_COLUMN_FAMILY_PRE_OPERATION:<a name="line.138"></a>
+<span class="sourceLineNo">139</span>        // TODO-MAYBE: call the coprocessor event to undo?<a name="line.139"></a>
+<span class="sourceLineNo">140</span>        break;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>      case ADD_COLUMN_FAMILY_PREPARE:<a name="line.141"></a>
+<span class="sourceLineNo">142</span>        break; // nothing to do<a name="line.142"></a>
+<span class="sourceLineNo">143</span>      default:<a name="line.143"></a>
+<span class="sourceLineNo">144</span>        throw new UnsupportedOperationException(this + " unhandled state=" + state);<a name="line.144"></a>
+<span class="sourceLineNo">145</span>      }<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    } catch (IOException e) {<a name="line.146"></a>
+<span class="sourceLineNo">147</span>      // This will be retried. Unless there is a bug in the code,<a name="line.147"></a>
+<span class="sourceLineNo">148</span>      // this should be just a "temporary error" (e.g. network down)<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      LOG.warn("Failed rollback attempt step " + state + " for adding the column family"<a name="line.149"></a>
+<span class="sourceLineNo">150</span>          + getColumnFamilyName() + " to the table " + tableName, e);<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      throw e;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    }<a name="line.152"></a>
+<span class="sourceLineNo">153</span>  }<a name="line.153"></a>
+<span class="sourceLineNo">154</span><a name="line.154"></a>
+<span class="sourceLineNo">155</span>  @Override<a name="line.155"></a>
+<span class="sourceLineNo">156</span>  protected AddColumnFamilyState getState(final int stateId) {<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    return AddColumnFamilyState.valueOf(stateId);<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  }<a name="line.158"></a>
+<span class="sourceLineNo">159</span><a name="line.159"></a>
+<span class="sourceLineNo">160</span>  @Override<a name="line.160"></a>
+<span class="sourceLineNo">161</span>  protected int getStateId(final AddColumnFamilyState state) {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    return state.getNumber();<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>  @Override<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  protected AddColumnFamilyState getInitialState() {<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    return AddColumnFamilyState.ADD_COLUMN_FAMILY_PREPARE;<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>  @Override<a name="line.170"></a>
+<span class="sourceLineNo">171</span>  protected void setNextState(AddColumnFamilyState state) {<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    if (aborted.get()) {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>      setAbortFailure("add-columnfamily", "abort requested");<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    } else {<a name="line.174"></a>
+<span class="sourceLineNo">175</span>      super.setNextState(state);<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    }<a name="line.176"></a>
+<span class="sourceLineNo">177</span>  }<a name="line.177"></a>
+<span class="sourceLineNo">178</span><a name="line.178"></a>
+<span class="sourceLineNo">179</span>  @Override<a name="line.179"></a>
+<span class="sourceLineNo">180</span>  public boolean abort(final MasterProcedureEnv env) {<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    aborted.set(true);<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    return true;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>  }<a name="line.183"></a>
+<span class="sourceLineNo">184</span><a name="line.184"></a>
+<span class="sourceLineNo">185</span>  @Override<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  protected boolean acquireLock(final MasterProcedureEnv env) {<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    if (env.waitInitialized(this)) return false;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    return env.getProcedureQueue().tryAcquireTableExclusiveLock(tableName, "add family");<a name="line.188"></a>
+<span class="sourceLineNo">189</span>  }<a name="line.189"></a>
+<span class="sourceLineNo">190</span><a name="line.190"></a>
+<span class="sourceLineNo">191</span>  @Override<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  protected void releaseLock(final MasterProcedureEnv env) {<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    env.getProcedureQueue().releaseTableExclusiveLock(tableName);<a name="line.193"></a>
+<span class="sourceLineNo">194</span>  }<a name="line.194"></a>
+<span class="sourceLineNo">195</span><a name="line.195"></a>
+<span class="sourceLineNo">196</span>  @Override<a name="line.196"></a>
+<span class="sourceLineNo">197</span>  public void serializeStateData(final OutputStream stream) throws IOException {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    super.serializeStateData(stream);<a name="line.198"></a>
+<span class="sourceLineNo">199</span><a name="line.199"></a>
+<span class="sourceLineNo">200</span>    MasterProcedureProtos.AddColumnFamilyStateData.Builder addCFMsg =<a name="line.200"></a>
+<span class="sourceLineNo">201</span>        MasterProcedureProtos.AddColumnFamilyStateData.newBuilder()<a name="line.201"></a>
+<span class="sourceLineNo">202</span>            .setUserInfo(MasterProcedureUtil.toProtoUserInfo(user))<a name="line.202"></a>
+<span class="sourceLineNo">203</span>            .setTableName(ProtobufUtil.toProtoTableName(tableName))<a name="line.203"></a>
+<span class="sourceLineNo">204</span>            .setColumnfamilySchema(cfDescriptor.convert());<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    if (unmodifiedHTableDescriptor != null) {<a name="line.205"></a>
+<span class="sourceLineNo">206</span>      addCFMsg.setUnmodifiedTableSchema(unmodifiedHTableDescriptor.convert());<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    }<a name="line.207"></a>
+<span class="sourceLineNo">208</span><a name="line.208"></a>
+<span class="sourceLineNo">209</span>    addCFMsg.build().writeDelimitedTo(stream);<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  }<a name="line.210"></a>
 <span class="sourceLineNo">211</span><a name="line.211"></a>
-<span class="sourceLineNo">212</span>    addCFMsg.build().writeDelimitedTo(stream);<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  }<a name="line.213"></a>
-<span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  @Override<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  public void deserializeStateData(final InputStream stream) throws IOException {<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    super.deserializeStateData(stream);<a name="line.217"></a>
-<span class="sourceLineNo">218</span><a name="line.218"></a>
-<span class="sourceLineNo">219</span>    MasterProcedureProtos.AddColumnFamilyStateData addCFMsg =<a name="line.219"></a>
-<span class="sourceLineNo">220</span>        MasterProcedureProtos.AddColumnFamilyStateData.parseDelimitedFrom(stream);<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    user = MasterProcedureUtil.toUserInfo(addCFMsg.getUserInfo());<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    tableName = ProtobufUtil.toTableName(addCFMsg.getTableName());<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    cfDescriptor = HColumnDescriptor.convert(addCFMsg.getColumnfamilySchema());<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    if (addCFMsg.hasUnmodifiedTableSchema()) {<a name="line.224"></a>
-<span class="sourceLineNo">225</span>      unmodifiedHTableDescriptor = HTableDescriptor.convert(addCFMsg.getUnmodifiedTableSchema());<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    }<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  }<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  @Override<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  public void toStringClassDetails(StringBuilder sb) {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    sb.append(getClass().getSimpleName());<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    sb.append(" (table=");<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    sb.append(tableName);<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    sb.append(", columnfamily=");<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    if (cfDescriptor != null) {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      sb.append(getColumnFamilyName());<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    } else {<a name="line.237"></a>
-<span class="sourceLineNo">238</span>      sb.append("Unknown");<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    }<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    sb.append(")");<a name="line.240"></a>
-<span class="sourceLineNo">241</span>  }<a name="line.241"></a>
-<span class="sourceLineNo">242</span><a name="line.242"></a>
-<span class="sourceLineNo">243</span>  @Override<a name="line.243"></a>
-<span class="sourceLineNo">244</span>  public TableName getTableName() {<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    return tableName;<a name="line.245"></a>
-<span class="sourceLineNo">246</span>  }<a name="line.246"></a>
-<span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  @Override<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  public TableOperationType getTableOperationType() {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    return TableOperationType.EDIT;<a name="line.250"></a>
-<span class="sourceLineNo">251</span>  }<a name="line.251"></a>
-<span class="sourceLineNo">252</span><a name="line.252"></a>
-<span class="sourceLineNo">253</span>  /**<a name="line.253"></a>
-<span class="sourceLineNo">254</span>   * Action before any real action of adding column family.<a name="line.254"></a>
-<span class="sourceLineNo">255</span>   * @param env MasterProcedureEnv<a name="line.255"></a>
-<span class="sourceLineNo">256</span>   * @throws IOException<a name="line.256"></a>
-<span class="sourceLineNo">257</span>   */<a name="line.257"></a>
-<span class="sourceLineNo">258</span>  private void prepareAdd(final MasterProcedureEnv env) throws IOException {<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    // Checks whether the table is allowed to be modified.<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    MasterDDLOperationHelper.checkTableModifiable(env, tableName);<a name="line.260"></a>
-<span class="sourceLineNo">261</span><a name="line.261"></a>
-<span class="sourceLineNo">262</span>    // In order to update the descriptor, we need to retrieve the old descriptor for comparison.<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    unmodifiedHTableDescriptor = env.getMasterServices().getTableDescriptors().get(tableName);<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    if (unmodifiedHTableDescriptor == null) {<a name="line.264"></a>
-<span class="sourceLineNo">265</span>      throw new IOException("HTableDescriptor missing for " + tableName);<a name="line.265"></a>
-<span class="sourceLineNo">266</span>    }<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    if (unmodifiedHTableDescriptor.hasFamily(cfDescriptor.getName())) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      throw new InvalidFamilyOperationException("Column family '" + getColumnFamilyName()<a name="line.268"></a>
-<span class="sourceLineNo">269</span>          + "' in table '" + tableName + "' already exists so cannot be added");<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    }<a name="line.270"></a>
-<span class="sourceLineNo">271</span>  }<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span>  /**<a name="line.273"></a>
-<span class="sourceLineNo">274</span>   * Action before adding column family.<a name="line.274"></a>
-<span class="sourceLineNo">275</span>   * @param env MasterProcedureEnv<a name="line.275"></a>
-<span class="sourceLineNo">276</span>   * @param state the procedure state<a name="line.276"></a>
-<span class="sourceLineNo">277</span>   * @throws IOException<a name="line.277"></a>
-<span class="sourceLineNo">278</span>   * @throws InterruptedException<a name="line.278"></a>
-<span class="sourceLineNo">279</span>   */<a name="line.279"></a>
-<span class="sourceLineNo">280</span>  private void preAdd(final MasterProcedureEnv env, final AddColumnFamilyState state)<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      throws IOException, InterruptedException {<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    runCoprocessorAction(env, state);<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>   * Add the column family to the file system<a name="line.286"></a>
-<span class="sourceLineNo">287</span>   */<a name="line.287"></a>
-<span class="sourceLineNo">288</span>  private void updateTableDescriptor(final MasterProcedureEnv env) throws IOException {<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    // Update table descriptor<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    LOG.info("AddColumn. Table = " + tableName + " HCD = " + cfDescriptor.toString());<a name="line.290"></a>
-<span class="sourceLineNo">291</span><a name="line.291"></a>
-<span class="sourceLineNo">292</span>    HTableDescriptor htd = env.getMasterServices().getTableDescriptors().get(tableName);<a name="line.292"></a>
-<span class="sourceLineNo">293</span><a name="line.293"></a>
-<span class="sourceLineNo">294</span>    if (htd.hasFamily(cfDescriptor.getName())) {<a name="line.294"></a>
-<span class="sourceLineNo">295</span>      // It is possible to reach this situation, as we could already add the column family<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      // to table descriptor, but the master failover happens before we complete this state.<a name="line.296"></a>
-<span class="sourceLineNo">297</span>      // We should be able to handle running this function multiple times without causing problem.<a name="line.297"></a>
-<span class="sourceLineNo">298</span>      return;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    }<a name="line.299"></a>
-<span class="sourceLineNo">300</span><a name="line.300"></a>
-<span class="sourceLineNo">301</span>    htd.addFamily(cfDescriptor);<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    env.getMasterServices().getTableDescriptors().add(htd);<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>   * Restore the table descriptor back to pre-add<a name="line.306"></a>
-<span class="sourceLineNo">307</span>   * @param env MasterProcedureEnv<a name="line.307"></a>
-<span class="sourceLineNo">308</span>   * @throws IOException<a name="line.308"></a>
-<span class="sourceLineNo">309</span>   **/<a name="line.309"></a>
-<span class="sourceLineNo">310</span>  private void restoreTableDescriptor(final MasterProcedureEnv env) throws IOException {<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    HTableDescriptor htd = env.getMasterServices().getTableDescriptors().get(tableName);<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    if (htd.hasFamily(cfDescriptor.getName())) {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      // Remove the column family from file system and update the table descriptor to<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      // the before-add-column-family-state<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      MasterDDLOperationHelper.deleteColumnFamilyFromFileSystem(env, tableName,<a name="line.315"></a>
-<span class="sourceLineNo">316</span>        getRegionInfoList(env), cfDescriptor.getName(), cfDescriptor.isMobEnabled());<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>      env.getMasterServices().getTableDescriptors().add(unmodifiedHTableDescriptor);<a name="line.318"></a>
-<span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>      // Make sure regions are opened after table descriptor is updated.<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      reOpenAllRegionsIfTableIsOnline(env);<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    }<a name="line.322"></a>
-<span class="sourceLineNo">323</span>  }<a name="line.323"></a>
-<span class="sourceLineNo">324</span><a name="line.324"></a>
-<span class="sourceLineNo">325</span>  /**<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   * Action after adding column family.<a name="line.326"></a>
-<span class="sourceLineNo">327</span>   * @param env MasterProcedureEnv<a name="line.327"></a>
-<span class="sourceLineNo">328</span>   * @param state the procedure state<a name="line.328"></a>
-<span class="sourceLineNo">329</span>   * @throws IOException<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * @throws InterruptedException<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   */<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  private void postAdd(final MasterProcedureEnv env, final AddColumnFamilyState state)<a name="line.332"></a>
-<span class="sourceLineNo">333</span>      throws IOException, InterruptedException {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    runCoprocessorAction(env, state);<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>   * Last action from the procedure - executed when online schema change is supported.<a name="line.338"></a>
-<span class="sourceLineNo">339</span>   * @param env MasterProcedureEnv<a name="line.339"></a>
-<span class="sourceLineNo">340</span>   * @throws IOException<a name="line.340"></a>
-<span class="sourceLineNo">341</span>   */<a name="line.341"></a>
-<span class="sourceLineNo">342</span>  private void reOpenAllRegionsIfTableIsOnline(final MasterProcedureEnv env) throws IOException {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>    // This operation only run when the table is enabled.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    if (!env.getMasterServices().getAssignmentManager().getTableStateManager()<a name="line.344"></a>
-<span class="sourceLineNo">345</span>        .isTableState(getTableName(), TableState.State.ENABLED)) {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      return;<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    }<a name="line.347"></a>
-<span class="sourceLineNo">348</span><a name="line.348"></a>
-<span class="sourceLineNo">349</span>    if (MasterDDLOperationHelper.reOpenAllRegions(env, getTableName(), getRegionInfoList(env))) {<a name="line.349"></a>
-<span class="sourceLineNo">350</span>      LOG.info("Completed add column family operation on table " + getTableName());<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    } else {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      LOG.warn("Error on reopening the regions on table " + getTableName());<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>   * The procedure could be restarted from a different machine. If the variable is null, we need to<a name="line.357"></a>
-<span class="sourceLineNo">358</span>   * retrieve it.<a name="line.358"></a>
-<span class="sourceLineNo">359</span>   * @return traceEnabled<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   */<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  private Boolean isTraceEnabled() {<a name="line.361"></a>
-<span class="sourceLineNo">362</span>    if (traceEnabled == null) {<a name="line.362"></a>
-<span class="sourceLineNo">363</span>      traceEnabled = LOG.isTraceEnabled();<a name="line.363"></a>
-<span class="sourceLineNo">364</span>    }<a name="line.364"></a>
-<span class="sourceLineNo">365</span>    return traceEnabled;<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>  private String getColumnFamilyName() {<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    return cfDescriptor.getNameAsString();<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>  /**<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   * Coprocessor Action.<a name="line.373"></a>
-<span class="sourceLineNo">374</span>   * @param env MasterProcedureEnv<a name="line.374"></a>
-<span class="sourceLineNo">375</span>   * @param state the procedure state<a name="line.375"></a>
-<span class="sourceLineNo">376</span>   * @throws IOException<a name="line.376"></a>
-<span class="sourceLineNo">377</span>   * @throws InterruptedException<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   */<a name="line.378"></a>
-<span class="sourceLineNo">379</span>  private void runCoprocessorAction(final MasterProcedureEnv env, final AddColumnFamilyState state)<a name="line.379"></a>
-<span class="sourceLineNo">380</span>      throws IOException, InterruptedException {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    final MasterCoprocessorHost cpHost = env.getMasterCoprocessorHost();<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    if (cpHost != null) {<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      user.doAs(new PrivilegedExceptionAction&lt;Void&gt;() {<a name="line.383"></a>
-<span class="sourceLineNo">384</span>        @Override<a name="line.384"></a>
-<span class="sourceLineNo">385</span>        public Void run() throws Exception {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>          switch (state) {<a name="line.386"></a>
-<span class="sourceLineNo">387</span>          case ADD_COLUMN_FAMILY_PRE_OPERATION:<a name="line.387"></a>
-<span class="sourceLineNo">388</span>            cpHost.preAddColumnHandler(tableName, cfDescriptor);<a name="line.388"></a>
+<span class="sourceLineNo">212</span>  @Override<a name="line.212"></a>
+<span class="sourceLineNo">213</span>  public void deserializeStateData(final InputStream stream) throws IOException {<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    super.deserializeStateData(stream);<a name="line.214"></a>
+<span class="sourceLineNo">215</span><a name="line.215"></a>
+<span class="sourceLineNo">216</span>    MasterProcedureProtos.AddColumnFamilyStateData addCFMsg =<a name="line.216"></a>
+<span class="sourceLineNo">217</span>        MasterProcedureProtos.AddColumnFamilyStateData.parseDelimitedFrom(stream);<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    user = MasterProcedureUtil.toUserInfo(addCFMsg.getUserInfo());<a name="line.218"></a>
+<span class="sourceLineNo">219</span>    tableName = ProtobufUtil.toTableName(addCFMsg.getTableName());<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    cfDescriptor = HColumnDescriptor.convert(addCFMsg.getColumnfamilySchema());<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    if (addCFMsg.hasUnmodifiedTableSchema()) {<a name="line.221"></a>
+<span class="sourceLineNo">222</span>      unmodifiedHTableDescriptor = HTableDescriptor.convert(addCFMsg.getUnmodifiedTableSchema());<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    }<a name="line.223"></a>
+<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span>  @Override<a name="line.226"></a>
+<span class="sourceLineNo">227</span>  public void toStringClassDetails(StringBuilder sb) {<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    sb.append(getClass().getSimpleName());<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    sb.append(" (table=");<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    sb.append(tableName);<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    sb.append(", columnfamily=");<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    if (cfDescriptor != null) {<a name="line.232"></a>
+<span class="sourceLineNo">233</span>      sb.append(getColumnFamilyName());<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    } else {<a name="line.234"></a>
+<span class="sourceLineNo">235</span>      sb.append("Unknown");<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    }<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    sb.append(")");<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  }<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  @Override<a name="line.240"></a>
+<span class="sourceLineNo">241</span>  public TableName getTableName() {<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    return tableName;<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>  @Override<a name="line.245"></a>
+<span class="sourceLineNo">246</span>  public TableOperationType getTableOperationType() {<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    return TableOperationType.EDIT;<a name="line.247"></a>
+<span class="sourceLineNo">248</span>  }<a name="line.248"></a>
+<span class="sourceLineNo">249</span><a name="line.249"></a>
+<span class="sourceLineNo">250</span>  /**<a name="line.250"></a>
+<span class="sourceLineNo">251</span>   * Action before any real action of adding column family.<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   * @param env MasterProcedureEnv<a name="line.252"></a>
+<span class="sourceLineNo">253</span>   * @throws IOException<a name="line.253"></a>
+<span class="sourceLineNo">254</span>   */<a name="line.254"></a>
+<span class="sourceLineNo">255</span>  private void prepareAdd(final MasterProcedureEnv env) throws IOException {<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    // Checks whether the table is allowed to be modified.<a name="line.256"></a>
+<span class="sourceLineNo">257</span>    MasterDDLOperationHelper.checkTableModifiable(env, tableName);<a name="line.257"></a>
+<span class="sourceLineNo">258</span><a name="line.258"></a>
+<span class="sourceLineNo">259</span>    // In order to update the descriptor, we need to retrieve the old descriptor for comparison.<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    unmodifiedHTableDescriptor = env.getMasterServices().getTableDescriptors().get(tableName);<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    if (unmodifiedHTableDescriptor == null) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span>      throw new IOException("HTableDescriptor missing for " + tableName);<a name="line.262"></a>
+<span class="sourceLineNo">263</span>    }<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    if (unmodifiedHTableDescriptor.hasFamily(cfDescriptor.getName())) {<a name="line.264"></a>
+<span class="sourceLineNo">265</span>      throw new InvalidFamilyOperationException("Column family '" + getColumnFamilyName()<a name="line.265"></a>
+<span class="sourceLineNo">266</span>          + "' in table '" + tableName + "' already exists so cannot be added");<a name="line.266"></a>
+<span class="sourceLineNo">267</span>    }<a name="line.267"></a>
+<span class="sourceLineNo">268</span>  }<a name="line.268"></a>
+<span class="sourceLineNo">269</span><a name="line.269"></a>
+<span class="sourceLineNo">270</span>  /**<a name="line.270"></a>
+<span class="sourceLineNo">271</span>   * Action before adding column family.<a name="line.271"></a>
+<span class="sourceLineNo">272</span>   * @param env MasterProcedureEnv<a name="line.272"></a>
+<span class="sourceLineNo">273</span>   * @param state the procedure state<a name="line.273"></a>
+<span class="sourceLineNo">274</span>   * @throws IOException<a name="line.274"></a>
+<span class="sourceLineNo">275</span>   * @throws InterruptedException<a name="line.275"></a>
+<span class="sourceLineNo">276</span>   */<a name="line.276"></a>
+<span class="sourceLineNo">277</span>  private void preAdd(final MasterProcedureEnv env, final AddColumnFamilyState state)<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      throws IOException, InterruptedException {<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    runCoprocessorAction(env, state);<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  }<a name="line.280"></a>
+<span class="sourceLineNo">281</span><a name="line.281"></a>
+<span class="sourceLineNo">282</span>  /**<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   * Add the column family to the file system<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   */<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  private void updateTableDescriptor(final MasterProcedureEnv env) throws IOException {<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    // Update table descriptor<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    LOG.info("AddColumn. Table = " + tableName + " HCD = " + cfDescriptor.toString());<a name="line.287"></a>
+<span class="sourceLineNo">288</span><a name="line.288"></a>
+<span class="sourceLineNo">289</span>    HTableDescriptor htd = env.getMasterServices().getTableDescriptors().get(tableName);<a name="line.289"></a>
+<span class="sourceLineNo">290</span><a name="line.290"></a>
+<span class="sourceLineNo">291</span>    if (htd.hasFamily(cfDescriptor.getName())) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span>      // It is possible to reach this situation, as we could already add the column family<a name="line.292"></a>
+<span class="sourceLineNo">293</span>      // to table descriptor, but the master failover happens before we complete this state.<a name="line.293"></a>
+<span class="sourceLineNo">294</span>      // We should be able to handle running this function multiple times without causing problem.<a name="line.294"></a>
+<span class="sourceLineNo">295</span>      return;<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>    htd.addFamily(cfDescriptor);<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    env.getMasterServices().getTableDescriptors().add(htd);<a name="line.299"></a>
+<span class="sourceLineNo">300</span>  }<a name="line.300"></a>
+<span class="sourceLineNo">301</span><a name="line.301"></a>
+<span class="sourceLineNo">302</span>  /**<a name="line.302"></a>
+<span class="sourceLineNo">303</span>   * Restore the table descriptor back to pre-add<a name="line.303"></a>
+<span class="sourceLineNo">304</span>   * @param env MasterProcedureEnv<a name="line.304"></a>
+<span class="sourceLineNo">305</span>   * @throws IOException<a name="line.305"></a>
+<span class="sourceLineNo">306</span>   **/<a name="line.306"></a>
+<span class="sourceLineNo">307</span>  private void restoreTableDescriptor(final MasterProcedureEnv env) throws IOException {<a name="line.307"></a>
+<span class="sourceLineNo">308</span>    HTableDescriptor htd = env.getMasterServices().getTableDescriptors().get(tableName);<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    if (htd.hasFamily(cfDescriptor.getName())) {<a name="line.309"></a>
+<span class="sourceLineNo">310</span>      // Remove the column family from file system and update the table descriptor to<a name="line.310"></a>
+<span class="sourceLineNo">311</span>      // the before-add-column-family-state<a name="line.311"></a>
+<span class="sourceLineNo">312</span>      MasterDDLOperationHelper.deleteColumnFamilyFromFileSystem(env, tableName,<a name="line.312"></a>
+<span class="sourceLineNo">313</span>        getRegionInfoList(env), cfDescriptor.getName(), cfDescriptor.isMobEnabled());<a name="line.313"></a>
+<span class="sourceLineNo">314</span><a name="line.314"></a>
+<span class="sourceLineNo">315</span>      env.getMasterServices().getTableDescriptors().add(unmodifiedHTableDescriptor);<a name="line.315"></a>
+<span class="sourceLineNo">316</span><a name="line.316"></a>
+<span class="sourceLineNo">317</span>      // Make sure regions are opened after table descriptor is updated.<a name="line.317"></a>
+<span class="sourceLineNo">318</span>      reOpenAllRegionsIfTableIsOnline(env);<a name="line.318"></a>
+<span class="sourceLineNo">319</span>    }<a name="line.319"></a>
+<span class="sourceLineNo">320</span>  }<a name="line.320"></a>
+<span class="sourceLineNo">321</span><a name="line.321"></a>
+<span class="sourceLineNo">322</span>  /**<a name="line.322"></a>
+<span class="sourceLineNo">323</span>   * Action after adding column family.<a name="line.323"></a>
+<span class="sourceLineNo">324</span>   * @param env MasterProcedureEnv<a name="line.324"></a>
+<span class="sourceLineNo">325</span>   * @param state the procedure state<a name="line.325"></a>
+<span class="sourceLineNo">326</span>   * @throws IOException<a name="line.326"></a>
+<span class="sourceLineNo">327</span>   * @throws InterruptedException<a name="line.327"></a>
+<span class="sourceLineNo">328</span>   */<a name="line.328"></a>
+<span class="sourceLineNo">329</span>  private void postAdd(final MasterProcedureEnv env, final AddColumnFamilyState state)<a name="line.329"></a>
+<span class="sourceLineNo">330</span>      throws IOException, InterruptedException {<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    runCoprocessorAction(env, state);<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  }<a name="line.332"></a>
+<span class="sourceLineNo">333</span><a name="line.333"></a>
+<span class="sourceLineNo">334</span>  /**<a name="line.334"></a>
+<span class="sourceLineNo">335</span>   * Last action from the procedure - executed when online schema change is supported.<a name="line.335"></a>
+<span class="sourceLineNo">336</span>   * @param env MasterProcedureEnv<a name="line.336"></a>
+<span class="sourceLineNo">337</span>   * @throws IOException<a name="line.337"></a>
+<span class="sourceLineNo">338</span>   */<a name="line.338"></a>
+<span class="sourceLineNo">339</span>  private void reOpenAllRegionsIfTableIsOnline(final MasterProcedureEnv env) throws IOException {<a name="line.339"></a>
+<span class="sourceLineNo">340</span>    // This operation only run when the table is enabled.<a name="line.340"></a>
+<span class="sourceLineNo">341</span>    if (!env.getMasterServices().getAssignmentManager().getTableStateManager()<a name="line.341"></a>
+<span class="sourceLineNo">342</span>        .isTableState(getTableName(), TableState.State.ENABLED)) {<a name="line.342"></a>
+<span class="sourceLineNo">343</span>      return;<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>    if (MasterDDLOperationHelper.reOpenAllRegions(env, getTableName(), getRegionInfoList(env))) {<a name="line.346"></a>
+<span class="sourceLineNo">347</span>      LOG.info("Completed add column family operation on table " + getTableName());<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    } else {<a name="line.348"></a>
+<span class="sourceLineNo">349</span>      LOG.warn("Error on reopening the regions on table " + getTableName());<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    }<a name="line.350"></a>
+<span class="sourceLineNo">351</span>  }<a name="line.351"></a>
+<span class="sourceLineNo">352</span><a name="line.352"></a>
+<span class="sourceLineNo">353</span>  /**<a name="line.353"></a>
+<span class="sourceLineNo">354</span>   * The procedure could be restarted from a different machine. If the variable is null, we need to<a name="line.354"></a>
+<span class="sourceLineNo">355</span>   * retrieve it.<a name="line.355"></a>
+<span class="sourceLineNo">356</span>   * @return traceEnabled<a name="line.356"></a>
+<span class="sourceLineNo">357</span>   */<a name="line.357"></a>
+<span class="sourceLineNo">358</span>  private Boolean isTraceEnabled() {<a name="line.358"></a>
+<span class="sourceLineNo">359</span>    if (traceEnabled == null) {<a name="line.359"></a>
+<span class="sourceLineNo">360</span>      traceEnabled = LOG.isTraceEnabled();<a name="line.360"></a>
+<span class="sourceLineNo">361</span>    }<a name="line.361"></a>
+<span class="sourceLineNo">362</span>    return traceEnabled;<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>  private String getColumnFamilyName() {<a name="line.365"></a>
+<span class="sourceLineNo">366</span>    return cfDescriptor.getNameAsString();<a name="line.366"></a>
+<span class="sourceLineNo">367</span>  }<a name="line.367"></a>
+<span class="sourceLineNo">368</span><a name="line.368"></a>
+<span class="sourceLineNo">369</span>  /**<a name="line.369"></a>
+<span class="sourceLineNo">370</span>   * Coprocessor Action.<a name="line.370"></a>
+<span class="sourceLineNo">371</span>   * @param env MasterProcedureEnv<a name="line.371"></a>
+<span class="sourceLineNo">372</span>   * @param state the procedure state<a name="line.372"></a>
+<span class="sourceLineNo">373</span>   * @throws IOException<a name="line.373"></a>
+<span class="sourceLineNo">374</span>   * @throws InterruptedException<a name="line.374"></a>
+<span class="sourceLineNo">375</span>   */<a name="line.375"></a>
+<span class="sourceLineNo">376</span>  private void runCoprocessorAction(final MasterProcedureEnv env, final AddColumnFamilyState state)<a name="line.376"></a>
+<span class="sourceLineNo">377</span>      throws IOException, InterruptedException {<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    final MasterCoprocessorHost cpHost = env.getMasterCoprocessorHost();<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    if (cpHost != null) {<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      user.doAs(new PrivilegedExceptionAction&lt;Void&gt;() {<a name="line.380"></a>
+<span class="sourceLineNo">381</span>        @Override<a name="line.381"></a>
+<span class="sourceLineNo">382</span>        public Void run() throws Exception {<a name="line.382"></a>
+<span class="sourceLineNo">383</span>          switch (state) {<a name="line.383"></a>
+<span class="sourceLineNo">384</span>          case ADD_COLUMN_FAMILY_PRE_OPERATION:<a name="line.384"></a>
+<span class="sourceLineNo">385</span>            cpHost.preAddColumnHandler(tableName, cfDescriptor);<a name="line.385"></a>
+<span class="sourceLineNo">386</span>            break;<a name="line.386"></a>
+<span class="sourceLineNo">387</span>          case ADD_COLUMN_FAMILY_POST_OPERATION:<a name="line.387"></a>
+<span class="sourceLineNo">388</span>            cpHost.postAddColumnHandler(tableName, cfDescriptor);<a name="line.388"></a>
 <span class="sourceLineNo">389</span>            break;<a name="line.389"></a>
-<span class="sourceLineNo">390</span>          case ADD_COLUMN_FAMILY_POST_OPERATION:<a name="line.390"></a>
-<span class="sourceLineNo">391</span>            cpHost.postAddColumnHandler(tableName, cfDescriptor);<a name="line.391"></a>
-<span class="sourceLineNo">392</span>            break;<a name="line.392"></a>
-<span class="sourceLineNo">393</span>          default:<a name="line.393"></a>
-<span class="sourceLineNo">394</span>            throw new UnsupportedOperationException(this + " unhandled state=" + state);<a name="line.394"></a>
-<span class="sourceLineNo">395</span>          }<a name="line.395"></a>
-<span class="sourceLineNo">396</span>          return null;<a name="line.396"></a>
-<span class="sourceLineNo">397</span>        }<a name="line.397"></a>
-<span class="sourceLineNo">398</span>      });<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>  private List&lt;HRegionInfo&gt; getRegionInfoList(final MasterProcedureEnv env) throws IOException {<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    if (regionInfoList == null) {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      regionInfoList = ProcedureSyncWait.getRegionsFromMeta(env, getTableName());<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    }<a name="line.405"></a>
-<span class="sourceLineNo">406</span>    return regionInfoList;<a name="line.406"></a>
-<span class="sourceLineNo">407</span>  }<a name="line.407"></a>
-<span class="sourceLineNo">408</span>}<a name="line.408"></a>
+<span class="sourceLineNo">390</span>          default:<a name="line.390"></a>
+<span class="sourceLineNo">391</span>            throw new UnsupportedOperationException(this + " unhandled state=" + state);<a name="line.391"></a>
+<span class="sourceLineNo">392</span>          }<a name="line.392"></a>
+<span class="sourceLineNo">393</span>          return null;<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>  }<a name="line.397"></a>
+<span class="sourceLineNo">398</span><a name="line.398"></a>
+<span class="sourceLineNo">399</span>  private List&lt;HRegionInfo&gt; getRegionInfoList(final MasterProcedureEnv env) throws IOException {<a name="line.399"></a>
+<span class="sourceLineNo">400</span>    if (regionInfoList == null) {<a name="line.400"></a>
+<span class="sourceLineNo">401</span>      regionInfoList = ProcedureSyncWait.getRegionsFromMeta(env, getTableName());<a name="line.401"></a>
+<span class="sourceLineNo">402</span>    }<a name="line.402"></a>
+<span class="sourceLineNo">403</span>    return regionInfoList;<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>
 
 
 


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html
index 20ec738..e593485 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html
@@ -1007,7 +1007,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>execLoop</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.801">execLoop</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.800">execLoop</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
 </li>
 </ul>
 <a name="timeoutLoop()">
@@ -1016,7 +1016,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>timeoutLoop</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.872">timeoutLoop</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.871">timeoutLoop</a>()</pre>
 </li>
 </ul>
 <a name="executeRollback(long, org.apache.hadoop.hbase.procedure2.RootProcedureState)">
@@ -1025,7 +1025,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>executeRollback</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.924">executeRollback</a>(long&nbsp;rootProcId,
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.923">executeRollback</a>(long&nbsp;rootProcId,
                       <a href="../../../../../org/apache/hadoop/hbase/procedure2/RootProcedureState.html" title="class in org.apache.hadoop.hbase.procedure2">RootProcedureState</a>&nbsp;procStack)</pre>
 <div class="block">Execute the rollback of the full procedure stack.
  Once the procedure is rolledback, the root-procedure will be visible as
@@ -1038,7 +1038,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>executeRollback</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.985">executeRollback</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.984">executeRollback</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
 <div class="block">Execute the rollback of the procedure step.
  It updates the store with the new state (stack index)
  or will remove completly the procedure in case it is a child.</div>
@@ -1050,7 +1050,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>execProcedure</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1041">execProcedure</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/RootProcedureState.html" title="class in org.apache.hadoop.hbase.procedure2">RootProcedureState</a>&nbsp;procStack,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1040">execProcedure</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/RootProcedureState.html" title="class in org.apache.hadoop.hbase.procedure2">RootProcedureState</a>&nbsp;procStack,
                  <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;procedure)</pre>
 <div class="block">Executes the specified procedure
   - calls the doExecute() of the procedure
@@ -1075,7 +1075,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>handleInterruptedException</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1186">handleInterruptedException</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1185">handleInterruptedException</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc,
                               <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>&nbsp;e)</pre>
 </li>
 </ul>
@@ -1085,7 +1085,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>sendProcedureLoadedNotification</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1198">sendProcedureLoadedNotification</a>(long&nbsp;procId)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1197">sendProcedureLoadedNotification</a>(long&nbsp;procId)</pre>
 </li>
 </ul>
 <a name="sendProcedureAddedNotification(long)">
@@ -1094,7 +1094,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>sendProcedureAddedNotification</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1210">sendProcedureAddedNotification</a>(long&nbsp;procId)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1209">sendProcedureAddedNotification</a>(long&nbsp;procId)</pre>
 </li>
 </ul>
 <a name="sendProcedureFinishedNotification(long)">
@@ -1103,7 +1103,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>sendProcedureFinishedNotification</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1222">sendProcedureFinishedNotification</a>(long&nbsp;procId)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1221">sendProcedureFinishedNotification</a>(long&nbsp;procId)</pre>
 </li>
 </ul>
 <a name="nextProcId()">
@@ -1112,7 +1112,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>nextProcId</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1234">nextProcId</a>()</pre>
+<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1233">nextProcId</a>()</pre>
 </li>
 </ul>
 <a name="getRootProcedureId(org.apache.hadoop.hbase.procedure2.Procedure)">
@@ -1121,7 +1121,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getRootProcedureId</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1249">getRootProcedureId</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1248">getRootProcedureId</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
 </li>
 </ul>
 <a name="procedureFinished(org.apache.hadoop.hbase.procedure2.Procedure)">
@@ -1130,7 +1130,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>procedureFinished</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1253">procedureFinished</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1252">procedureFinished</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</pre>
 </li>
 </ul>
 <a name="getResultOrProcedure(long)">
@@ -1139,7 +1139,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getResultOrProcedure</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ProcedureInfo.html" title="class in org.apache.hadoop.hbase">ProcedureInfo</a>,<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1279">getResultOrProcedure</a>(long&nbsp;procId)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ProcedureInfo.html" title="class in org.apache.hadoop.hbase">ProcedureInfo</a>,<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1278">getResultOrProcedure</a>(long&nbsp;procId)</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html
deleted file mode 100644
index 57de083..0000000
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html
+++ /dev/null
@@ -1,231 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ProcedureFairRunQueues.FairObject (Apache HBase 2.0.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="ProcedureFairRunQueues.FairObject (Apache HBase 2.0.0-SNAPSHOT API)";
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar_top">
-<!--   -->
-</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ProcedureFairRunQueues.FairObject.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2"><span class="strong">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" target="_top">Frames</a></li>
-<li><a href="ProcedureFairRunQueues.FairObject.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method_summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method_detail">Method</a></li>
-</ul>
-</div>
-<a name="skip-navbar_top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.hadoop.hbase.procedure2</div>
-<h2 title="Interface ProcedureFairRunQueues.FairObject" class="title">Interface ProcedureFairRunQueues.FairObject</h2>
-</div>
-<div class="contentContainer">
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Known Subinterfaces:</dt>
-<dd><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a></dd>
-</dl>
-<dl>
-<dt>All Known Implementing Classes:</dt>
-<dd><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.AbstractRunQueue</a>, <a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.ServerRunQueue</a>, <a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.TableRunQueue</a></dd>
-</dl>
-<dl>
-<dt>Enclosing class:</dt>
-<dd><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="type parameter in ProcedureFairRunQueues">TKey</a>,<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="type parameter in ProcedureFairRunQueues">TQueue</a> extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues.FairObject</a>&gt;</dd>
-</dl>
-<hr>
-<br>
-<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#line.57">ProcedureFairRunQueues.FairObject</a></pre>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method_summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html#getPriority()">getPriority</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html#isAvailable()">isAvailable</a></strong>()</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method_detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="isAvailable()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>isAvailable</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html#line.58">isAvailable</a>()</pre>
-</li>
-</ul>
-<a name="getPriority()">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>getPriority</h4>
-<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html#line.59">getPriority</a>()</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar_bottom">
-<!--   -->
-</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ProcedureFairRunQueues.FairObject.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2"><span class="strong">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" target="_top">Frames</a></li>
-<li><a href="ProcedureFairRunQueues.FairObject.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method_summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method_detail">Method</a></li>
-</ul>
-</div>
-<a name="skip-navbar_bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html
deleted file mode 100644
index 10afef2..0000000
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html
+++ /dev/null
@@ -1,486 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ProcedureFairRunQueues (Apache HBase 2.0.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="ProcedureFairRunQueues (Apache HBase 2.0.0-SNAPSHOT API)";
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar_top">
-<!--   -->
-</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ProcedureFairRunQueues.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.Testing.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2"><span class="strong">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" target="_top">Frames</a></li>
-<li><a href="ProcedureFairRunQueues.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
-<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method_summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method_detail">Method</a></li>
-</ul>
-</div>
-<a name="skip-navbar_top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.hadoop.hbase.procedure2</div>
-<h2 title="Class ProcedureFairRunQueues" class="title">Class ProcedureFairRunQueues&lt;TKey,TQueue extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues.FairObject</a>&gt;</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.hadoop.hbase.procedure2.ProcedureFairRunQueues&lt;TKey,TQueue&gt;</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Evolving.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceStability.Evolving</a>
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#line.47">ProcedureFairRunQueues</a>&lt;TKey,TQueue extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues.FairObject</a>&gt;
-extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
-<div class="block">This class is a container of queues that allows to select a queue
- in a round robin fashion, considering priority of the queue.
-
- the quantum is just how many poll() will return the same object.
- e.g. if quantum is 1 and you have A and B as object you'll get: A B A B
- e.g. if quantum is 2 and you have A and B as object you'll get: A A B B A A B B
- then the object priority is just a priority * quantum
-
- Example:
-  - three queues (A, B, C) with priorities (1, 1, 2)
-  - The first poll() will return A
-  - The second poll() will return B
-  - The third and forth poll() will return C
-  - and so on again and again.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== NESTED CLASS SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="nested_class_summary">
-<!--   -->
-</a>
-<h3>Nested Class Summary</h3>
-<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
-<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static interface&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues.FairObject</a></strong></code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field_summary">
-<!--   -->
-</a>
-<h3>Field Summary</h3>
-<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
-<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Field and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="type parameter in ProcedureFairRunQueues">TKey</a>,<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="type parameter in ProcedureFairRunQueues">TQueue</a>&gt;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#current">current</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private int</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#currentQuantum">currentQuantum</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReentrantLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantLock</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#lock">lock</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ConcurrentSkipListMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentSkipListMap</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="type parameter in ProcedureFairRunQueues">TKey</a>,<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="type parameter in ProcedureFairRunQueues">TQueue</a>&gt;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#objMap">objMap</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private int</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#quantum">quantum</a></strong></code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor_summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><strong><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#ProcedureFairRunQueues(int)">ProcedureFairRunQueues</a></strong>(int&nbsp;quantum)</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method_summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="type parameter in ProcedureFairRunQueues">TQueue</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#add(TKey,%20TQueue)">add</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="type parameter in ProcedureFairRunQueues">TKey</a>&nbsp;key,
-      <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="type parameter in ProcedureFairRunQueues">TQueue</a>&nbsp;queue)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private int</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#calculateQuantum(TQueue)">calculateQuantum</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="type parameter in ProcedureFairRunQueues">TQueue</a>&nbsp;fairObject)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#clear()">clear</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="type parameter in ProcedureFairRunQueues">TQueue</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#get(TKey)">get</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="type parameter in ProcedureFairRunQueues">TKey</a>&nbsp;key)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="type parameter in ProcedureFairRunQueues">TKey</a>,<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="type parameter in ProcedureFairRunQueues">TQueue</a>&gt;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#nextObject()">nextObject</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="type parameter in ProcedureFairRunQueues">TQueue</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#poll()">poll</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="type parameter in ProcedureFairRunQueues">TQueue</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#remove(TKey)">remove</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="type parameter in ProcedureFairRunQueues">TKey</a>&nbsp;key)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#toString()">toString</a></strong>()</code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang
 /Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ FIELD DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field_detail">
-<!--   -->
-</a>
-<h3>Field Detail</h3>
-<a name="objMap">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>objMap</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ConcurrentSkipListMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentSkipListMap</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="type parameter in ProcedureFairRunQueues">TKey</a>,<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="type parameter in ProcedureFairRunQueues">TQueue</a> extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues.FairObject</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#line.48">objMap</a></pre>
-</li>
-</ul>
-<a name="lock">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>lock</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReentrantLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantLock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#line.51">lock</a></pre>
-</li>
-</ul>
-<a name="quantum">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>quantum</h4>
-<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#line.52">quantum</a></pre>
-</li>
-</ul>
-<a name="current">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>current</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="type parameter in ProcedureFairRunQueues">TKey</a>,<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="type parameter in ProcedureFairRunQueues">TQueue</a> extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues.FairObject</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#line.54">current</a></pre>
-</li>
-</ul>
-<a name="currentQuantum">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>currentQuantum</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#line.55">currentQuantum</a></pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor_detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="ProcedureFairRunQueues(int)">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>ProcedureFairRunQueues</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#line.65">ProcedureFairRunQueues</a>(int&nbsp;quantum)</pre>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>quantum</code> - how many poll() will return the same object.</dd></dl>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method_detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="get(java.lang.Object)">
-<!--   -->
-</a><a name="get(TKey)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>get</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="type parameter in ProcedureFairRunQueues">TQueue</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#line.69">get</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="type parameter in ProcedureFairRunQueues">TKey</a>&nbsp;key)</pre>
-</li>
-</ul>
-<a name="add(java.lang.Object,org.apache.hadoop.hbase.procedure2.ProcedureFairRunQueues.FairObject)">
-<!--   -->
-</a><a name="add(TKey, TQueue)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>add</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="type parameter in ProcedureFairRunQueues">TQueue</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#line.73">add</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="type parameter in ProcedureFairRunQueues">TKey</a>&nbsp;key,
-         <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="type parameter in ProcedureFairRunQueues">TQueue</a>&nbsp;queue)</pre>
-</li>
-</ul>
-<a name="remove(java.lang.Object)">
-<!--   -->
-</a><a name="remove(TKey)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>remove</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="type parameter in ProcedureFairRunQueues">TQueue</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#line.78">remove</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="type parameter in ProcedureFairRunQueues">TKey</a>&nbsp;key)</pre>
-</li>
-</ul>
-<a name="clear()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>clear</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#line.95">clear</a>()</pre>
-</li>
-</ul>
-<a name="poll()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>poll</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="type parameter in ProcedureFairRunQueues">TQueue</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#line.109">poll</a>()</pre>
-<dl><dt><span class="strong">Returns:</span></dt><dd>the next available item if present</dd></dl>
-</li>
-</ul>
-<a name="toString()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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/procedure2/ProcedureFairRunQueues.html#line.145">toString</a>()</pre>
-<dl>
-<dt><strong>Overrides:</strong></dt>
-<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="nextObject()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>nextObject</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="type parameter in ProcedureFairRunQueues">TKey</a>,<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="type parameter in ProcedureFairRunQueues">TQueue</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#line.157">nextObject</a>()</pre>
-</li>
-</ul>
-<a name="calculateQuantum(org.apache.hadoop.hbase.procedure2.ProcedureFairRunQueues.FairObject)">
-<!--   -->
-</a><a name="calculateQuantum(TQueue)">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>calculateQuantum</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html#line.170">calculateQuantum</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="type parameter in ProcedureFairRunQueues">TQueue</a>&nbsp;fairObject)</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar_bottom">
-<!--   -->
-</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ProcedureFairRunQueues.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.Testing.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2"><span class="strong">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" target="_top">Frames</a></li>
-<li><a href="ProcedureFairRunQueues.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
-<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method_summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method_detail">Method</a></li>
-</ul>
-</div>
-<a name="skip-navbar_bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html
index 10f5199..e1e7a1f 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html
@@ -35,7 +35,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.Testing.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="strong">Prev Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSimpleRunQueue.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -87,7 +87,7 @@
 <li class="blockList">
 <dl>
 <dt>All Known Implementing Classes:</dt>
-<dd><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSimpleRunQueue.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureSimpleRunQueue</a></dd>
+<dd><a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSimpleRunQueue.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureSimpleRunQueue</a></dd>
 </dl>
 <hr>
 <br>
@@ -138,7 +138,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/proced
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a></code></td>
+<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#poll()">poll</a></strong>()</code>
 <div class="block">Fetch one Procedure from the queue</div>
 </td>
@@ -229,9 +229,9 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/proced
 <ul class="blockList">
 <li class="blockList">
 <h4>poll</h4>
-<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#line.60">poll</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#line.60">poll</a>()</pre>
 <div class="block">Fetch one Procedure from the queue</div>
-<dl><dt><span class="strong">Returns:</span></dt><dd>the Procedure ID to execute, or null if nothing present.</dd></dl>
+<dl><dt><span class="strong">Returns:</span></dt><dd>the Procedure to execute, or null if nothing present.</dd></dl>
 </li>
 </ul>
 <a name="signalAll()">
@@ -292,7 +292,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/proced
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.Testing.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="strong">Prev Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSimpleRunQueue.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureSimpleRunQueue.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureSimpleRunQueue.html b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureSimpleRunQueue.html
index 4690d49..792e6df 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureSimpleRunQueue.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureSimpleRunQueue.html
@@ -128,7 +128,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureR
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSimpleRunQueue.html#lock">lock</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Deque.html?is-external=true" title="class or interface in java.util">Deque</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Deque.html?is-external=true" title="class or interface in java.util">Deque</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSimpleRunQueue.html#runnables">runnables</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
@@ -192,7 +192,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureR
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a></code></td>
+<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSimpleRunQueue.html#poll()">poll</a></strong>()</code>
 <div class="block">Fetch one Procedure from the queue</div>
 </td>
@@ -244,7 +244,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureR
 <ul class="blockList">
 <li class="blockList">
 <h4>runnables</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Deque.html?is-external=true" title="class or interface in java.util">Deque</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureSimpleRunQueue.html#line.35">runnables</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Deque.html?is-external=true" title="class or interface in java.util">Deque</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureSimpleRunQueue.html#line.35">runnables</a></pre>
 </li>
 </ul>
 <a name="lock">
@@ -342,13 +342,13 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureR
 <ul class="blockList">
 <li class="blockList">
 <h4>poll</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureSimpleRunQueue.html#line.68">poll</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureSimpleRunQueue.html#line.68">poll</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#poll()">ProcedureRunnableSet</a></code></strong></div>
 <div class="block">Fetch one Procedure from the queue</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#poll()">poll</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureRunnableSet</a></code></dd>
-<dt><span class="strong">Returns:</span></dt><dd>the Procedure ID to execute, or null if nothing present.</dd></dl>
+<dt><span class="strong">Returns:</span></dt><dd>the Procedure to execute, or null if nothing present.</dd></dl>
 </li>
 </ul>
 <a name="signalAll()">


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html b/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html
index 8df5c2c..6c15847 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html
@@ -96,7 +96,7 @@
 <hr>
 <br>
 <pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html#line.57">HBaseSaslRpcClient</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html#line.58">HBaseSaslRpcClient</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">A utility class that encapsulates SASL logic for RPC client.
  Copied from <code>org.apache.hadoop.security</code></div>
@@ -149,6 +149,10 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/javax/security/sasl/SaslClient.html?is-external=true" title="class or interface in javax.security.sasl">SaslClient</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html#saslClient">saslClient</a></strong></code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html#saslProps">saslProps</a></strong></code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -265,7 +269,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html#line.58">LOG</a></pre>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html#line.59">LOG</a></pre>
 </li>
 </ul>
 <a name="saslClient">
@@ -274,16 +278,25 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>saslClient</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/javax/security/sasl/SaslClient.html?is-external=true" title="class or interface in javax.security.sasl">SaslClient</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html#line.60">saslClient</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/javax/security/sasl/SaslClient.html?is-external=true" title="class or interface in javax.security.sasl">SaslClient</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html#line.61">saslClient</a></pre>
 </li>
 </ul>
 <a name="fallbackAllowed">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>fallbackAllowed</h4>
-<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html#line.61">fallbackAllowed</a></pre>
+<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html#line.62">fallbackAllowed</a></pre>
+</li>
+</ul>
+<a name="saslProps">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>saslProps</h4>
+<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/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/security/HBaseSaslRpcClient.html#line.63">saslProps</a></pre>
 </li>
 </ul>
 </li>
@@ -300,7 +313,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>HBaseSaslRpcClient</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html#line.75">HBaseSaslRpcClient</a>(<a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security">AuthMethod</a>&nbsp;method,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html#line.77">HBaseSaslRpcClient</a>(<a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security">AuthMethod</a>&nbsp;method,
                   org.apache.hadoop.security.token.Token&lt;? extends org.apache.hadoop.security.token.TokenIdentifier&gt;&nbsp;token,
                   <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;serverPrincipal,
                   boolean&nbsp;fallbackAllowed)
@@ -317,7 +330,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HBaseSaslRpcClient</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html#line.95">HBaseSaslRpcClient</a>(<a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security">AuthMethod</a>&nbsp;method,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html#line.97">HBaseSaslRpcClient</a>(<a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security">AuthMethod</a>&nbsp;method,
                   org.apache.hadoop.security.token.Token&lt;? extends org.apache.hadoop.security.token.TokenIdentifier&gt;&nbsp;token,
                   <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;serverPrincipal,
                   boolean&nbsp;fallbackAllowed,
@@ -343,7 +356,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>createDigestSaslClient</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/javax/security/sasl/SaslClient.html?is-external=true" title="class or interface in javax.security.sasl">SaslClient</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html#line.137">createDigestSaslClient</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;mechanismNames,
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/javax/security/sasl/SaslClient.html?is-external=true" title="class or interface in javax.security.sasl">SaslClient</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html#line.139">createDigestSaslClient</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;mechanismNames,
                                 <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;saslDefaultRealm,
                                 <a href="http://docs.oracle.com/javase/7/docs/api/javax/security/auth/callback/CallbackHandler.html?is-external=true" title="class or interface in javax.security.auth.callback">CallbackHandler</a>&nbsp;saslClientCallbackHandler)
                                      throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -357,7 +370,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>createKerberosSaslClient</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/javax/security/sasl/SaslClient.html?is-external=true" title="class or interface in javax.security.sasl">SaslClient</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html#line.144">createKerberosSaslClient</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;mechanismNames,
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/javax/security/sasl/SaslClient.html?is-external=true" title="class or interface in javax.security.sasl">SaslClient</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html#line.146">createKerberosSaslClient</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;mechanismNames,
                                   <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userFirstPart,
                                   <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userSecondPart)
                                        throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -371,7 +384,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>readStatus</h4>
-<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html#line.150">readStatus</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;inStream)
+<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html#line.152">readStatus</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;inStream)
                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -383,7 +396,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>saslConnect</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html#line.170">saslConnect</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;inS,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html#line.172">saslConnect</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;inS,
                   <a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;outS)
                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Do client side SASL authentication with server via the given InputStream
@@ -401,7 +414,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getInputStream</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html#line.252">getInputStream</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;in)
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html#line.254">getInputStream</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;in)
                            throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Get a SASL wrapped InputStream. Can be called only after saslConnect() has
  been called.</div>
@@ -417,7 +430,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getOutputStream</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html#line.268">getOutputStream</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;out)
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html#line.270">getOutputStream</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;out)
                              throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Get a SASL wrapped OutputStream. Can be called only after saslConnect() has
  been called.</div>
@@ -433,7 +446,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>dispose</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html#line.276">dispose</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html#line.278">dispose</a>()
              throws <a href="http://docs.oracle.com/javase/7/docs/api/javax/security/sasl/SaslException.html?is-external=true" title="class or interface in javax.security.sasl">SaslException</a></pre>
 <div class="block">Release resources used by wrapped saslClient</div>
 <dl><dt><span class="strong">Throws:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html b/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html
index 507b19c..8281c7b 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html
@@ -103,7 +103,7 @@
 </dl>
 <hr>
 <br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.72">HBaseSaslRpcServer.SaslDigestCallbackHandler</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.79">HBaseSaslRpcServer.SaslDigestCallbackHandler</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="http://docs.oracle.com/javase/7/docs/api/javax/security/auth/callback/CallbackHandler.html?is-external=true" title="class or interface in javax.security.auth.callback">CallbackHandler</a></pre>
 <div class="block">CallbackHandler for SASL DIGEST-MD5 mechanism</div>
@@ -202,7 +202,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/javax/security/auth
 <ul class="blockList">
 <li class="blockList">
 <h4>secretManager</h4>
-<pre>private&nbsp;org.apache.hadoop.security.token.SecretManager&lt;org.apache.hadoop.security.token.TokenIdentifier&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html#line.73">secretManager</a></pre>
+<pre>private&nbsp;org.apache.hadoop.security.token.SecretManager&lt;org.apache.hadoop.security.token.TokenIdentifier&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html#line.80">secretManager</a></pre>
 </li>
 </ul>
 <a name="connection">
@@ -211,7 +211,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/javax/security/auth
 <ul class="blockListLast">
 <li class="blockList">
 <h4>connection</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Connection.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Connection</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html#line.74">connection</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Connection.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Connection</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html#line.81">connection</a></pre>
 </li>
 </ul>
 </li>
@@ -228,7 +228,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/javax/security/auth
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HBaseSaslRpcServer.SaslDigestCallbackHandler</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html#line.76">HBaseSaslRpcServer.SaslDigestCallbackHandler</a>(org.apache.hadoop.security.token.SecretManager&lt;org.apache.hadoop.security.token.TokenIdentifier&gt;&nbsp;secretManager,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html#line.83">HBaseSaslRpcServer.SaslDigestCallbackHandler</a>(org.apache.hadoop.security.token.SecretManager&lt;org.apache.hadoop.security.token.TokenIdentifier&gt;&nbsp;secretManager,
                                             <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Connection.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Connection</a>&nbsp;connection)</pre>
 </li>
 </ul>
@@ -246,7 +246,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/javax/security/auth
 <ul class="blockList">
 <li class="blockList">
 <h4>getPassword</h4>
-<pre>private&nbsp;char[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html#line.83">getPassword</a>(org.apache.hadoop.security.token.TokenIdentifier&nbsp;tokenid)
+<pre>private&nbsp;char[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html#line.90">getPassword</a>(org.apache.hadoop.security.token.TokenIdentifier&nbsp;tokenid)
                     throws org.apache.hadoop.security.token.SecretManager.InvalidToken</pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code>org.apache.hadoop.security.token.SecretManager.InvalidToken</code></dd></dl>
@@ -258,7 +258,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/javax/security/auth
 <ul class="blockListLast">
 <li class="blockList">
 <h4>handle</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html#line.89">handle</a>(<a href="http://docs.oracle.com/javase/7/docs/api/javax/security/auth/callback/Callback.html?is-external=true" title="class or interface in javax.security.auth.callback">Callback</a>[]&nbsp;callbacks)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html#line.96">handle</a>(<a href="http://docs.oracle.com/javase/7/docs/api/javax/security/auth/callback/Callback.html?is-external=true" title="class or interface in javax.security.auth.callback">Callback</a>[]&nbsp;callbacks)
             throws org.apache.hadoop.security.token.SecretManager.InvalidToken,
                    <a href="http://docs.oracle.com/javase/7/docs/api/javax/security/auth/callback/UnsupportedCallbackException.html?is-external=true" title="class or interface in javax.security.auth.callback">UnsupportedCallbackException</a></pre>
 <dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslGssCallbackHandler.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslGssCallbackHandler.html b/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslGssCallbackHandler.html
index 756090d..a0183e1 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslGssCallbackHandler.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslGssCallbackHandler.html
@@ -103,7 +103,7 @@
 </dl>
 <hr>
 <br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.142">HBaseSaslRpcServer.SaslGssCallbackHandler</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.149">HBaseSaslRpcServer.SaslGssCallbackHandler</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="http://docs.oracle.com/javase/7/docs/api/javax/security/auth/callback/CallbackHandler.html?is-external=true" title="class or interface in javax.security.auth.callback">CallbackHandler</a></pre>
 <div class="block">CallbackHandler for SASL GSSAPI Kerberos mechanism</div>
@@ -174,7 +174,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/javax/security/auth
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HBaseSaslRpcServer.SaslGssCallbackHandler</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslGssCallbackHandler.html#line.142">HBaseSaslRpcServer.SaslGssCallbackHandler</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslGssCallbackHandler.html#line.149">HBaseSaslRpcServer.SaslGssCallbackHandler</a>()</pre>
 </li>
 </ul>
 </li>
@@ -191,7 +191,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/javax/security/auth
 <ul class="blockListLast">
 <li class="blockList">
 <h4>handle</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslGssCallbackHandler.html#line.146">handle</a>(<a href="http://docs.oracle.com/javase/7/docs/api/javax/security/auth/callback/Callback.html?is-external=true" title="class or interface in javax.security.auth.callback">Callback</a>[]&nbsp;callbacks)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslGssCallbackHandler.html#line.153">handle</a>(<a href="http://docs.oracle.com/javase/7/docs/api/javax/security/auth/callback/Callback.html?is-external=true" title="class or interface in javax.security.auth.callback">Callback</a>[]&nbsp;callbacks)
             throws <a href="http://docs.oracle.com/javase/7/docs/api/javax/security/auth/callback/UnsupportedCallbackException.html?is-external=true" title="class or interface in javax.security.auth.callback">UnsupportedCallbackException</a></pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html b/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html
index 5715e48..f473e5b 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html
@@ -96,7 +96,7 @@
 <hr>
 <br>
 <pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.48">HBaseSaslRpcServer</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.49">HBaseSaslRpcServer</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">A utility class for dealing with SASL on RPC server</div>
 </li>
@@ -148,6 +148,10 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <td class="colFirst"><code>private static org.apache.commons.logging.Log</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#LOG">LOG</a></strong></code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#saslProps">saslProps</a></strong></code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -186,6 +190,10 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
                           org.apache.hadoop.security.token.SecretManager&lt;T&gt;&nbsp;secretManager)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#getSaslProps()">getSaslProps</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#init(org.apache.hadoop.conf.Configuration)">init</a></strong>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>&nbsp;</td>
 </tr>
@@ -214,10 +222,19 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <a name="LOG">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.49">LOG</a></pre>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.50">LOG</a></pre>
+</li>
+</ul>
+<a name="saslProps">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>saslProps</h4>
+<pre>private static&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/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/security/HBaseSaslRpcServer.html#line.52">saslProps</a></pre>
 </li>
 </ul>
 </li>
@@ -234,7 +251,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HBaseSaslRpcServer</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.48">HBaseSaslRpcServer</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.49">HBaseSaslRpcServer</a>()</pre>
 </li>
 </ul>
 </li>
@@ -251,7 +268,16 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>init</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.51">init</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.54">init</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+</li>
+</ul>
+<a name="getSaslProps()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSaslProps</h4>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/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/security/HBaseSaslRpcServer.html#line.59">getSaslProps</a>()</pre>
 </li>
 </ul>
 <a name="getIdentifier(java.lang.String, org.apache.hadoop.security.token.SecretManager)">
@@ -260,7 +286,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getIdentifier</h4>
-<pre>public static&nbsp;&lt;T extends org.apache.hadoop.security.token.TokenIdentifier&gt;&nbsp;T&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.56">getIdentifier</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
+<pre>public static&nbsp;&lt;T extends org.apache.hadoop.security.token.TokenIdentifier&gt;&nbsp;T&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.63">getIdentifier</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
                                                                            org.apache.hadoop.security.token.SecretManager&lt;T&gt;&nbsp;secretManager)
                                                                                 throws org.apache.hadoop.security.token.SecretManager.InvalidToken</pre>
 <dl><dt><span class="strong">Throws:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/security/SaslClientHandler.SaslExceptionHandler.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/SaslClientHandler.SaslExceptionHandler.html b/devapidocs/org/apache/hadoop/hbase/security/SaslClientHandler.SaslExceptionHandler.html
index fb67411..6a1558d 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/SaslClientHandler.SaslExceptionHandler.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/SaslClientHandler.SaslExceptionHandler.html
@@ -91,7 +91,7 @@
 </dl>
 <hr>
 <br>
-<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.357">SaslClientHandler.SaslExceptionHandler</a></pre>
+<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.338">SaslClientHandler.SaslExceptionHandler</a></pre>
 <div class="block">Handler for exceptions during Sasl connection</div>
 </li>
 </ul>
@@ -140,11 +140,11 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>handle</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.SaslExceptionHandler.html#line.365">handle</a>(int&nbsp;retryCount,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.SaslExceptionHandler.html#line.345">handle</a>(int&nbsp;retryCount,
           <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a>&nbsp;random,
           <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;cause)</pre>
 <div class="block">Handle the exception</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>retryCount</code> - current retry count</dd><dd><code>random</code> - to create new backoff with</dd><dd><code>cause</code> - of fail</dd></dl>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>retryCount</code> - current retry count</dd><dd><code>random</code> - to create new backoff with</dd></dl>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/security/SaslClientHandler.SaslSuccessfulConnectHandler.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/SaslClientHandler.SaslSuccessfulConnectHandler.html b/devapidocs/org/apache/hadoop/hbase/security/SaslClientHandler.SaslSuccessfulConnectHandler.html
index 4fada58..fe59878 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/SaslClientHandler.SaslSuccessfulConnectHandler.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/SaslClientHandler.SaslSuccessfulConnectHandler.html
@@ -91,7 +91,7 @@
 </dl>
 <hr>
 <br>
-<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.371">SaslClientHandler.SaslSuccessfulConnectHandler</a></pre>
+<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.351">SaslClientHandler.SaslSuccessfulConnectHandler</a></pre>
 <div class="block">Handler for successful connects</div>
 </li>
 </ul>
@@ -138,7 +138,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>onSuccess</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.SaslSuccessfulConnectHandler.html#line.377">onSuccess</a>(io.netty.channel.Channel&nbsp;channel)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.SaslSuccessfulConnectHandler.html#line.357">onSuccess</a>(io.netty.channel.Channel&nbsp;channel)</pre>
 <div class="block">Runs on success</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>channel</code> - which is successfully authenticated</dd></dl>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/security/SaslClientHandler.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/SaslClientHandler.html b/devapidocs/org/apache/hadoop/hbase/security/SaslClientHandler.html
index 2844e1f..137a1d3 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/SaslClientHandler.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/SaslClientHandler.html
@@ -115,7 +115,7 @@
 <hr>
 <br>
 <pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.50">SaslClientHandler</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.51">SaslClientHandler</a>
 extends io.netty.channel.ChannelDuplexHandler</pre>
 <div class="block">Handles Sasl connections</div>
 </li>
@@ -201,14 +201,18 @@ extends io.netty.channel.ChannelDuplexHandler</pre>
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/security/SaslClientHandler.html#saslProps">saslProps</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>private byte[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/security/SaslClientHandler.html#saslToken">saslToken</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/security/SaslClientHandler.SaslSuccessfulConnectHandler.html" title="interface in org.apache.hadoop.hbase.security">SaslClientHandler.SaslSuccessfulConnectHandler</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/security/SaslClientHandler.html#successfulConnectHandler">successfulConnectHandler</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private org.apache.hadoop.security.UserGroupInformation</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/security/SaslClientHandler.html#ticket">ticket</a></strong></code>&nbsp;</td>
 </tr>
@@ -234,9 +238,7 @@ extends io.netty.channel.ChannelDuplexHandler</pre>
                                   boolean&nbsp;fallbackAllowed,
                                   <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;rpcProtection,
                                   <a href="../../../../../org/apache/hadoop/hbase/security/SaslClientHandler.SaslExceptionHandler.html" title="interface in org.apache.hadoop.hbase.security">SaslClientHandler.SaslExceptionHandler</a>&nbsp;exceptionHandler,
-                                  <a href="../../../../../org/apache/hadoop/hbase/security/SaslClientHandler.SaslSuccessfulConnectHandler.html" title="interface in org.apache.hadoop.hbase.security">SaslClientHandler.SaslSuccessfulConnectHandler</a>&nbsp;successfulConnectHandler)</code>
-<div class="block">Constructor</div>
-</td>
+                                  <a href="../../../../../org/apache/hadoop/hbase/security/SaslClientHandler.SaslSuccessfulConnectHandler.html" title="interface in org.apache.hadoop.hbase.security">SaslClientHandler.SaslSuccessfulConnectHandler</a>&nbsp;successfulConnectHandler)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -306,9 +308,7 @@ extends io.netty.channel.ChannelDuplexHandler</pre>
 <tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/security/SaslClientHandler.html#writeSaslToken(io.netty.channel.ChannelHandlerContext,%20byte[])">writeSaslToken</a></strong>(io.netty.channel.ChannelHandlerContext&nbsp;ctx,
-                            byte[]&nbsp;saslToken)</code>
-<div class="block">Write SASL token</div>
-</td>
+                            byte[]&nbsp;saslToken)</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -366,7 +366,7 @@ extends io.netty.channel.ChannelDuplexHandler</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.51">LOG</a></pre>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.52">LOG</a></pre>
 </li>
 </ul>
 <a name="fallbackAllowed">
@@ -375,7 +375,7 @@ extends io.netty.channel.ChannelDuplexHandler</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>fallbackAllowed</h4>
-<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.53">fallbackAllowed</a></pre>
+<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.54">fallbackAllowed</a></pre>
 </li>
 </ul>
 <a name="ticket">
@@ -384,7 +384,7 @@ extends io.netty.channel.ChannelDuplexHandler</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>ticket</h4>
-<pre>private final&nbsp;org.apache.hadoop.security.UserGroupInformation <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.55">ticket</a></pre>
+<pre>private final&nbsp;org.apache.hadoop.security.UserGroupInformation <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.56">ticket</a></pre>
 </li>
 </ul>
 <a name="saslClient">
@@ -393,17 +393,26 @@ extends io.netty.channel.ChannelDuplexHandler</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>saslClient</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/javax/security/sasl/SaslClient.html?is-external=true" title="class or interface in javax.security.sasl">SaslClient</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.60">saslClient</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/javax/security/sasl/SaslClient.html?is-external=true" title="class or interface in javax.security.sasl">SaslClient</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.61">saslClient</a></pre>
 <div class="block">Used for client or server's token to send or receive from each other.</div>
 </li>
 </ul>
+<a name="saslProps">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>saslProps</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/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/security/SaslClientHandler.html#line.62">saslProps</a></pre>
+</li>
+</ul>
 <a name="exceptionHandler">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>exceptionHandler</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/SaslClientHandler.SaslExceptionHandler.html" title="interface in org.apache.hadoop.hbase.security">SaslClientHandler.SaslExceptionHandler</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.61">exceptionHandler</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/SaslClientHandler.SaslExceptionHandler.html" title="interface in org.apache.hadoop.hbase.security">SaslClientHandler.SaslExceptionHandler</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.63">exceptionHandler</a></pre>
 </li>
 </ul>
 <a name="successfulConnectHandler">
@@ -412,7 +421,7 @@ extends io.netty.channel.ChannelDuplexHandler</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>successfulConnectHandler</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/SaslClientHandler.SaslSuccessfulConnectHandler.html" title="interface in org.apache.hadoop.hbase.security">SaslClientHandler.SaslSuccessfulConnectHandler</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.62">successfulConnectHandler</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/SaslClientHandler.SaslSuccessfulConnectHandler.html" title="interface in org.apache.hadoop.hbase.security">SaslClientHandler.SaslSuccessfulConnectHandler</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.64">successfulConnectHandler</a></pre>
 </li>
 </ul>
 <a name="saslToken">
@@ -421,7 +430,7 @@ extends io.netty.channel.ChannelDuplexHandler</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>saslToken</h4>
-<pre>private&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.63">saslToken</a></pre>
+<pre>private&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.65">saslToken</a></pre>
 </li>
 </ul>
 <a name="firstRead">
@@ -430,7 +439,7 @@ extends io.netty.channel.ChannelDuplexHandler</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>firstRead</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.64">firstRead</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.66">firstRead</a></pre>
 </li>
 </ul>
 <a name="retryCount">
@@ -439,7 +448,7 @@ extends io.netty.channel.ChannelDuplexHandler</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>retryCount</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.66">retryCount</a></pre>
+<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.68">retryCount</a></pre>
 </li>
 </ul>
 <a name="random">
@@ -448,7 +457,7 @@ extends io.netty.channel.ChannelDuplexHandler</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>random</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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/security/SaslClientHandler.html#line.67">random</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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/security/SaslClientHandler.html#line.69">random</a></pre>
 </li>
 </ul>
 </li>
@@ -465,7 +474,7 @@ extends io.netty.channel.ChannelDuplexHandler</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>SaslClientHandler</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.83">SaslClientHandler</a>(org.apache.hadoop.security.UserGroupInformation&nbsp;ticket,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.81">SaslClientHandler</a>(org.apache.hadoop.security.UserGroupInformation&nbsp;ticket,
                  <a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security">AuthMethod</a>&nbsp;method,
                  org.apache.hadoop.security.token.Token&lt;? extends org.apache.hadoop.security.token.TokenIdentifier&gt;&nbsp;token,
                  <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;serverPrincipal,
@@ -474,9 +483,8 @@ extends io.netty.channel.ChannelDuplexHandler</pre>
                  <a href="../../../../../org/apache/hadoop/hbase/security/SaslClientHandler.SaslExceptionHandler.html" title="interface in org.apache.hadoop.hbase.security">SaslClientHandler.SaslExceptionHandler</a>&nbsp;exceptionHandler,
                  <a href="../../../../../org/apache/hadoop/hbase/security/SaslClientHandler.SaslSuccessfulConnectHandler.html" title="interface in org.apache.hadoop.hbase.security">SaslClientHandler.SaslSuccessfulConnectHandler</a>&nbsp;successfulConnectHandler)
                   throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">Constructor</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>ticket</code> - the ugi</dd><dd><code>method</code> - auth method</dd><dd><code>token</code> - for Sasl</dd><dd><code>serverPrincipal</code> - Server's Kerberos principal name</dd><dd><code>fallbackAllowed</code> - True if server may also fall back to less secure connection</dd><dd><code>rpcProtection</code> - Quality of protection. Can be 'authentication', 'integrity' or
-                                 'privacy'.</dd><dd><code>exceptionHandler</code> - handler for exceptions</dd><dd><code>successfulConnectHandler</code> - handler for succesful connects</dd>
+                                 'privacy'.</dd>
 <dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if handler could not be created</dd></dl>
 </li>
@@ -495,15 +503,13 @@ extends io.netty.channel.ChannelDuplexHandler</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>createDigestSaslClient</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/javax/security/sasl/SaslClient.html?is-external=true" title="class or interface in javax.security.sasl">SaslClient</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.135">createDigestSaslClient</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;mechanismNames,
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/javax/security/sasl/SaslClient.html?is-external=true" title="class or interface in javax.security.sasl">SaslClient</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.127">createDigestSaslClient</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;mechanismNames,
                                 <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;saslDefaultRealm,
                                 <a href="http://docs.oracle.com/javase/7/docs/api/javax/security/auth/callback/CallbackHandler.html?is-external=true" title="class or interface in javax.security.auth.callback">CallbackHandler</a>&nbsp;saslClientCallbackHandler)
                                      throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Create a Digest Sasl client</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>mechanismNames</code> - names of mechanisms</dd><dd><code>saslDefaultRealm</code> - default realm for sasl</dd><dd><code>saslClientCallbackHandler</code> - handler for the client</dd>
-<dt><span class="strong">Returns:</span></dt><dd>new SaslClient</dd>
-<dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if creation went wrong</dd></dl>
+<dl><dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
 </li>
 </ul>
 <a name="createKerberosSaslClient(java.lang.String[], java.lang.String, java.lang.String)">
@@ -512,15 +518,14 @@ extends io.netty.channel.ChannelDuplexHandler</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>createKerberosSaslClient</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/javax/security/sasl/SaslClient.html?is-external=true" title="class or interface in javax.security.sasl">SaslClient</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.150">createKerberosSaslClient</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;mechanismNames,
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/javax/security/sasl/SaslClient.html?is-external=true" title="class or interface in javax.security.sasl">SaslClient</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.139">createKerberosSaslClient</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;mechanismNames,
                                   <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userFirstPart,
                                   <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userSecondPart)
                                        throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Create Kerberos client</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>mechanismNames</code> - names of mechanisms</dd><dd><code>userFirstPart</code> - first part of username</dd><dd><code>userSecondPart</code> - second part of username</dd>
-<dt><span class="strong">Returns:</span></dt><dd>new SaslClient</dd>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>userFirstPart</code> - first part of username</dd><dd><code>userSecondPart</code> - second part of username</dd>
 <dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if fails</dd></dl>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
 </li>
 </ul>
 <a name="channelUnregistered(io.netty.channel.ChannelHandlerContext)">
@@ -529,7 +534,7 @@ extends io.netty.channel.ChannelDuplexHandler</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>channelUnregistered</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.158">channelUnregistered</a>(io.netty.channel.ChannelHandlerContext&nbsp;ctx)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.147">channelUnregistered</a>(io.netty.channel.ChannelHandlerContext&nbsp;ctx)
                          throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
@@ -546,7 +551,7 @@ extends io.netty.channel.ChannelDuplexHandler</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>evaluateChallenge</h4>
-<pre>private&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.162">evaluateChallenge</a>(byte[]&nbsp;challenge)
+<pre>private&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.151">evaluateChallenge</a>(byte[]&nbsp;challenge)
                           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
@@ -558,7 +563,7 @@ extends io.netty.channel.ChannelDuplexHandler</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>handlerAdded</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.173">handlerAdded</a>(io.netty.channel.ChannelHandlerContext&nbsp;ctx)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.162">handlerAdded</a>(io.netty.channel.ChannelHandlerContext&nbsp;ctx)
                   throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
@@ -575,7 +580,7 @@ extends io.netty.channel.ChannelDuplexHandler</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>channelRead</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.187">channelRead</a>(io.netty.channel.ChannelHandlerContext&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.176">channelRead</a>(io.netty.channel.ChannelHandlerContext&nbsp;ctx,
                <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;msg)
                  throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
@@ -593,10 +598,8 @@ extends io.netty.channel.ChannelDuplexHandler</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>writeSaslToken</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.277">writeSaslToken</a>(io.netty.channel.ChannelHandlerContext&nbsp;ctx,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.261">writeSaslToken</a>(io.netty.channel.ChannelHandlerContext&nbsp;ctx,
                   byte[]&nbsp;saslToken)</pre>
-<div class="block">Write SASL token</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>ctx</code> - to write to</dd><dd><code>saslToken</code> - to write</dd></dl>
 </li>
 </ul>
 <a name="readStatus(io.netty.buffer.ByteBuf)">
@@ -605,12 +608,11 @@ extends io.netty.channel.ChannelDuplexHandler</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>readStatus</h4>
-<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.297">readStatus</a>(io.netty.buffer.ByteBuf&nbsp;inStream)
+<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.278">readStatus</a>(io.netty.buffer.ByteBuf&nbsp;inStream)
                         throws org.apache.hadoop.ipc.RemoteException</pre>
 <div class="block">Get the read status</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>inStream</code> - to read</dd>
-<dt><span class="strong">Throws:</span></dt>
-<dd><code>org.apache.hadoop.ipc.RemoteException</code> - if status was not success</dd></dl>
+<dl><dt><span class="strong">Throws:</span></dt>
+<dd><code>org.apache.hadoop.ipc.RemoteException</code></dd></dl>
 </li>
 </ul>
 <a name="exceptionCaught(io.netty.channel.ChannelHandlerContext, java.lang.Throwable)">
@@ -619,7 +621,7 @@ extends io.netty.channel.ChannelDuplexHandler</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>exceptionCaught</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.305">exceptionCaught</a>(io.netty.channel.ChannelHandlerContext&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.286">exceptionCaught</a>(io.netty.channel.ChannelHandlerContext&nbsp;ctx,
                    <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;cause)
                      throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
@@ -639,7 +641,7 @@ extends io.netty.channel.ChannelDuplexHandler</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>write</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.318">write</a>(io.netty.channel.ChannelHandlerContext&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslClientHandler.html#line.299">write</a>(io.netty.channel.ChannelHandlerContext&nbsp;ctx,
          <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;msg,
          io.netty.channel.ChannelPromise&nbsp;promise)
            throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html b/devapidocs/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html
index 3d6ff35..de72d00 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html
@@ -108,7 +108,7 @@
 </dl>
 <hr>
 <br>
-<pre>public static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.39">SaslUtil.QualityOfProtection</a>
+<pre>public static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.37">SaslUtil.QualityOfProtection</a>
 extends <a href="http://docs.oracle.com/javase/7/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/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security">SaslUtil.QualityOfProtection</a>&gt;</pre>
 </li>
 </ul>
@@ -152,7 +152,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#saslQop">saslQop</a></strong></code>&nbsp;</td>
 </tr>
 </table>
@@ -175,12 +175,16 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#getSaslQop()">getSaslQop</a></strong>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#matches(java.lang.String)">matches</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;stringQop)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security">SaslUtil.QualityOfProtection</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#valueOf(java.lang.String)">valueOf</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security">SaslUtil.QualityOfProtection</a>[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#values()">values</a></strong>()</code>
 <div class="block">Returns an array containing the constants of this enum type, in
@@ -222,7 +226,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>AUTHENTICATION</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security">SaslUtil.QualityOfProtection</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#line.40">AUTHENTICATION</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security">SaslUtil.QualityOfProtection</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#line.38">AUTHENTICATION</a></pre>
 </li>
 </ul>
 <a name="INTEGRITY">
@@ -231,7 +235,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>INTEGRITY</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security">SaslUtil.QualityOfProtection</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#line.41">INTEGRITY</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security">SaslUtil.QualityOfProtection</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#line.39">INTEGRITY</a></pre>
 </li>
 </ul>
 <a name="PRIVACY">
@@ -240,7 +244,7 @@ the order they are declared.</div>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PRIVACY</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security">SaslUtil.QualityOfProtection</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#line.42">PRIVACY</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security">SaslUtil.QualityOfProtection</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#line.40">PRIVACY</a></pre>
 </li>
 </ul>
 </li>
@@ -257,7 +261,7 @@ the order they are declared.</div>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>saslQop</h4>
-<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#line.44">saslQop</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#line.42">saslQop</a></pre>
 </li>
 </ul>
 </li>
@@ -274,7 +278,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/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security">SaslUtil.QualityOfProtection</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#line.39">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security">SaslUtil.QualityOfProtection</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#line.37">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:
@@ -291,7 +295,7 @@ for (SaslUtil.QualityOfProtection c : SaslUtil.QualityOfProtection.values())
 <ul class="blockList">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security">SaslUtil.QualityOfProtection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#line.39">valueOf</a>(<a href="http://docs.oracle.com/javase/7/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/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security">SaslUtil.QualityOfProtection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#line.37">valueOf</a>(<a href="http://docs.oracle.com/javase/7/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 
@@ -306,10 +310,19 @@ not permitted.)</div>
 <a name="getSaslQop()">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getSaslQop</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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/security/SaslUtil.QualityOfProtection.html#line.50">getSaslQop</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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/security/SaslUtil.QualityOfProtection.html#line.48">getSaslQop</a>()</pre>
+</li>
+</ul>
+<a name="matches(java.lang.String)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>matches</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#line.52">matches</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;stringQop)</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/security/SaslUtil.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/SaslUtil.html b/devapidocs/org/apache/hadoop/hbase/security/SaslUtil.html
index d33700a..ec77b52 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/SaslUtil.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/SaslUtil.html
@@ -144,10 +144,6 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.html#SASL_DEFAULT_REALM">SASL_DEFAULT_REALM</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.html#SASL_PROPS">SASL_PROPS</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.html#SWITCH_TO_SIMPLE_AUTH">SWITCH_TO_SIMPLE_AUTH</a></strong></code>&nbsp;</td>
 </tr>
@@ -203,7 +199,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>(package private) static void</code></td>
+<td class="colFirst"><code>(package private) static <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.html#initSaslProperties(java.lang.String)">initSaslProperties</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;rpcProtection)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
@@ -253,22 +249,13 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.security.SaslUtil.SASL_DEFAULT_REALM">Constant Field Values</a></dd></dl>
 </li>
 </ul>
-<a name="SASL_PROPS">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>SASL_PROPS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/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/security/SaslUtil.html#line.35">SASL_PROPS</a></pre>
-</li>
-</ul>
 <a name="SWITCH_TO_SIMPLE_AUTH">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>SWITCH_TO_SIMPLE_AUTH</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.37">SWITCH_TO_SIMPLE_AUTH</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.35">SWITCH_TO_SIMPLE_AUTH</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.security.SaslUtil.SWITCH_TO_SIMPLE_AUTH">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -303,7 +290,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>splitKerberosName</h4>
-<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/7/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/security/SaslUtil.html#line.56">splitKerberosName</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fullName)</pre>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/7/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/security/SaslUtil.html#line.63">splitKerberosName</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fullName)</pre>
 <div class="block">Splitting fully qualified Kerberos name into parts</div>
 </li>
 </ul>
@@ -313,7 +300,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>encodeIdentifier</h4>
-<pre>static&nbsp;<a href="http://docs.oracle.com/javase/7/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/security/SaslUtil.html#line.60">encodeIdentifier</a>(byte[]&nbsp;identifier)</pre>
+<pre>static&nbsp;<a href="http://docs.oracle.com/javase/7/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/security/SaslUtil.html#line.67">encodeIdentifier</a>(byte[]&nbsp;identifier)</pre>
 </li>
 </ul>
 <a name="decodeIdentifier(java.lang.String)">
@@ -322,7 +309,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>decodeIdentifier</h4>
-<pre>static&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.64">decodeIdentifier</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;identifier)</pre>
+<pre>static&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.71">decodeIdentifier</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;identifier)</pre>
 </li>
 </ul>
 <a name="encodePassword(byte[])">
@@ -331,7 +318,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>encodePassword</h4>
-<pre>static&nbsp;char[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.68">encodePassword</a>(byte[]&nbsp;password)</pre>
+<pre>static&nbsp;char[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.75">encodePassword</a>(byte[]&nbsp;password)</pre>
 </li>
 </ul>
 <a name="getQop(java.lang.String)">
@@ -340,10 +327,11 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getQop</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security">SaslUtil.QualityOfProtection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.77">getQop</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;stringQop)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security">SaslUtil.QualityOfProtection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.84">getQop</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;stringQop)</pre>
 <div class="block">Returns <a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security"><code>SaslUtil.QualityOfProtection</code></a>
- corresponding to the given <code>stringQop</code> value. Returns null if value is
- invalid.</div>
+ corresponding to the given <code>stringQop</code> value.</div>
+<dl><dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If stringQop doesn't match any QOP.</dd></dl>
 </li>
 </ul>
 <a name="initSaslProperties(java.lang.String)">
@@ -352,7 +340,9 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>initSaslProperties</h4>
-<pre>static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.102">initSaslProperties</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;rpcProtection)</pre>
+<pre>static&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/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/security/SaslUtil.html#line.98">initSaslProperties</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;rpcProtection)</pre>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>rpcProtection</code> - Value of 'hbase.rpc.protection' configuration.</dd>
+<dt><span class="strong">Returns:</span></dt><dd>Map with values for SASL properties.</dd></dl>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/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 b606bf6..1be466e 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
@@ -140,9 +140,9 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/7/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="strong">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="strong">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="strong">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="strong">AccessController.OpType</span></a></li>
 </ul>
 </li>
 </ul>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/class-use/TableLockManager.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/class-use/TableLockManager.html b/devapidocs/org/apache/hadoop/hbase/master/class-use/TableLockManager.html
index ce4b0f5..6ab4405 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/class-use/TableLockManager.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/class-use/TableLockManager.html
@@ -294,7 +294,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a></code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#lockManager">lockManager</a></strong></code>&nbsp;</td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#lockManager">lockManager</a></strong></code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -306,31 +306,27 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.TableRunQueue.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html#releaseExclusiveLock(org.apache.hadoop.hbase.master.TableLockManager,%20org.apache.hadoop.hbase.TableName)">releaseExclusiveLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager,
-                                        <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.TableQueue.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#releaseTableLock(org.apache.hadoop.hbase.master.TableLockManager,%20boolean)">releaseTableLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager,
+                                boolean&nbsp;reset)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.TableRunQueue.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html#releaseSharedLock(org.apache.hadoop.hbase.master.TableLockManager,%20org.apache.hadoop.hbase.TableName)">releaseSharedLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager,
-                                  <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.TableQueue.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#releaseZkExclusiveLock(org.apache.hadoop.hbase.master.TableLockManager)">releaseZkExclusiveLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.TableRunQueue.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html#releaseTableLock(org.apache.hadoop.hbase.master.TableLockManager,%20boolean)">releaseTableLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager,
-                                boolean&nbsp;reset)</code>&nbsp;</td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.TableQueue.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#releaseZkSharedLock(org.apache.hadoop.hbase.master.TableLockManager)">releaseZkSharedLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.TableRunQueue.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html#tryExclusiveLock(org.apache.hadoop.hbase.master.TableLockManager,%20org.apache.hadoop.hbase.TableName,%20java.lang.String)">tryExclusiveLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager,
-                                <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-                                <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;purpose)</code>&nbsp;</td>
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.TableQueue.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#tryZkExclusiveLock(org.apache.hadoop.hbase.master.TableLockManager,%20java.lang.String)">tryZkExclusiveLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager,
+                                    <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;purpose)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.TableRunQueue.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html#trySharedLock(org.apache.hadoop.hbase.master.TableLockManager,%20org.apache.hadoop.hbase.TableName,%20java.lang.String)">trySharedLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager,
-                          <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-                          <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;purpose)</code>&nbsp;</td>
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.TableQueue.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#tryZkSharedLock(org.apache.hadoop.hbase.master.TableLockManager,%20java.lang.String)">tryZkSharedLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager,
+                              <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;purpose)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -341,8 +337,8 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#MasterProcedureQueue(org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.hbase.master.TableLockManager)">MasterProcedureQueue</a></strong>(org.apache.hadoop.conf.Configuration&nbsp;conf,
-                                        <a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager)</code>&nbsp;</td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#MasterProcedureScheduler(org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.hbase.master.TableLockManager)">MasterProcedureScheduler</a></strong>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+                                                <a href="../../../../../../org/apache/hadoop/hbase/master/TableLockManager.html" title="class in org.apache.hadoop.hbase.master">TableLockManager</a>&nbsp;lockManager)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html
index 096b540..5a37fc5 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html
@@ -110,7 +110,7 @@
 <hr>
 <br>
 <pre><a href="../../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.49">AddColumnFamilyProcedure</a>
+public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.48">AddColumnFamilyProcedure</a>
 extends <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">StateMachineProcedure</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>,org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.AddColumnFamilyState&gt;
 implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface</a></pre>
 <div class="block">The procedure to add a column family to an existing table.</div>
@@ -412,7 +412,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.52">LOG</a></pre>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.51">LOG</a></pre>
 </li>
 </ul>
 <a name="aborted">
@@ -421,7 +421,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>aborted</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.54">aborted</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.53">aborted</a></pre>
 </li>
 </ul>
 <a name="tableName">
@@ -430,7 +430,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>tableName</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.56">tableName</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.55">tableName</a></pre>
 </li>
 </ul>
 <a name="unmodifiedHTableDescriptor">
@@ -439,7 +439,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>unmodifiedHTableDescriptor</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.57">unmodifiedHTableDescriptor</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.56">unmodifiedHTableDescriptor</a></pre>
 </li>
 </ul>
 <a name="cfDescriptor">
@@ -448,7 +448,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>cfDescriptor</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.58">cfDescriptor</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.57">cfDescriptor</a></pre>
 </li>
 </ul>
 <a name="user">
@@ -457,7 +457,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>user</h4>
-<pre>private&nbsp;org.apache.hadoop.security.UserGroupInformation <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.59">user</a></pre>
+<pre>private&nbsp;org.apache.hadoop.security.UserGroupInformation <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.58">user</a></pre>
 </li>
 </ul>
 <a name="regionInfoList">
@@ -466,7 +466,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>regionInfoList</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.61">regionInfoList</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.60">regionInfoList</a></pre>
 </li>
 </ul>
 <a name="traceEnabled">
@@ -475,7 +475,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockListLast">
 <li class="blockList">
 <h4>traceEnabled</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.62">traceEnabled</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.61">traceEnabled</a></pre>
 </li>
 </ul>
 </li>
@@ -492,7 +492,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>AddColumnFamilyProcedure</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.64">AddColumnFamilyProcedure</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.63">AddColumnFamilyProcedure</a>()</pre>
 </li>
 </ul>
 <a name="AddColumnFamilyProcedure(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv, org.apache.hadoop.hbase.TableName, org.apache.hadoop.hbase.HColumnDescriptor)">
@@ -501,7 +501,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockListLast">
 <li class="blockList">
 <h4>AddColumnFamilyProcedure</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.70">AddColumnFamilyProcedure</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.69">AddColumnFamilyProcedure</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                         <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                         <a href="../../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&nbsp;cfDescriptor)
                          throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -523,7 +523,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>executeFromState</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2">StateMachineProcedure.Flow</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.84">executeFromState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2">StateMachineProcedure.Flow</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.83">executeFromState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                           org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.AddColumnFamilyState&nbsp;state)
                                                throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#executeFromState(TEnvironment,%20TState)">StateMachineProcedure</a></code></strong></div>
@@ -544,7 +544,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>rollbackState</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.124">rollbackState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.123">rollbackState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                  org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.AddColumnFamilyState&nbsp;state)
                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#rollbackState(TEnvironment,%20TState)">StateMachineProcedure</a></code></strong></div>
@@ -563,7 +563,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getState</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.AddColumnFamilyState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.157">getState</a>(int&nbsp;stateId)</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.AddColumnFamilyState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.156">getState</a>(int&nbsp;stateId)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getState(int)">StateMachineProcedure</a></code></strong></div>
 <div class="block">Convert an ordinal (or state id) to an Enum (or more descriptive) state object.</div>
 <dl>
@@ -579,7 +579,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getStateId</h4>
-<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.162">getStateId</a>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.AddColumnFamilyState&nbsp;state)</pre>
+<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.161">getStateId</a>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.AddColumnFamilyState&nbsp;state)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getStateId(TState)">StateMachineProcedure</a></code></strong></div>
 <div class="block">Convert the Enum (or more descriptive) state object to an ordinal (or state id).</div>
 <dl>
@@ -595,7 +595,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getInitialState</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.AddColumnFamilyState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.167">getInitialState</a>()</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.AddColumnFamilyState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.166">getInitialState</a>()</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getInitialState()">StateMachineProcedure</a></code></strong></div>
 <div class="block">Return the initial state object that will be used for the first call to executeFromState().</div>
 <dl>
@@ -610,7 +610,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>setNextState</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.172">setNextState</a>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.AddColumnFamilyState&nbsp;state)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.171">setNextState</a>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.AddColumnFamilyState&nbsp;state)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#setNextState(TState)">StateMachineProcedure</a></code></strong></div>
 <div class="block">Set the next state for the procedure.</div>
 <dl>
@@ -625,7 +625,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>abort</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.181">abort</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.180">abort</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#abort(TEnvironment)">Procedure</a></code></strong></div>
 <div class="block">The abort() call is asynchronous and each procedure must decide how to deal
  with that, if they want to be abortable. The simplest implementation
@@ -649,7 +649,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>acquireLock</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.187">acquireLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.186">acquireLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#acquireLock(TEnvironment)">Procedure</a></code></strong></div>
 <div class="block">The user should override this method, and try to take a lock if necessary.
  A lock can be anything, and it is up to the implementor.
@@ -668,7 +668,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>releaseLock</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.195">releaseLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.192">releaseLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#releaseLock(TEnvironment)">Procedure</a></code></strong></div>
 <div class="block">The user should override this method, and release lock if necessary.</div>
 <dl>
@@ -683,7 +683,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>serializeStateData</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.200">serializeStateData</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;stream)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.197">serializeStateData</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;stream)
                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#serializeStateData(java.io.OutputStream)">Procedure</a></code></strong></div>
 <div class="block">The user-level code of the procedure may have some state to
@@ -702,7 +702,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>deserializeStateData</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.216">deserializeStateData</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;stream)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.213">deserializeStateData</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;stream)
                           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#deserializeStateData(java.io.InputStream)">Procedure</a></code></strong></div>
 <div class="block">Called on store load to allow the user to decode the previously serialized
@@ -721,7 +721,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>toStringClassDetails</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.230">toStringClassDetails</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;sb)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.227">toStringClassDetails</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;sb)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringClassDetails(java.lang.StringBuilder)">Procedure</a></code></strong></div>
 <div class="block">Extend the toString() information with the procedure details
  e.g. className and parameters</div>
@@ -737,7 +737,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableName</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.244">getTableName</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.241">getTableName</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html#getTableName()">getTableName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface</a></code></dd>
@@ -750,7 +750,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableOperationType</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface.TableOperationType</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.249">getTableOperationType</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface.TableOperationType</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.246">getTableOperationType</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html#getTableOperationType()">TableProcedureInterface</a></code></strong></div>
 <div class="block">Given an operation type we can take decisions about what to do with pending operations.
  e.g. if we get a delete and we have some table operation pending (e.g. add column)
@@ -767,7 +767,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>prepareAdd</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.258">prepareAdd</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.255">prepareAdd</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                  throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Action before any real action of adding column family.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>env</code> - MasterProcedureEnv</dd>
@@ -781,7 +781,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>preAdd</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.280">preAdd</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.277">preAdd</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
           org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.AddColumnFamilyState&nbsp;state)
              throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                     <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
@@ -798,7 +798,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>updateTableDescriptor</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.288">updateTableDescriptor</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.285">updateTableDescriptor</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                             throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Add the column family to the file system</div>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -811,7 +811,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>restoreTableDescriptor</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.310">restoreTableDescriptor</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.307">restoreTableDescriptor</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                              throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Restore the table descriptor back to pre-add</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>env</code> - MasterProcedureEnv</dd>
@@ -825,7 +825,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>postAdd</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.332">postAdd</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.329">postAdd</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
            org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.AddColumnFamilyState&nbsp;state)
               throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                      <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
@@ -842,7 +842,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>reOpenAllRegionsIfTableIsOnline</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.342">reOpenAllRegionsIfTableIsOnline</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.339">reOpenAllRegionsIfTableIsOnline</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Last action from the procedure - executed when online schema change is supported.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>env</code> - MasterProcedureEnv</dd>
@@ -856,7 +856,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>isTraceEnabled</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.361">isTraceEnabled</a>()</pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.358">isTraceEnabled</a>()</pre>
 <div class="block">The procedure could be restarted from a different machine. If the variable is null, we need to
  retrieve it.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>traceEnabled</dd></dl>
@@ -868,7 +868,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getColumnFamilyName</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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/procedure/AddColumnFamilyProcedure.html#line.368">getColumnFamilyName</a>()</pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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/procedure/AddColumnFamilyProcedure.html#line.365">getColumnFamilyName</a>()</pre>
 </li>
 </ul>
 <a name="runCoprocessorAction(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv, org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.AddColumnFamilyState)">
@@ -877,7 +877,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>runCoprocessorAction</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.379">runCoprocessorAction</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.376">runCoprocessorAction</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                         org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.AddColumnFamilyState&nbsp;state)
                            throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                   <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
@@ -894,7 +894,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getRegionInfoList</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.402">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="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#line.399">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="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/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/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html
index 18e0f9e..8a6b2ab 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html
@@ -247,115 +247,119 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#getNamespaceName()">getNamespaceName</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>protected org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.CreateNamespaceState</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#getState(int)">getState</a></strong>(int&nbsp;stateId)</code>
 <div class="block">Convert an ordinal (or state id) to an Enum (or more descriptive) state object.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#getStateId(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.CreateNamespaceState)">getStateId</a></strong>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.CreateNamespaceState&nbsp;state)</code>
 <div class="block">Convert the Enum (or more descriptive) state object to an ordinal (or state id).</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#getTableName()">getTableName</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private static <a href="../../../../../../org/apache/hadoop/hbase/master/TableNamespaceManager.html" title="class in org.apache.hadoop.hbase.master">TableNamespaceManager</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#getTableNamespaceManager(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">getTableNamespaceManager</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface.TableOperationType</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#getTableOperationType()">getTableOperationType</a></strong>()</code>
 <div class="block">Given an operation type we can take decisions about what to do with pending operations.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected static void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#insertIntoNSTable(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv,%20org.apache.hadoop.hbase.NamespaceDescriptor)">insertIntoNSTable</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                   <a href="../../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;nsDescriptor)</code>
 <div class="block">Insert the row into ns table</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#isTraceEnabled()">isTraceEnabled</a></strong>()</code>
 <div class="block">The procedure could be restarted from a different machine.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#prepareCreate(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">prepareCreate</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>
 <div class="block">Action before any real action of creating namespace.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#releaseLock(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">releaseLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>
 <div class="block">The user should override this method, and release lock if necessary.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#rollbackCreateDirectory(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">rollbackCreateDirectory</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>
 <div class="block">undo create directory</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#rollbackInsertIntoNSTable(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">rollbackInsertIntoNSTable</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>
 <div class="block">Undo the insert.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#rollbackSetNamespaceQuota(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">rollbackSetNamespaceQuota</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>
 <div class="block">remove quota for the namespace if exists</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#rollbackState(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv,%20org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.CreateNamespaceState)">rollbackState</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                           org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.CreateNamespaceState&nbsp;state)</code>
 <div class="block">called to perform the rollback of the specified state</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#rollbackZKNamespaceManagerChange(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">rollbackZKNamespaceManagerChange</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>
 <div class="block">rollback Zookeeper update.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#serializeStateData(java.io.OutputStream)">serializeStateData</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;stream)</code>
 <div class="block">The user-level code of the procedure may have some state to
  persist (e.g.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected static void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#setNamespaceQuota(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv,%20org.apache.hadoop.hbase.NamespaceDescriptor)">setNamespaceQuota</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                   <a href="../../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;nsDescriptor)</code>
 <div class="block">Set quota for the namespace</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#setNextState(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.CreateNamespaceState)">setNextState</a></strong>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.CreateNamespaceState&nbsp;state)</code>
 <div class="block">Set the next state for the procedure.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#toStringClassDetails(java.lang.StringBuilder)">toStringClassDetails</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;sb)</code>
 <div class="block">Extend the toString() information with the procedure details
  e.g.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected static void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#updateZKNamespaceManager(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv,%20org.apache.hadoop.hbase.NamespaceDescriptor)">updateZKNamespaceManager</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                                 <a href="../../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;nsDescriptor)</code>
@@ -692,7 +696,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableName</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#line.221">getTableName</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#line.219">getTableName</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html#getTableName()">getTableName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface</a></code></dd>
@@ -705,7 +709,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableOperationType</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface.TableOperationType</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#line.226">getTableOperationType</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface.TableOperationType</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#line.224">getTableOperationType</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html#getTableOperationType()">TableProcedureInterface</a></code></strong></div>
 <div class="block">Given an operation type we can take decisions about what to do with pending operations.
  e.g. if we get a delete and we have some table operation pending (e.g. add column)
@@ -716,13 +720,22 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <dt><span class="strong">Returns:</span></dt><dd>the operation type that the procedure is executing.</dd></dl>
 </li>
 </ul>
+<a name="getNamespaceName()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNamespaceName</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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/procedure/CreateNamespaceProcedure.html#line.228">getNamespaceName</a>()</pre>
+</li>
+</ul>
 <a name="prepareCreate(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>prepareCreate</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#line.235">prepareCreate</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#line.237">prepareCreate</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Action before any real action of creating namespace.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>env</code> - MasterProcedureEnv</dd>
@@ -736,7 +749,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>createDirectory</h4>
-<pre>protected static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#line.248">createDirectory</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#line.250">createDirectory</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                    <a href="../../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;nsDescriptor)
                                throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Create the namespace directory</div>
@@ -751,7 +764,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>rollbackCreateDirectory</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#line.261">rollbackCreateDirectory</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#line.263">rollbackCreateDirectory</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                               throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">undo create directory</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>env</code> - MasterProcedureEnv</dd>
@@ -765,7 +778,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>insertIntoNSTable</h4>
-<pre>protected static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#line.276">insertIntoNSTable</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#line.278">insertIntoNSTable</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                      <a href="../../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;nsDescriptor)
                                  throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Insert the row into ns table</div>
@@ -780,7 +793,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>rollbackInsertIntoNSTable</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#line.287">rollbackInsertIntoNSTable</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#line.289">rollbackInsertIntoNSTable</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                                 throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Undo the insert.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>env</code> - MasterProcedureEnv</dd>
@@ -794,7 +807,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>updateZKNamespaceManager</h4>
-<pre>protected static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#line.302">updateZKNamespaceManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#line.304">updateZKNamespaceManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                             <a href="../../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;nsDescriptor)
                                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Update Zookeeper.</div>
@@ -809,7 +822,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>rollbackZKNamespaceManagerChange</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#line.313">rollbackZKNamespaceManagerChange</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#line.315">rollbackZKNamespaceManagerChange</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                                        throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">rollback Zookeeper update.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>env</code> - MasterProcedureEnv</dd>
@@ -823,7 +836,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>setNamespaceQuota</h4>
-<pre>protected static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#line.328">setNamespaceQuota</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#line.330">setNamespaceQuota</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                      <a href="../../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;nsDescriptor)
                                  throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Set quota for the namespace</div>
@@ -838,7 +851,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>rollbackSetNamespaceQuota</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#line.341">rollbackSetNamespaceQuota</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#line.343">rollbackSetNamespaceQuota</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                                 throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">remove quota for the namespace if exists</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>env</code> - MasterProcedureEnv</dd>
@@ -852,7 +865,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableNamespaceManager</h4>
-<pre>private static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/TableNamespaceManager.html" title="class in org.apache.hadoop.hbase.master">TableNamespaceManager</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#line.350">getTableNamespaceManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>private static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/TableNamespaceManager.html" title="class in org.apache.hadoop.hbase.master">TableNamespaceManager</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#line.352">getTableNamespaceManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 </li>
 </ul>
 <a name="isTraceEnabled()">
@@ -861,7 +874,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockListLast">
 <li class="blockList">
 <h4>isTraceEnabled</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#line.359">isTraceEnabled</a>()</pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#line.361">isTraceEnabled</a>()</pre>
 <div class="block">The procedure could be restarted from a different machine. If the variable is null, we need to
  retrieve it.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>traceEnabled</dd></dl>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html
index 784e9ae..1f58601 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html
@@ -46,551 +46,548 @@
 <span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.38"></a>
 <span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.39"></a>
 <span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.executor.EventType;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.master.AssignmentManager;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.master.BulkAssigner;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.master.GeneralBulkAssigner;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.master.MasterCoprocessorHost;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.master.MasterServices;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.master.RegionStates;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.master.ServerManager;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.master.TableStateManager;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.procedure2.StateMachineProcedure;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.EnableTableState;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.zookeeper.MetaTableLocator;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.56"></a>
-<span class="sourceLineNo">057</span><a name="line.57"></a>
-<span class="sourceLineNo">058</span>@InterfaceAudience.Private<a name="line.58"></a>
-<span class="sourceLineNo">059</span>public class EnableTableProcedure<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    extends StateMachineProcedure&lt;MasterProcedureEnv, EnableTableState&gt;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>    implements TableProcedureInterface {<a name="line.61"></a>
-<span class="sourceLineNo">062</span>  private static final Log LOG = LogFactory.getLog(EnableTableProcedure.class);<a name="line.62"></a>
-<span class="sourceLineNo">063</span><a name="line.63"></a>
-<span class="sourceLineNo">064</span>  private final AtomicBoolean aborted = new AtomicBoolean(false);<a name="line.64"></a>
-<span class="sourceLineNo">065</span><a name="line.65"></a>
-<span class="sourceLineNo">066</span>  // This is for back compatible with 1.0 asynchronized operations.<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  private final ProcedurePrepareLatch syncLatch;<a name="line.67"></a>
-<span class="sourceLineNo">068</span><a name="line.68"></a>
-<span class="sourceLineNo">069</span>  private TableName tableName;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>  private boolean skipTableStateCheck;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  private UserGroupInformation user;<a name="line.71"></a>
-<span class="sourceLineNo">072</span><a name="line.72"></a>
-<span class="sourceLineNo">073</span>  private Boolean traceEnabled = null;<a name="line.73"></a>
-<span class="sourceLineNo">074</span><a name="line.74"></a>
-<span class="sourceLineNo">075</span>  public EnableTableProcedure() {<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    syncLatch = null;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  }<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>  /**<a name="line.79"></a>
-<span class="sourceLineNo">080</span>   * Constructor<a name="line.80"></a>
-<span class="sourceLineNo">081</span>   * @param env MasterProcedureEnv<a name="line.81"></a>
-<span class="sourceLineNo">082</span>   * @param tableName the table to operate on<a name="line.82"></a>
-<span class="sourceLineNo">083</span>   * @param skipTableStateCheck whether to check table state<a name="line.83"></a>
-<span class="sourceLineNo">084</span>   * @throws IOException<a name="line.84"></a>
-<span class="sourceLineNo">085</span>   */<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  public EnableTableProcedure(<a name="line.86"></a>
-<span class="sourceLineNo">087</span>      final MasterProcedureEnv env,<a name="line.87"></a>
-<span class="sourceLineNo">088</span>      final TableName tableName,<a name="line.88"></a>
-<span class="sourceLineNo">089</span>      final boolean skipTableStateCheck) throws IOException {<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    this(env, tableName, skipTableStateCheck, null);<a name="line.90"></a>
-<span class="sourceLineNo">091</span>  }<a name="line.91"></a>
-<span class="sourceLineNo">092</span><a name="line.92"></a>
-<span class="sourceLineNo">093</span>  /**<a name="line.93"></a>
-<span class="sourceLineNo">094</span>   * Constructor<a name="line.94"></a>
-<span class="sourceLineNo">095</span>   * @param env MasterProcedureEnv<a name="line.95"></a>
-<span class="sourceLineNo">096</span>   * @param tableName the table to operate on<a name="line.96"></a>
-<span class="sourceLineNo">097</span>   * @param skipTableStateCheck whether to check table state<a name="line.97"></a>
-<span class="sourceLineNo">098</span>   * @throws IOException<a name="line.98"></a>
-<span class="sourceLineNo">099</span>   */<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  public EnableTableProcedure(<a name="line.100"></a>
-<span class="sourceLineNo">101</span>      final MasterProcedureEnv env,<a name="line.101"></a>
-<span class="sourceLineNo">102</span>      final TableName tableName,<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      final boolean skipTableStateCheck,<a name="line.103"></a>
-<span class="sourceLineNo">104</span>      final ProcedurePrepareLatch syncLatch) throws IOException {<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    this.tableName = tableName;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    this.skipTableStateCheck = skipTableStateCheck;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    this.user = env.getRequestUser().getUGI();<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    this.setOwner(this.user.getShortUserName());<a name="line.108"></a>
-<span class="sourceLineNo">109</span><a name="line.109"></a>
-<span class="sourceLineNo">110</span>    // Compatible with 1.0: We use latch to make sure that this procedure implementation is<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    // compatible with 1.0 asynchronized operations. We need to lock the table and check<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    // whether the Enable operation could be performed (table exists and offline; table state<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    // is DISABLED). Once it is done, we are good to release the latch and the client can<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    // start asynchronously wait for the operation.<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    //<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    // Note: the member syncLatch could be null if we are in failover or recovery scenario.<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    // This is ok for backward compatible, as 1.0 client would not able to peek at procedure.<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    this.syncLatch = syncLatch;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  }<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span>  @Override<a name="line.121"></a>
-<span class="sourceLineNo">122</span>  protected Flow executeFromState(final MasterProcedureEnv env, final EnableTableState state)<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      throws InterruptedException {<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    if (isTraceEnabled()) {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      LOG.trace(this + " execute state=" + state);<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>    try {<a name="line.128"></a>
-<span class="sourceLineNo">129</span>      switch (state) {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>      case ENABLE_TABLE_PREPARE:<a name="line.130"></a>
-<span class="sourceLineNo">131</span>        if (prepareEnable(env)) {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>          setNextState(EnableTableState.ENABLE_TABLE_PRE_OPERATION);<a name="line.132"></a>
-<span class="sourceLineNo">133</span>        } else {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>          assert isFailed() : "enable should have an exception here";<a name="line.134"></a>
-<span class="sourceLineNo">135</span>          return Flow.NO_MORE_STATE;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>        }<a name="line.136"></a>
-<span class="sourceLineNo">137</span>        break;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>      case ENABLE_TABLE_PRE_OPERATION:<a name="line.138"></a>
-<span class="sourceLineNo">139</span>        preEnable(env, state);<a name="line.139"></a>
-<span class="sourceLineNo">140</span>        setNextState(EnableTableState.ENABLE_TABLE_SET_ENABLING_TABLE_STATE);<a name="line.140"></a>
-<span class="sourceLineNo">141</span>        break;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      case ENABLE_TABLE_SET_ENABLING_TABLE_STATE:<a name="line.142"></a>
-<span class="sourceLineNo">143</span>        setTableStateToEnabling(env, tableName);<a name="line.143"></a>
-<span class="sourceLineNo">144</span>        setNextState(EnableTableState.ENABLE_TABLE_MARK_REGIONS_ONLINE);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>        break;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>      case ENABLE_TABLE_MARK_REGIONS_ONLINE:<a name="line.146"></a>
-<span class="sourceLineNo">147</span>        markRegionsOnline(env, tableName, true);<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        setNextState(EnableTableState.ENABLE_TABLE_SET_ENABLED_TABLE_STATE);<a name="line.148"></a>
-<span class="sourceLineNo">149</span>        break;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      case ENABLE_TABLE_SET_ENABLED_TABLE_STATE:<a name="line.150"></a>
-<span class="sourceLineNo">151</span>        setTableStateToEnabled(env, tableName);<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        setNextState(EnableTableState.ENABLE_TABLE_POST_OPERATION);<a name="line.152"></a>
-<span class="sourceLineNo">153</span>        break;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      case ENABLE_TABLE_POST_OPERATION:<a name="line.154"></a>
-<span class="sourceLineNo">155</span>        postEnable(env, state);<a name="line.155"></a>
-<span class="sourceLineNo">156</span>        return Flow.NO_MORE_STATE;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>      default:<a name="line.157"></a>
-<span class="sourceLineNo">158</span>        throw new UnsupportedOperationException("unhandled state=" + state);<a name="line.158"></a>
-<span class="sourceLineNo">159</span>      }<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    } catch (IOException e) {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      LOG.error("Error trying to enable table=" + tableName + " state=" + state, e);<a name="line.161"></a>
-<span class="sourceLineNo">162</span>      setFailure("master-enable-table", e);<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    }<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    return Flow.HAS_MORE_STATE;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>  }<a name="line.165"></a>
-<span class="sourceLineNo">166</span><a name="line.166"></a>
-<span class="sourceLineNo">167</span>  @Override<a name="line.167"></a>
-<span class="sourceLineNo">168</span>  protected void rollbackState(final MasterProcedureEnv env, final EnableTableState state)<a name="line.168"></a>
-<span class="sourceLineNo">169</span>      throws IOException {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    if (isTraceEnabled()) {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>      LOG.trace(this + " rollback state=" + state);<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    }<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    try {<a name="line.173"></a>
-<span class="sourceLineNo">174</span>      switch (state) {<a name="line.174"></a>
-<span class="sourceLineNo">175</span>      case ENABLE_TABLE_POST_OPERATION:<a name="line.175"></a>
-<span class="sourceLineNo">176</span>        // TODO-MAYBE: call the coprocessor event to undo (eg. DisableTableProcedure.preDisable())?<a name="line.176"></a>
-<span class="sourceLineNo">177</span>        break;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      case ENABLE_TABLE_SET_ENABLED_TABLE_STATE:<a name="line.178"></a>
-<span class="sourceLineNo">179</span>        DisableTableProcedure.setTableStateToDisabling(env, tableName);<a name="line.179"></a>
-<span class="sourceLineNo">180</span>        break;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      case ENABLE_TABLE_MARK_REGIONS_ONLINE:<a name="line.181"></a>
-<span class="sourceLineNo">182</span>        markRegionsOfflineDuringRecovery(env);<a name="line.182"></a>
-<span class="sourceLineNo">183</span>        break;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      case ENABLE_TABLE_SET_ENABLING_TABLE_STATE:<a name="line.184"></a>
-<span class="sourceLineNo">185</span>        DisableTableProcedure.setTableStateToDisabled(env, tableName);<a name="line.185"></a>
-<span class="sourceLineNo">186</span>        break;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      case ENABLE_TABLE_PRE_OPERATION:<a name="line.187"></a>
-<span class="sourceLineNo">188</span>        // TODO-MAYBE: call the coprocessor event to undo (eg. DisableTableProcedure.postDisable())?<a name="line.188"></a>
-<span class="sourceLineNo">189</span>        break;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      case ENABLE_TABLE_PREPARE:<a name="line.190"></a>
-<span class="sourceLineNo">191</span>        // Nothing to undo for this state.<a name="line.191"></a>
-<span class="sourceLineNo">192</span>        // We do need to count down the latch count so that we don't stuck.<a name="line.192"></a>
-<span class="sourceLineNo">193</span>        ProcedurePrepareLatch.releaseLatch(syncLatch, this);<a name="line.193"></a>
-<span class="sourceLineNo">194</span>        break;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>      default:<a name="line.195"></a>
-<span class="sourceLineNo">196</span>        throw new UnsupportedOperationException("unhandled state=" + state);<a name="line.196"></a>
-<span class="sourceLineNo">197</span>      }<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    } catch (IOException e) {<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      // This will be retried. Unless there is a bug in the code,<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      // this should be just a "temporary error" (e.g. network down)<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      LOG.warn("Failed enable table rollback attempt step=" + state + " table=" + tableName, e);<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      throw e;<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    }<a name="line.203"></a>
-<span class="sourceLineNo">204</span>  }<a name="line.204"></a>
-<span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>  @Override<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  protected EnableTableState getState(final int stateId) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    return EnableTableState.valueOf(stateId);<a name="line.208"></a>
-<span class="sourceLineNo">209</span>  }<a name="line.209"></a>
-<span class="sourceLineNo">210</span><a name="line.210"></a>
-<span class="sourceLineNo">211</span>  @Override<a name="line.211"></a>
-<span class="sourceLineNo">212</span>  protected int getStateId(final EnableTableState state) {<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    return state.getNumber();<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  }<a name="line.214"></a>
-<span class="sourceLineNo">215</span><a name="line.215"></a>
-<span class="sourceLineNo">216</span>  @Override<a name="line.216"></a>
-<span class="sourceLineNo">217</span>  protected EnableTableState getInitialState() {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    return EnableTableState.ENABLE_TABLE_PREPARE;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  }<a name="line.219"></a>
-<span class="sourceLineNo">220</span><a name="line.220"></a>
-<span class="sourceLineNo">221</span>  @Override<a name="line.221"></a>
-<span class="sourceLineNo">222</span>  protected void setNextState(final EnableTableState state) {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    if (aborted.get()) {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      setAbortFailure("Enable-table", "abort requested");<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    } else {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>      super.setNextState(state);<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    }<a name="line.227"></a>
-<span class="sourceLineNo">228</span>  }<a name="line.228"></a>
-<span class="sourceLineNo">229</span><a name="line.229"></a>
-<span class="sourceLineNo">230</span>  @Override<a name="line.230"></a>
-<span class="sourceLineNo">231</span>  public boolean abort(final MasterProcedureEnv env) {<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    aborted.set(true);<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    return true;<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>  @Override<a name="line.236"></a>
-<span class="sourceLineNo">237</span>  protected boolean acquireLock(final MasterProcedureEnv env) {<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    if (!env.isInitialized()) return false;<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    return env.getProcedureQueue().tryAcquireTableExclusiveLock(<a name="line.239"></a>
-<span class="sourceLineNo">240</span>      tableName,<a name="line.240"></a>
-<span class="sourceLineNo">241</span>      EventType.C_M_ENABLE_TABLE.toString());<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  }<a name="line.242"></a>
-<span class="sourceLineNo">243</span><a name="line.243"></a>
-<span class="sourceLineNo">244</span>  @Override<a name="line.244"></a>
-<span class="sourceLineNo">245</span>  protected void releaseLock(final MasterProcedureEnv env) {<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    env.getProcedureQueue().releaseTableExclusiveLock(tableName);<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>  @Override<a name="line.249"></a>
-<span class="sourceLineNo">250</span>  public void serializeStateData(final OutputStream stream) throws IOException {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    super.serializeStateData(stream);<a name="line.251"></a>
-<span class="sourceLineNo">252</span><a name="line.252"></a>
-<span class="sourceLineNo">253</span>    MasterProcedureProtos.EnableTableStateData.Builder enableTableMsg =<a name="line.253"></a>
-<span class="sourceLineNo">254</span>        MasterProcedureProtos.EnableTableStateData.newBuilder()<a name="line.254"></a>
-<span class="sourceLineNo">255</span>            .setUserInfo(MasterProcedureUtil.toProtoUserInfo(user))<a name="line.255"></a>
-<span class="sourceLineNo">256</span>            .setTableName(ProtobufUtil.toProtoTableName(tableName))<a name="line.256"></a>
-<span class="sourceLineNo">257</span>            .setSkipTableStateCheck(skipTableStateCheck);<a name="line.257"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.master.AssignmentManager;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.master.BulkAssigner;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.master.GeneralBulkAssigner;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.master.MasterCoprocessorHost;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.master.MasterServices;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.master.RegionStates;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.master.ServerManager;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.master.TableStateManager;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.procedure2.StateMachineProcedure;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.EnableTableState;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.zookeeper.MetaTableLocator;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.55"></a>
+<span class="sourceLineNo">056</span><a name="line.56"></a>
+<span class="sourceLineNo">057</span>@InterfaceAudience.Private<a name="line.57"></a>
+<span class="sourceLineNo">058</span>public class EnableTableProcedure<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    extends StateMachineProcedure&lt;MasterProcedureEnv, EnableTableState&gt;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>    implements TableProcedureInterface {<a name="line.60"></a>
+<span class="sourceLineNo">061</span>  private static final Log LOG = LogFactory.getLog(EnableTableProcedure.class);<a name="line.61"></a>
+<span class="sourceLineNo">062</span><a name="line.62"></a>
+<span class="sourceLineNo">063</span>  private final AtomicBoolean aborted = new AtomicBoolean(false);<a name="line.63"></a>
+<span class="sourceLineNo">064</span><a name="line.64"></a>
+<span class="sourceLineNo">065</span>  // This is for back compatible with 1.0 asynchronized operations.<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  private final ProcedurePrepareLatch syncLatch;<a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span>  private TableName tableName;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  private boolean skipTableStateCheck;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>  private UserGroupInformation user;<a name="line.70"></a>
+<span class="sourceLineNo">071</span><a name="line.71"></a>
+<span class="sourceLineNo">072</span>  private Boolean traceEnabled = null;<a name="line.72"></a>
+<span class="sourceLineNo">073</span><a name="line.73"></a>
+<span class="sourceLineNo">074</span>  public EnableTableProcedure() {<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    syncLatch = null;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>  }<a name="line.76"></a>
+<span class="sourceLineNo">077</span><a name="line.77"></a>
+<span class="sourceLineNo">078</span>  /**<a name="line.78"></a>
+<span class="sourceLineNo">079</span>   * Constructor<a name="line.79"></a>
+<span class="sourceLineNo">080</span>   * @param env MasterProcedureEnv<a name="line.80"></a>
+<span class="sourceLineNo">081</span>   * @param tableName the table to operate on<a name="line.81"></a>
+<span class="sourceLineNo">082</span>   * @param skipTableStateCheck whether to check table state<a name="line.82"></a>
+<span class="sourceLineNo">083</span>   * @throws IOException<a name="line.83"></a>
+<span class="sourceLineNo">084</span>   */<a name="line.84"></a>
+<span class="sourceLineNo">085</span>  public EnableTableProcedure(<a name="line.85"></a>
+<span class="sourceLineNo">086</span>      final MasterProcedureEnv env,<a name="line.86"></a>
+<span class="sourceLineNo">087</span>      final TableName tableName,<a name="line.87"></a>
+<span class="sourceLineNo">088</span>      final boolean skipTableStateCheck) throws IOException {<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    this(env, tableName, skipTableStateCheck, null);<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  }<a name="line.90"></a>
+<span class="sourceLineNo">091</span><a name="line.91"></a>
+<span class="sourceLineNo">092</span>  /**<a name="line.92"></a>
+<span class="sourceLineNo">093</span>   * Constructor<a name="line.93"></a>
+<span class="sourceLineNo">094</span>   * @param env MasterProcedureEnv<a name="line.94"></a>
+<span class="sourceLineNo">095</span>   * @param tableName the table to operate on<a name="line.95"></a>
+<span class="sourceLineNo">096</span>   * @param skipTableStateCheck whether to check table state<a name="line.96"></a>
+<span class="sourceLineNo">097</span>   * @throws IOException<a name="line.97"></a>
+<span class="sourceLineNo">098</span>   */<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  public EnableTableProcedure(<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      final MasterProcedureEnv env,<a name="line.100"></a>
+<span class="sourceLineNo">101</span>      final TableName tableName,<a name="line.101"></a>
+<span class="sourceLineNo">102</span>      final boolean skipTableStateCheck,<a name="line.102"></a>
+<span class="sourceLineNo">103</span>      final ProcedurePrepareLatch syncLatch) throws IOException {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>    this.tableName = tableName;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    this.skipTableStateCheck = skipTableStateCheck;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    this.user = env.getRequestUser().getUGI();<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    this.setOwner(this.user.getShortUserName());<a name="line.107"></a>
+<span class="sourceLineNo">108</span><a name="line.108"></a>
+<span class="sourceLineNo">109</span>    // Compatible with 1.0: We use latch to make sure that this procedure implementation is<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    // compatible with 1.0 asynchronized operations. We need to lock the table and check<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    // whether the Enable operation could be performed (table exists and offline; table state<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    // is DISABLED). Once it is done, we are good to release the latch and the client can<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    // start asynchronously wait for the operation.<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    //<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    // Note: the member syncLatch could be null if we are in failover or recovery scenario.<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    // This is ok for backward compatible, as 1.0 client would not able to peek at procedure.<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    this.syncLatch = syncLatch;<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>  @Override<a name="line.120"></a>
+<span class="sourceLineNo">121</span>  protected Flow executeFromState(final MasterProcedureEnv env, final EnableTableState state)<a name="line.121"></a>
+<span class="sourceLineNo">122</span>      throws InterruptedException {<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    if (isTraceEnabled()) {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>      LOG.trace(this + " execute state=" + state);<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    }<a name="line.125"></a>
+<span class="sourceLineNo">126</span><a name="line.126"></a>
+<span class="sourceLineNo">127</span>    try {<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      switch (state) {<a name="line.128"></a>
+<span class="sourceLineNo">129</span>      case ENABLE_TABLE_PREPARE:<a name="line.129"></a>
+<span class="sourceLineNo">130</span>        if (prepareEnable(env)) {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>          setNextState(EnableTableState.ENABLE_TABLE_PRE_OPERATION);<a name="line.131"></a>
+<span class="sourceLineNo">132</span>        } else {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>          assert isFailed() : "enable should have an exception here";<a name="line.133"></a>
+<span class="sourceLineNo">134</span>          return Flow.NO_MORE_STATE;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>        }<a name="line.135"></a>
+<span class="sourceLineNo">136</span>        break;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>      case ENABLE_TABLE_PRE_OPERATION:<a name="line.137"></a>
+<span class="sourceLineNo">138</span>        preEnable(env, state);<a name="line.138"></a>
+<span class="sourceLineNo">139</span>        setNextState(EnableTableState.ENABLE_TABLE_SET_ENABLING_TABLE_STATE);<a name="line.139"></a>
+<span class="sourceLineNo">140</span>        break;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>      case ENABLE_TABLE_SET_ENABLING_TABLE_STATE:<a name="line.141"></a>
+<span class="sourceLineNo">142</span>        setTableStateToEnabling(env, tableName);<a name="line.142"></a>
+<span class="sourceLineNo">143</span>        setNextState(EnableTableState.ENABLE_TABLE_MARK_REGIONS_ONLINE);<a name="line.143"></a>
+<span class="sourceLineNo">144</span>        break;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>      case ENABLE_TABLE_MARK_REGIONS_ONLINE:<a name="line.145"></a>
+<span class="sourceLineNo">146</span>        markRegionsOnline(env, tableName, true);<a name="line.146"></a>
+<span class="sourceLineNo">147</span>        setNextState(EnableTableState.ENABLE_TABLE_SET_ENABLED_TABLE_STATE);<a name="line.147"></a>
+<span class="sourceLineNo">148</span>        break;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      case ENABLE_TABLE_SET_ENABLED_TABLE_STATE:<a name="line.149"></a>
+<span class="sourceLineNo">150</span>        setTableStateToEnabled(env, tableName);<a name="line.150"></a>
+<span class="sourceLineNo">151</span>        setNextState(EnableTableState.ENABLE_TABLE_POST_OPERATION);<a name="line.151"></a>
+<span class="sourceLineNo">152</span>        break;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>      case ENABLE_TABLE_POST_OPERATION:<a name="line.153"></a>
+<span class="sourceLineNo">154</span>        postEnable(env, state);<a name="line.154"></a>
+<span class="sourceLineNo">155</span>        return Flow.NO_MORE_STATE;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>      default:<a name="line.156"></a>
+<span class="sourceLineNo">157</span>        throw new UnsupportedOperationException("unhandled state=" + state);<a name="line.157"></a>
+<span class="sourceLineNo">158</span>      }<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    } catch (IOException e) {<a name="line.159"></a>
+<span class="sourceLineNo">160</span>      LOG.error("Error trying to enable table=" + tableName + " state=" + state, e);<a name="line.160"></a>
+<span class="sourceLineNo">161</span>      setFailure("master-enable-table", e);<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    }<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    return Flow.HAS_MORE_STATE;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>  }<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span>  @Override<a name="line.166"></a>
+<span class="sourceLineNo">167</span>  protected void rollbackState(final MasterProcedureEnv env, final EnableTableState state)<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      throws IOException {<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    if (isTraceEnabled()) {<a name="line.169"></a>
+<span class="sourceLineNo">170</span>      LOG.trace(this + " rollback state=" + state);<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    }<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    try {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>      switch (state) {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>      case ENABLE_TABLE_POST_OPERATION:<a name="line.174"></a>
+<span class="sourceLineNo">175</span>        // TODO-MAYBE: call the coprocessor event to undo (eg. DisableTableProcedure.preDisable())?<a name="line.175"></a>
+<span class="sourceLineNo">176</span>        break;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>      case ENABLE_TABLE_SET_ENABLED_TABLE_STATE:<a name="line.177"></a>
+<span class="sourceLineNo">178</span>        DisableTableProcedure.setTableStateToDisabling(env, tableName);<a name="line.178"></a>
+<span class="sourceLineNo">179</span>        break;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>      case ENABLE_TABLE_MARK_REGIONS_ONLINE:<a name="line.180"></a>
+<span class="sourceLineNo">181</span>        markRegionsOfflineDuringRecovery(env);<a name="line.181"></a>
+<span class="sourceLineNo">182</span>        break;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      case ENABLE_TABLE_SET_ENABLING_TABLE_STATE:<a name="line.183"></a>
+<span class="sourceLineNo">184</span>        DisableTableProcedure.setTableStateToDisabled(env, tableName);<a name="line.184"></a>
+<span class="sourceLineNo">185</span>        break;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>      case ENABLE_TABLE_PRE_OPERATION:<a name="line.186"></a>
+<span class="sourceLineNo">187</span>        // TODO-MAYBE: call the coprocessor event to undo (eg. DisableTableProcedure.postDisable())?<a name="line.187"></a>
+<span class="sourceLineNo">188</span>        break;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>      case ENABLE_TABLE_PREPARE:<a name="line.189"></a>
+<span class="sourceLineNo">190</span>        // Nothing to undo for this state.<a name="line.190"></a>
+<span class="sourceLineNo">191</span>        // We do need to count down the latch count so that we don't stuck.<a name="line.191"></a>
+<span class="sourceLineNo">192</span>        ProcedurePrepareLatch.releaseLatch(syncLatch, this);<a name="line.192"></a>
+<span class="sourceLineNo">193</span>        break;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>      default:<a name="line.194"></a>
+<span class="sourceLineNo">195</span>        throw new UnsupportedOperationException("unhandled state=" + state);<a name="line.195"></a>
+<span class="sourceLineNo">196</span>      }<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    } catch (IOException e) {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>      // This will be retried. Unless there is a bug in the code,<a name="line.198"></a>
+<span class="sourceLineNo">199</span>      // this should be just a "temporary error" (e.g. network down)<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      LOG.warn("Failed enable table rollback attempt step=" + state + " table=" + tableName, e);<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      throw e;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    }<a name="line.202"></a>
+<span class="sourceLineNo">203</span>  }<a name="line.203"></a>
+<span class="sourceLineNo">204</span><a name="line.204"></a>
+<span class="sourceLineNo">205</span>  @Override<a name="line.205"></a>
+<span class="sourceLineNo">206</span>  protected EnableTableState getState(final int stateId) {<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    return EnableTableState.valueOf(stateId);<a name="line.207"></a>
+<span class="sourceLineNo">208</span>  }<a name="line.208"></a>
+<span class="sourceLineNo">209</span><a name="line.209"></a>
+<span class="sourceLineNo">210</span>  @Override<a name="line.210"></a>
+<span class="sourceLineNo">211</span>  protected int getStateId(final EnableTableState state) {<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    return state.getNumber();<a name="line.212"></a>
+<span class="sourceLineNo">213</span>  }<a name="line.213"></a>
+<span class="sourceLineNo">214</span><a name="line.214"></a>
+<span class="sourceLineNo">215</span>  @Override<a name="line.215"></a>
+<span class="sourceLineNo">216</span>  protected EnableTableState getInitialState() {<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    return EnableTableState.ENABLE_TABLE_PREPARE;<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>  @Override<a name="line.220"></a>
+<span class="sourceLineNo">221</span>  protected void setNextState(final EnableTableState state) {<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    if (aborted.get()) {<a name="line.222"></a>
+<span class="sourceLineNo">223</span>      setAbortFailure("Enable-table", "abort requested");<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    } else {<a name="line.224"></a>
+<span class="sourceLineNo">225</span>      super.setNextState(state);<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    }<a name="line.226"></a>
+<span class="sourceLineNo">227</span>  }<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
+<span class="sourceLineNo">229</span>  @Override<a name="line.229"></a>
+<span class="sourceLineNo">230</span>  public boolean abort(final MasterProcedureEnv env) {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    aborted.set(true);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    return true;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>  }<a name="line.233"></a>
+<span class="sourceLineNo">234</span><a name="line.234"></a>
+<span class="sourceLineNo">235</span>  @Override<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  protected boolean acquireLock(final MasterProcedureEnv env) {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    if (env.waitInitialized(this)) return false;<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    return env.getProcedureQueue().tryAcquireTableExclusiveLock(tableName, "enable table");<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>  @Override<a name="line.241"></a>
+<span class="sourceLineNo">242</span>  protected void releaseLock(final MasterProcedureEnv env) {<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    env.getProcedureQueue().releaseTableExclusiveLock(tableName);<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>  @Override<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  public void serializeStateData(final OutputStream stream) throws IOException {<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    super.serializeStateData(stream);<a name="line.248"></a>
+<span class="sourceLineNo">249</span><a name="line.249"></a>
+<span class="sourceLineNo">250</span>    MasterProcedureProtos.EnableTableStateData.Builder enableTableMsg =<a name="line.250"></a>
+<span class="sourceLineNo">251</span>        MasterProcedureProtos.EnableTableStateData.newBuilder()<a name="line.251"></a>
+<span class="sourceLineNo">252</span>            .setUserInfo(MasterProcedureUtil.toProtoUserInfo(user))<a name="line.252"></a>
+<span class="sourceLineNo">253</span>            .setTableName(ProtobufUtil.toProtoTableName(tableName))<a name="line.253"></a>
+<span class="sourceLineNo">254</span>            .setSkipTableStateCheck(skipTableStateCheck);<a name="line.254"></a>
+<span class="sourceLineNo">255</span><a name="line.255"></a>
+<span class="sourceLineNo">256</span>    enableTableMsg.build().writeDelimitedTo(stream);<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>    enableTableMsg.build().writeDelimitedTo(stream);<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>  @Override<a name="line.262"></a>
-<span class="sourceLineNo">263</span>  public void deserializeStateData(final InputStream stream) throws IOException {<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    super.deserializeStateData(stream);<a name="line.264"></a>
-<span class="sourceLineNo">265</span><a name="line.265"></a>
-<span class="sourceLineNo">266</span>    MasterProcedureProtos.EnableTableStateData enableTableMsg =<a name="line.266"></a>
-<span class="sourceLineNo">267</span>        MasterProcedureProtos.EnableTableStateData.parseDelimitedFrom(stream);<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    user = MasterProcedureUtil.toUserInfo(enableTableMsg.getUserInfo());<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    tableName = ProtobufUtil.toTableName(enableTableMsg.getTableName());<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    skipTableStateCheck = enableTableMsg.getSkipTableStateCheck();<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>  @Override<a name="line.273"></a>
-<span class="sourceLineNo">274</span>  public void toStringClassDetails(StringBuilder sb) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    sb.append(getClass().getSimpleName());<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    sb.append(" (table=");<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    sb.append(tableName);<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    sb.append(")");<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  }<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  @Override<a name="line.281"></a>
-<span class="sourceLineNo">282</span>  public TableName getTableName() {<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    return tableName;<a name="line.283"></a>
-<span class="sourceLineNo">284</span>  }<a name="line.284"></a>
-<span class="sourceLineNo">285</span><a name="line.285"></a>
-<span class="sourceLineNo">286</span>  @Override<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  public TableOperationType getTableOperationType() {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    return TableOperationType.ENABLE;<a name="line.288"></a>
-<span class="sourceLineNo">289</span>  }<a name="line.289"></a>
-<span class="sourceLineNo">290</span><a name="line.290"></a>
-<span class="sourceLineNo">291</span><a name="line.291"></a>
-<span class="sourceLineNo">292</span>  /**<a name="line.292"></a>
-<span class="sourceLineNo">293</span>   * Action before any real action of enabling table. Set the exception in the procedure instead<a name="line.293"></a>
-<span class="sourceLineNo">294</span>   * of throwing it.  This approach is to deal with backward compatible with 1.0.<a name="line.294"></a>
-<span class="sourceLineNo">295</span>   * @param env MasterProcedureEnv<a name="line.295"></a>
-<span class="sourceLineNo">296</span>   * @return whether the table passes the necessary checks<a name="line.296"></a>
-<span class="sourceLineNo">297</span>   * @throws IOException<a name="line.297"></a>
-<span class="sourceLineNo">298</span>   */<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  private boolean prepareEnable(final MasterProcedureEnv env) throws IOException {<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    boolean canTableBeEnabled = true;<a name="line.300"></a>
-<span class="sourceLineNo">301</span><a name="line.301"></a>
-<span class="sourceLineNo">302</span>    // Check whether table exists<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    if (!MetaTableAccessor.tableExists(env.getMasterServices().getConnection(), tableName)) {<a name="line.303"></a>
-<span class="sourceLineNo">304</span>      setFailure("master-enable-table", new TableNotFoundException(tableName));<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      canTableBeEnabled = false;<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    } else if (!skipTableStateCheck) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>      // There could be multiple client requests trying to disable or enable<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      // the table at the same time. Ensure only the first request is honored<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      // After that, no other requests can be accepted until the table reaches<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      // DISABLED or ENABLED.<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      //<a name="line.311"></a>
-<span class="sourceLineNo">312</span>      // Note: in 1.0 release, we called TableStateManager.setTableStateIfInStates() to set<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      // the state to ENABLING from DISABLED. The implementation was done before table lock<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      // was implemented. With table lock, there is no need to set the state here (it will<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      // set the state later on). A quick state check should be enough for us to move forward.<a name="line.315"></a>
-<span class="sourceLineNo">316</span>      TableStateManager tsm = env.getMasterServices().getAssignmentManager().getTableStateManager();<a name="line.316"></a>
-<span class="sourceLineNo">317</span>      TableState.State state = tsm.getTableState(tableName);<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      if(!state.equals(TableState.State.DISABLED)){<a name="line.318"></a>
-<span class="sourceLineNo">319</span>        LOG.info("Table " + tableName + " isn't disabled;is "+state.name()+"; skipping enable");<a name="line.319"></a>
-<span class="sourceLineNo">320</span>        setFailure("master-enable-table", new TableNotDisabledException(<a name="line.320"></a>
-<span class="sourceLineNo">321</span>                this.tableName+" state is "+state.name()));<a name="line.321"></a>
-<span class="sourceLineNo">322</span>        canTableBeEnabled = false;<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">259</span>  @Override<a name="line.259"></a>
+<span class="sourceLineNo">260</span>  public void deserializeStateData(final InputStream stream) throws IOException {<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    super.deserializeStateData(stream);<a name="line.261"></a>
+<span class="sourceLineNo">262</span><a name="line.262"></a>
+<span class="sourceLineNo">263</span>    MasterProcedureProtos.EnableTableStateData enableTableMsg =<a name="line.263"></a>
+<span class="sourceLineNo">264</span>        MasterProcedureProtos.EnableTableStateData.parseDelimitedFrom(stream);<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    user = MasterProcedureUtil.toUserInfo(enableTableMsg.getUserInfo());<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    tableName = ProtobufUtil.toTableName(enableTableMsg.getTableName());<a name="line.266"></a>
+<span class="sourceLineNo">267</span>    skipTableStateCheck = enableTableMsg.getSkipTableStateCheck();<a name="line.267"></a>
+<span class="sourceLineNo">268</span>  }<a name="line.268"></a>
+<span class="sourceLineNo">269</span><a name="line.269"></a>
+<span class="sourceLineNo">270</span>  @Override<a name="line.270"></a>
+<span class="sourceLineNo">271</span>  public void toStringClassDetails(StringBuilder sb) {<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    sb.append(getClass().getSimpleName());<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    sb.append(" (table=");<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    sb.append(tableName);<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    sb.append(")");<a name="line.275"></a>
+<span class="sourceLineNo">276</span>  }<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span>  @Override<a name="line.278"></a>
+<span class="sourceLineNo">279</span>  public TableName getTableName() {<a name="line.279"></a>
+<span class="sourceLineNo">280</span>    return tableName;<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>  @Override<a name="line.283"></a>
+<span class="sourceLineNo">284</span>  public TableOperationType getTableOperationType() {<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    return TableOperationType.ENABLE;<a name="line.285"></a>
+<span class="sourceLineNo">286</span>  }<a name="line.286"></a>
+<span class="sourceLineNo">287</span><a name="line.287"></a>
+<span class="sourceLineNo">288</span><a name="line.288"></a>
+<span class="sourceLineNo">289</span>  /**<a name="line.289"></a>
+<span class="sourceLineNo">290</span>   * Action before any real action of enabling table. Set the exception in the procedure instead<a name="line.290"></a>
+<span class="sourceLineNo">291</span>   * of throwing it.  This approach is to deal with backward compatible with 1.0.<a name="line.291"></a>
+<span class="sourceLineNo">292</span>   * @param env MasterProcedureEnv<a name="line.292"></a>
+<span class="sourceLineNo">293</span>   * @return whether the table passes the necessary checks<a name="line.293"></a>
+<span class="sourceLineNo">294</span>   * @throws IOException<a name="line.294"></a>
+<span class="sourceLineNo">295</span>   */<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  private boolean prepareEnable(final MasterProcedureEnv env) throws IOException {<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    boolean canTableBeEnabled = true;<a name="line.297"></a>
+<span class="sourceLineNo">298</span><a name="line.298"></a>
+<span class="sourceLineNo">299</span>    // Check whether table exists<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    if (!MetaTableAccessor.tableExists(env.getMasterServices().getConnection(), tableName)) {<a name="line.300"></a>
+<span class="sourceLineNo">301</span>      setFailure("master-enable-table", new TableNotFoundException(tableName));<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      canTableBeEnabled = false;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>    } else if (!skipTableStateCheck) {<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      // There could be multiple client requests trying to disable or enable<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      // the table at the same time. Ensure only the first request is honored<a name="line.305"></a>
+<span class="sourceLineNo">306</span>      // After that, no other requests can be accepted until the table reaches<a name="line.306"></a>
+<span class="sourceLineNo">307</span>      // DISABLED or ENABLED.<a name="line.307"></a>
+<span class="sourceLineNo">308</span>      //<a name="line.308"></a>
+<span class="sourceLineNo">309</span>      // Note: in 1.0 release, we called TableStateManager.setTableStateIfInStates() to set<a name="line.309"></a>
+<span class="sourceLineNo">310</span>      // the state to ENABLING from DISABLED. The implementation was done before table lock<a name="line.310"></a>
+<span class="sourceLineNo">311</span>      // was implemented. With table lock, there is no need to set the state here (it will<a name="line.311"></a>
+<span class="sourceLineNo">312</span>      // set the state later on). A quick state check should be enough for us to move forward.<a name="line.312"></a>
+<span class="sourceLineNo">313</span>      TableStateManager tsm = env.getMasterServices().getAssignmentManager().getTableStateManager();<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      TableState.State state = tsm.getTableState(tableName);<a name="line.314"></a>
+<span class="sourceLineNo">315</span>      if(!state.equals(TableState.State.DISABLED)){<a name="line.315"></a>
+<span class="sourceLineNo">316</span>        LOG.info("Table " + tableName + " isn't disabled;is "+state.name()+"; skipping enable");<a name="line.316"></a>
+<span class="sourceLineNo">317</span>        setFailure("master-enable-table", new TableNotDisabledException(<a name="line.317"></a>
+<span class="sourceLineNo">318</span>                this.tableName+" state is "+state.name()));<a name="line.318"></a>
+<span class="sourceLineNo">319</span>        canTableBeEnabled = false;<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><a name="line.322"></a>
+<span class="sourceLineNo">323</span>    // We are done the check. Future actions in this procedure could be done asynchronously.<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    ProcedurePrepareLatch.releaseLatch(syncLatch, this);<a name="line.324"></a>
 <span class="sourceLineNo">325</span><a name="line.325"></a>
-<span class="sourceLineNo">326</span>    // We are done the check. Future actions in this procedure could be done asynchronously.<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    ProcedurePrepareLatch.releaseLatch(syncLatch, this);<a name="line.327"></a>
+<span class="sourceLineNo">326</span>    return canTableBeEnabled;<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  }<a name="line.327"></a>
 <span class="sourceLineNo">328</span><a name="line.328"></a>
-<span class="sourceLineNo">329</span>    return canTableBeEnabled;<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>   * Action before enabling table.<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * @param env MasterProcedureEnv<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * @param state the procedure state<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * @throws IOException<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   * @throws InterruptedException<a name="line.337"></a>
-<span class="sourceLineNo">338</span>   */<a name="line.338"></a>
-<span class="sourceLineNo">339</span>  private void preEnable(final MasterProcedureEnv env, final EnableTableState state)<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      throws IOException, InterruptedException {<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    runCoprocessorAction(env, state);<a name="line.341"></a>
-<span class="sourceLineNo">342</span>  }<a name="line.342"></a>
-<span class="sourceLineNo">343</span><a name="line.343"></a>
-<span class="sourceLineNo">344</span>  /**<a name="line.344"></a>
-<span class="sourceLineNo">345</span>   * Mark table state to Enabling<a name="line.345"></a>
-<span class="sourceLineNo">346</span>   * @param env MasterProcedureEnv<a name="line.346"></a>
-<span class="sourceLineNo">347</span>   * @param tableName the target table<a name="line.347"></a>
-<span class="sourceLineNo">348</span>   * @throws IOException<a name="line.348"></a>
-<span class="sourceLineNo">349</span>   */<a name="line.349"></a>
-<span class="sourceLineNo">350</span>  protected static void setTableStateToEnabling(<a name="line.350"></a>
-<span class="sourceLineNo">351</span>      final MasterProcedureEnv env,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      final TableName tableName) throws IOException {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    // Set table disabling flag up in zk.<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    LOG.info("Attempting to enable the table " + tableName);<a name="line.354"></a>
-<span class="sourceLineNo">355</span>    env.getMasterServices().getAssignmentManager().getTableStateManager().setTableState(<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      tableName,<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      TableState.State.ENABLING);<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  }<a name="line.358"></a>
-<span class="sourceLineNo">359</span><a name="line.359"></a>
-<span class="sourceLineNo">360</span>  /**<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   * Mark offline regions of the table online with retry<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   * @param env MasterProcedureEnv<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   * @param tableName the target table<a name="line.363"></a>
-<span class="sourceLineNo">364</span>   * @param retryRequired whether to retry if the first run failed<a name="line.364"></a>
-<span class="sourceLineNo">365</span>   * @throws IOException<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   */<a name="line.366"></a>
-<span class="sourceLineNo">367</span>  protected static void markRegionsOnline(<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      final MasterProcedureEnv env,<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      final TableName tableName,<a name="line.369"></a>
-<span class="sourceLineNo">370</span>      final Boolean retryRequired) throws IOException {<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    // This is best effort approach to make all regions of a table online.  If we fail to do<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // that, it is ok that the table has some offline regions; user can fix it manually.<a name="line.372"></a>
-<span class="sourceLineNo">373</span><a name="line.373"></a>
-<span class="sourceLineNo">374</span>    // Dev consideration: add a config to control max number of retry. For now, it is hard coded.<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    int maxTry = (retryRequired ? 10 : 1);<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    boolean done = false;<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>    do {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      try {<a name="line.379"></a>
-<span class="sourceLineNo">380</span>        done = markRegionsOnline(env, tableName);<a name="line.380"></a>
-<span class="sourceLineNo">381</span>        if (done) {<a name="line.381"></a>
-<span class="sourceLineNo">382</span>          break;<a name="line.382"></a>
-<span class="sourceLineNo">383</span>        }<a name="line.383"></a>
+<span class="sourceLineNo">329</span>  /**<a name="line.329"></a>
+<span class="sourceLineNo">330</span>   * Action before enabling table.<a name="line.330"></a>
+<span class="sourceLineNo">331</span>   * @param env MasterProcedureEnv<a name="line.331"></a>
+<span class="sourceLineNo">332</span>   * @param state the procedure state<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   * @throws IOException<a name="line.333"></a>
+<span class="sourceLineNo">334</span>   * @throws InterruptedException<a name="line.334"></a>
+<span class="sourceLineNo">335</span>   */<a name="line.335"></a>
+<span class="sourceLineNo">336</span>  private void preEnable(final MasterProcedureEnv env, final EnableTableState state)<a name="line.336"></a>
+<span class="sourceLineNo">337</span>      throws IOException, InterruptedException {<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    runCoprocessorAction(env, state);<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>   * Mark table state to Enabling<a name="line.342"></a>
+<span class="sourceLineNo">343</span>   * @param env MasterProcedureEnv<a name="line.343"></a>
+<span class="sourceLineNo">344</span>   * @param tableName the target table<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>  protected static void setTableStateToEnabling(<a name="line.347"></a>
+<span class="sourceLineNo">348</span>      final MasterProcedureEnv env,<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>    // Set table disabling flag up in zk.<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    LOG.info("Attempting to enable the table " + tableName);<a name="line.351"></a>
+<span class="sourceLineNo">352</span>    env.getMasterServices().getAssignmentManager().getTableStateManager().setTableState(<a name="line.352"></a>
+<span class="sourceLineNo">353</span>      tableName,<a name="line.353"></a>
+<span class="sourceLineNo">354</span>      TableState.State.ENABLING);<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>   * Mark offline regions of the table online with retry<a name="line.358"></a>
+<span class="sourceLineNo">359</span>   * @param env MasterProcedureEnv<a name="line.359"></a>
+<span class="sourceLineNo">360</span>   * @param tableName the target table<a name="line.360"></a>
+<span class="sourceLineNo">361</span>   * @param retryRequired whether to retry if the first run failed<a name="line.361"></a>
+<span class="sourceLineNo">362</span>   * @throws IOException<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   */<a name="line.363"></a>
+<span class="sourceLineNo">364</span>  protected static void markRegionsOnline(<a name="line.364"></a>
+<span class="sourceLineNo">365</span>      final MasterProcedureEnv env,<a name="line.365"></a>
+<span class="sourceLineNo">366</span>      final TableName tableName,<a name="line.366"></a>
+<span class="sourceLineNo">367</span>      final Boolean retryRequired) throws IOException {<a name="line.367"></a>
+<span class="sourceLineNo">368</span>    // This is best effort approach to make all regions of a table online.  If we fail to do<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    // that, it is ok that the table has some offline regions; user can fix it manually.<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>    // Dev consideration: add a config to control max number of retry. For now, it is hard coded.<a name="line.371"></a>
+<span class="sourceLineNo">372</span>    int maxTry = (retryRequired ? 10 : 1);<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    boolean done = false;<a name="line.373"></a>
+<span class="sourceLineNo">374</span><a name="line.374"></a>
+<span class="sourceLineNo">375</span>    do {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>      try {<a name="line.376"></a>
+<span class="sourceLineNo">377</span>        done = markRegionsOnline(env, tableName);<a name="line.377"></a>
+<span class="sourceLineNo">378</span>        if (done) {<a name="line.378"></a>
+<span class="sourceLineNo">379</span>          break;<a name="line.379"></a>
+<span class="sourceLineNo">380</span>        }<a name="line.380"></a>
+<span class="sourceLineNo">381</span>        maxTry--;<a name="line.381"></a>
+<span class="sourceLineNo">382</span>      } catch (Exception e) {<a name="line.382"></a>
+<span class="sourceLineNo">383</span>        LOG.warn("Received exception while marking regions online. tries left: " + maxTry, e);<a name="line.383"></a>
 <span class="sourceLineNo">384</span>        maxTry--;<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      } catch (Exception e) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>        LOG.warn("Received exception while marking regions online. tries left: " + maxTry, e);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>        maxTry--;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>        if (maxTry &gt; 0) {<a name="line.388"></a>
-<span class="sourceLineNo">389</span>          continue; // we still have some retry left, try again.<a name="line.389"></a>
-<span class="sourceLineNo">390</span>        }<a name="line.390"></a>
-<span class="sourceLineNo">391</span>        throw e;<a name="line.391"></a>
-<span class="sourceLineNo">392</span>      }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    } while (maxTry &gt; 0);<a name="line.393"></a>
-<span class="sourceLineNo">394</span><a name="line.394"></a>
-<span class="sourceLineNo">395</span>    if (!done) {<a name="line.395"></a>
-<span class="sourceLineNo">396</span>      LOG.warn("Some or all regions of the Table '" + tableName + "' were offline");<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    }<a name="line.397"></a>
-<span class="sourceLineNo">398</span>  }<a name="line.398"></a>
-<span class="sourceLineNo">399</span><a name="line.399"></a>
-<span class="sourceLineNo">400</span>  /**<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   * Mark offline regions of the table online<a name="line.401"></a>
-<span class="sourceLineNo">402</span>   * @param env MasterProcedureEnv<a name="line.402"></a>
-<span class="sourceLineNo">403</span>   * @param tableName the target table<a name="line.403"></a>
-<span class="sourceLineNo">404</span>   * @return whether the operation is fully completed or being interrupted.<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   * @throws IOException<a name="line.405"></a>
-<span class="sourceLineNo">406</span>   */<a name="line.406"></a>
-<span class="sourceLineNo">407</span>  private static boolean markRegionsOnline(final MasterProcedureEnv env, final TableName tableName)<a name="line.407"></a>
-<span class="sourceLineNo">408</span>      throws IOException {<a name="line.408"></a>
-<span class="sourceLineNo">409</span>    final AssignmentManager assignmentManager = env.getMasterServices().getAssignmentManager();<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    final MasterServices masterServices = env.getMasterServices();<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    final ServerManager serverManager = masterServices.getServerManager();<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    boolean done = false;<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    // Get the regions of this table. We're done when all listed<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    // tables are onlined.<a name="line.414"></a>
-<span class="sourceLineNo">415</span>    List&lt;Pair&lt;HRegionInfo, ServerName&gt;&gt; tableRegionsAndLocations;<a name="line.415"></a>
-<span class="sourceLineNo">416</span><a name="line.416"></a>
-<span class="sourceLineNo">417</span>    if (TableName.META_TABLE_NAME.equals(tableName)) {<a name="line.417"></a>
+<span class="sourceLineNo">385</span>        if (maxTry &gt; 0) {<a name="line.385"></a>
+<span class="sourceLineNo">386</span>          continue; // we still have some retry left, try again.<a name="line.386"></a>
+<span class="sourceLineNo">387</span>        }<a name="line.387"></a>
+<span class="sourceLineNo">388</span>        throw e;<a name="line.388"></a>
+<span class="sourceLineNo">389</span>      }<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    } while (maxTry &gt; 0);<a name="line.390"></a>
+<span class="sourceLineNo">391</span><a name="line.391"></a>
+<span class="sourceLineNo">392</span>    if (!done) {<a name="line.392"></a>
+<span class="sourceLineNo">393</span>      LOG.warn("Some or all regions of the Table '" + tableName + "' were offline");<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>  /**<a name="line.397"></a>
+<span class="sourceLineNo">398</span>   * Mark offline regions of the table online<a name="line.398"></a>
+<span class="sourceLineNo">399</span>   * @param env MasterProcedureEnv<a name="line.399"></a>
+<span class="sourceLineNo">400</span>   * @param tableName the target table<a name="line.400"></a>
+<span class="sourceLineNo">401</span>   * @return whether the operation is fully completed or being interrupted.<a name="line.401"></a>
+<span class="sourceLineNo">402</span>   * @throws IOException<a name="line.402"></a>
+<span class="sourceLineNo">403</span>   */<a name="line.403"></a>
+<span class="sourceLineNo">404</span>  private static boolean markRegionsOnline(final MasterProcedureEnv env, final TableName tableName)<a name="line.404"></a>
+<span class="sourceLineNo">405</span>      throws IOException {<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    final AssignmentManager assignmentManager = env.getMasterServices().getAssignmentManager();<a name="line.406"></a>
+<span class="sourceLineNo">407</span>    final MasterServices masterServices = env.getMasterServices();<a name="line.407"></a>
+<span class="sourceLineNo">408</span>    final ServerManager serverManager = masterServices.getServerManager();<a name="line.408"></a>
+<span class="sourceLineNo">409</span>    boolean done = false;<a name="line.409"></a>
+<span class="sourceLineNo">410</span>    // Get the regions of this table. We're done when all listed<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    // tables are onlined.<a name="line.411"></a>
+<span class="sourceLineNo">412</span>    List&lt;Pair&lt;HRegionInfo, ServerName&gt;&gt; tableRegionsAndLocations;<a name="line.412"></a>
+<span class="sourceLineNo">413</span><a name="line.413"></a>
+<span class="sourceLineNo">414</span>    if (TableName.META_TABLE_NAME.equals(tableName)) {<a name="line.414"></a>
+<span class="sourceLineNo">415</span>      tableRegionsAndLocations =<a name="line.415"></a>
+<span class="sourceLineNo">416</span>          new MetaTableLocator().getMetaRegionsAndLocations(masterServices.getZooKeeper());<a name="line.416"></a>
+<span class="sourceLineNo">417</span>    } else {<a name="line.417"></a>
 <span class="sourceLineNo">418</span>      tableRegionsAndLocations =<a name="line.418"></a>
-<span class="sourceLineNo">419</span>          new MetaTableLocator().getMetaRegionsAndLocations(masterServices.getZooKeeper());<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    } else {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>      tableRegionsAndLocations =<a name="line.421"></a>
-<span class="sourceLineNo">422</span>          MetaTableAccessor.getTableRegionsAndLocations(masterServices.getConnection(), tableName);<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>    int countOfRegionsInTable = tableRegionsAndLocations.size();<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    Map&lt;HRegionInfo, ServerName&gt; regionsToAssign =<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        regionsToAssignWithServerName(env, tableRegionsAndLocations);<a name="line.427"></a>
-<span class="sourceLineNo">428</span><a name="line.428"></a>
-<span class="sourceLineNo">429</span>    // need to potentially create some regions for the replicas<a name="line.429"></a>
-<span class="sourceLineNo">430</span>    List&lt;HRegionInfo&gt; unrecordedReplicas =<a name="line.430"></a>
-<span class="sourceLineNo">431</span>        AssignmentManager.replicaRegionsNotRecordedInMeta(new HashSet&lt;HRegionInfo&gt;(<a name="line.431"></a>
-<span class="sourceLineNo">432</span>            regionsToAssign.keySet()), masterServices);<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    Map&lt;ServerName, List&lt;HRegionInfo&gt;&gt; srvToUnassignedRegs =<a name="line.433"></a>
-<span class="sourceLineNo">434</span>        assignmentManager.getBalancer().roundRobinAssignment(unrecordedReplicas,<a name="line.434"></a>
-<span class="sourceLineNo">435</span>          serverManager.getOnlineServersList());<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    if (srvToUnassignedRegs != null) {<a name="line.436"></a>
-<span class="sourceLineNo">437</span>      for (Map.Entry&lt;ServerName, List&lt;HRegionInfo&gt;&gt; entry : srvToUnassignedRegs.entrySet()) {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>        for (HRegionInfo h : entry.getValue()) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>          regionsToAssign.put(h, entry.getKey());<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>    int offlineRegionsCount = regionsToAssign.size();<a name="line.444"></a>
-<span class="sourceLineNo">445</span><a name="line.445"></a>
-<span class="sourceLineNo">446</span>    LOG.info("Table '" + tableName + "' has " + countOfRegionsInTable + " regions, of which "<a name="line.446"></a>
-<span class="sourceLineNo">447</span>        + offlineRegionsCount + " are offline.");<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    if (offlineRegionsCount == 0) {<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      return true;<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>    List&lt;ServerName&gt; onlineServers = serverManager.createDestinationServersList();<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    Map&lt;ServerName, List&lt;HRegionInfo&gt;&gt; bulkPlan =<a name="line.453"></a>
-<span class="sourceLineNo">454</span>        env.getMasterServices().getAssignmentManager().getBalancer()<a name="line.454"></a>
-<span class="sourceLineNo">455</span>            .retainAssignment(regionsToAssign, onlineServers);<a name="line.455"></a>
-<span class="sourceLineNo">456</span>    if (bulkPlan != null) {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>      LOG.info("Bulk assigning " + offlineRegionsCount + " region(s) across " + bulkPlan.size()<a name="line.457"></a>
-<span class="sourceLineNo">458</span>          + " server(s), retainAssignment=true");<a name="line.458"></a>
-<span class="sourceLineNo">459</span><a name="line.459"></a>
-<span class="sourceLineNo">460</span>      BulkAssigner ba = new GeneralBulkAssigner(masterServices, bulkPlan, assignmentManager, true);<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      try {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>        if (ba.bulkAssign()) {<a name="line.462"></a>
-<span class="sourceLineNo">463</span>          done = true;<a name="line.463"></a>
-<span class="sourceLineNo">464</span>        }<a name="line.464"></a>
-<span class="sourceLineNo">465</span>      } catch (InterruptedException e) {<a name="line.465"></a>
-<span class="sourceLineNo">466</span>        LOG.warn("Enable operation was interrupted when enabling table '" + tableName + "'");<a name="line.466"></a>
-<span class="sourceLineNo">467</span>        // Preserve the interrupt.<a name="line.467"></a>
-<span class="sourceLineNo">468</span>        Thread.currentThread().interrupt();<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      }<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    } else {<a name="line.470"></a>
-<span class="sourceLineNo">471</span>      LOG.info("Balancer was unable to find suitable servers for table " + tableName<a name="line.471"></a>
-<span class="sourceLineNo">472</span>          + ", leaving unassigned");<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    }<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    return done;<a name="line.474"></a>
-<span class="sourceLineNo">475</span>  }<a name="line.475"></a>
-<span class="sourceLineNo">476</span><a name="line.476"></a>
-<span class="sourceLineNo">477</span>  /**<a name="line.477"></a>
-<span class="sourceLineNo">478</span>   * Mark regions of the table offline during recovery<a name="line.478"></a>
-<span class="sourceLineNo">479</span>   * @param env MasterProcedureEnv<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   */<a name="line.480"></a>
-<span class="sourceLineNo">481</span>  private void markRegionsOfflineDuringRecovery(final MasterProcedureEnv env) {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>    try {<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      // This is a best effort attempt. We will move on even it does not succeed. We will retry<a name="line.483"></a>
-<span class="sourceLineNo">484</span>      // several times until we giving up.<a name="line.484"></a>
-<span class="sourceLineNo">485</span>      DisableTableProcedure.markRegionsOffline(env, tableName, true);<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    } catch (Exception e) {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      LOG.debug("Failed to offline all regions of table " + tableName + ". Ignoring", e);<a name="line.487"></a>
-<span class="sourceLineNo">488</span>    }<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  }<a name="line.489"></a>
-<span class="sourceLineNo">490</span><a name="line.490"></a>
-<span class="sourceLineNo">491</span>  /**<a name="line.491"></a>
-<span class="sourceLineNo">492</span>   * Mark table state to Enabled<a name="line.492"></a>
-<span class="sourceLineNo">493</span>   * @param env MasterProcedureEnv<a name="line.493"></a>
-<span class="sourceLineNo">494</span>   * @throws IOException<a name="line.494"></a>
-<span class="sourceLineNo">495</span>   */<a name="line.495"></a>
-<span class="sourceLineNo">496</span>  protected static void setTableStateToEnabled(<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      final MasterProcedureEnv env,<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      final TableName tableName) throws IOException {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>    // Flip the table to Enabled<a name="line.499"></a>
-<span class="sourceLineNo">500</span>    env.getMasterServices().getAssignmentManager().getTableStateManager().setTableState(<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      tableName,<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      TableState.State.ENABLED);<a name="line.502"></a>
-<span class="sourceLineNo">503</span>    LOG.info("Table '" + tableName + "' was successfully enabled.");<a name="line.503"></a>
-<span class="sourceLineNo">504</span>  }<a name="line.504"></a>
-<span class="sourceLineNo">505</span><a name="line.505"></a>
-<span class="sourceLineNo">506</span>  /**<a name="line.506"></a>
-<span class="sourceLineNo">507</span>   * Action after enabling table.<a name="line.507"></a>
-<span class="sourceLineNo">508</span>   * @param env MasterProcedureEnv<a name="line.508"></a>
-<span class="sourceLineNo">509</span>   * @param state the procedure state<a name="line.509"></a>
-<span class="sourceLineNo">510</span>   * @throws IOException<a name="line.510"></a>
-<span class="sourceLineNo">511</span>   * @throws InterruptedException<a name="line.511"></a>
-<span class="sourceLineNo">512</span>   */<a name="line.512"></a>
-<span class="sourceLineNo">513</span>  private void postEnable(final MasterProcedureEnv env, final EnableTableState state)<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      throws IOException, InterruptedException {<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    runCoprocessorAction(env, state);<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>  /**<a name="line.518"></a>
-<span class="sourceLineNo">519</span>   * The procedure could be restarted from a different machine. If the variable is null, we need to<a name="line.519"></a>
-<span class="sourceLineNo">520</span>   * retrieve it.<a name="line.520"></a>
-<span class="sourceLineNo">521</span>   * @return traceEnabled<a name="line.521"></a>
-<span class="sourceLineNo">522</span>   */<a name="line.522"></a>
-<span class="sourceLineNo">523</span>  private Boolean isTraceEnabled() {<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    if (traceEnabled == null) {<a name="line.524"></a>
-<span class="sourceLineNo">525</span>      traceEnabled = LOG.isTraceEnabled();<a name="line.525"></a>
-<span class="sourceLineNo">526</span>    }<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    return traceEnabled;<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>  /**<a name="line.530"></a>
-<span class="sourceLineNo">531</span>   * @param regionsInMeta<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   * @return List of regions neither in transition nor assigned.<a name="line.532"></a>
-<span class="sourceLineNo">533</span>   * @throws IOException<a name="line.533"></a>
-<span class="sourceLineNo">534</span>   */<a name="line.534"></a>
-<span class="sourceLineNo">535</span>  private static Map&lt;HRegionInfo, ServerName&gt; regionsToAssignWithServerName(<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      final MasterProcedureEnv env,<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      final List&lt;Pair&lt;HRegionInfo, ServerName&gt;&gt; regionsInMeta) throws IOException {<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    Map&lt;HRegionInfo, ServerName&gt; regionsToAssign =<a name="line.538"></a>
-<span class="sourceLineNo">539</span>        new HashMap&lt;HRegionInfo, ServerName&gt;(regionsInMeta.size());<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    RegionStates regionStates = env.getMasterServices().getAssignmentManager().getRegionStates();<a name="line.540"></a>
-<span class="sourceLineNo">541</span>    for (Pair&lt;HRegionInfo, ServerName&gt; regionLocation : regionsInMeta) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>      HRegionInfo hri = regionLocation.getFirst();<a name="line.542"></a>
-<span class="sourceLineNo">543</span>      ServerName sn = regionLocation.getSecond();<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      if (regionStates.isRegionOffline(hri)) {<a name="line.544"></a>
-<span class="sourceLineNo">545</span>        regionsToAssign.put(hri, sn);<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      } else {<a name="line.546"></a>
-<span class="sourceLineNo">547</span>        if (LOG.isDebugEnabled()) {<a name="line.547"></a>
-<span class="sourceLineNo">548</span>          LOG.debug("Skipping assign for the region " + hri + " during enable table "<a name="line.548"></a>
-<span class="sourceLineNo">549</span>              + hri.getTable() + " because its already in tranition or assigned.");<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>    }<a name="line.552"></a>
-<span class="sourceLineNo">553</span>    return regionsToAssign;<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>   * Coprocessor Action.<a name="line.557"></a>
-<span class="sourceLineNo">558</span>   * @param env MasterProcedureEnv<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   * @param state the procedure state<a name="line.559"></a>
-<span class="sourceLineNo">560</span>   * @throws IOException<a name="line.560"></a>
-<span class="sourceLineNo">561</span>   * @throws InterruptedException<a name="line.561"></a>
-<span class="sourceLineNo">562</span>   */<a name="line.562"></a>
-<span class="sourceLineNo">563</span>  private void runCoprocessorAction(final MasterProcedureEnv env, final EnableTableState state)<a name="line.563"></a>
-<span class="sourceLineNo">564</span>      throws IOException, InterruptedException {<a name="line.564"></a>
-<span class="sourceLineNo">565</span>    final MasterCoprocessorHost cpHost = env.getMasterCoprocessorHost();<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    if (cpHost != null) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>      user

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/Procedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/Procedure.html b/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/Procedure.html
index d1eb16e..b75d503 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/Procedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/Procedure.html
@@ -198,6 +198,52 @@
 </tr>
 </tbody>
 </table>
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a> with type parameters of type <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/ArrayDeque.html?is-external=true" title="class or interface in java.util">ArrayDeque</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&gt;</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.QueueImpl.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#runnables">runnables</a></strong></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a> that return <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>private &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#doPoll(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.FairQueue)">doPoll</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a>&lt;T&gt;&nbsp;fairq)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#poll()">poll</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.NamespaceQueue.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html#poll()">poll</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.QueueInterface.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html#poll()">poll</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.QueueImpl.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#poll()">poll</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#poll(long)">poll</a></strong>(long&nbsp;waitNsec)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 <table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
 <caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
@@ -207,51 +253,82 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#addBack(org.apache.hadoop.hbase.procedure2.Procedure)">addBack</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.NamespaceQueue.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html#add(org.apache.hadoop.hbase.procedure2.Procedure,%20boolean)">add</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc,
+      boolean&nbsp;addToFront)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.RunQueue.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html#addBack(org.apache.hadoop.hbase.procedure2.Procedure)">addBack</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.QueueInterface.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html#add(org.apache.hadoop.hbase.procedure2.Procedure,%20boolean)">add</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc,
+      boolean&nbsp;addFront)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.AbstractRunQueue.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#addBack(org.apache.hadoop.hbase.procedure2.Procedure)">addBack</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.QueueImpl.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#add(org.apache.hadoop.hbase.procedure2.Procedure,%20boolean)">add</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc,
+      boolean&nbsp;addToFront)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.TableRunQueue.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html#addBack(org.apache.hadoop.hbase.procedure2.Procedure)">addBack</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#addBack(org.apache.hadoop.hbase.procedure2.Procedure)">addBack</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#addFront(org.apache.hadoop.hbase.procedure2.Procedure)">addFront</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.QueueImpl.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#addBack(org.apache.hadoop.hbase.procedure2.Procedure)">addBack</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.RunQueue.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html#addFront(org.apache.hadoop.hbase.procedure2.Procedure)">addFront</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#addFront(org.apache.hadoop.hbase.procedure2.Procedure)">addFront</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.AbstractRunQueue.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html#addFront(org.apache.hadoop.hbase.procedure2.Procedure)">addFront</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.QueueImpl.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueImpl.html#addFront(org.apache.hadoop.hbase.procedure2.Procedure)">addFront</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#completionCleanup(org.apache.hadoop.hbase.procedure2.Procedure)">completionCleanup</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.TableQueue.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#canAbortPendingOperations(org.apache.hadoop.hbase.procedure2.Procedure)">canAbortPendingOperations</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#completionCleanup(org.apache.hadoop.hbase.procedure2.Procedure)">completionCleanup</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>protected abstract void</code></td>
 <td class="colLast"><span class="strong">ProcedurePrepareLatch.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ProcedurePrepareLatch.html#countDown(org.apache.hadoop.hbase.procedure2.Procedure)">countDown</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><span class="strong">ProcedurePrepareLatch.NoopLatch.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ProcedurePrepareLatch.NoopLatch.html#countDown(org.apache.hadoop.hbase.procedure2.Procedure)">countDown</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><span class="strong">ProcedurePrepareLatch.CompatibilityLatch.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ProcedurePrepareLatch.CompatibilityLatch.html#countDown(org.apache.hadoop.hbase.procedure2.Procedure)">countDown</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>private &lt;T extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;&nbsp;<br>void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#doAdd(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.FairQueue,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.Queue,%20org.apache.hadoop.hbase.procedure2.Procedure,%20boolean)">doAdd</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.FairQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.FairQueue</a>&lt;T&gt;&nbsp;fairq,
+          <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.Queue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.Queue</a>&lt;T&gt;&nbsp;queue,
+          <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc,
+          boolean&nbsp;addFront)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#doAdd(org.apache.hadoop.hbase.procedure2.Procedure,%20boolean)">doAdd</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc,
+          boolean&nbsp;addFront)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a></code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getServerName(org.apache.hadoop.hbase.procedure2.Procedure)">getServerName</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a></code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getTableName(org.apache.hadoop.hbase.procedure2.Procedure)">getTableName</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static boolean</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#isServerProcedure(org.apache.hadoop.hbase.procedure2.Procedure)">isServerProcedure</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
-<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a></code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#getRunQueueOrCreate(org.apache.hadoop.hbase.procedure2.Procedure)">getRunQueueOrCreate</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+<td class="colFirst"><code>private static boolean</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#isTableProcedure(org.apache.hadoop.hbase.procedure2.Procedure)">isTableProcedure</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>protected static void</code></td>
@@ -259,13 +336,60 @@
                         <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.ServerQueue.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ServerQueue.html#requireExclusiveLock(org.apache.hadoop.hbase.procedure2.Procedure)">requireExclusiveLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.TableQueue.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#requireExclusiveLock(org.apache.hadoop.hbase.procedure2.Procedure)">requireExclusiveLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.NamespaceQueue.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html#requireExclusiveLock(org.apache.hadoop.hbase.procedure2.Procedure)">requireExclusiveLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.QueueInterface.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.QueueInterface.html#requireExclusiveLock(org.apache.hadoop.hbase.procedure2.Procedure)">requireExclusiveLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><span class="strong">ProcedureSyncWait.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ProcedureSyncWait.html#submitAndWaitProcedure(org.apache.hadoop.hbase.procedure2.ProcedureExecutor,%20org.apache.hadoop.hbase.procedure2.Procedure)">submitAndWaitProcedure</a></strong>(<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;procExec,
                                             <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#waitEvent(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent,%20org.apache.hadoop.hbase.procedure2.Procedure)">waitEvent</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a>&nbsp;event,
+                  <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;procedure)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#waitEvent(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent,%20org.apache.hadoop.hbase.procedure2.Procedure,%20boolean)">waitEvent</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a>&nbsp;event,
+                  <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;procedure,
+                  boolean&nbsp;suspendQueue)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="strong">MasterProcedureEnv.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#waitInitialized(org.apache.hadoop.hbase.procedure2.Procedure)">waitInitialized</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="strong">MasterProcedureEnv.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#waitServerCrashProcessingEnabled(org.apache.hadoop.hbase.procedure2.Procedure)">waitServerCrashProcessingEnabled</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#waitServerEvent(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent,%20org.apache.hadoop.hbase.procedure2.Procedure,%20boolean)">waitServerEvent</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a>&nbsp;event,
+                              <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;procedure,
+                              boolean&nbsp;suspendQueue)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#waitTableEvent(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent,%20org.apache.hadoop.hbase.procedure2.Procedure,%20boolean)">waitTableEvent</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a>&nbsp;event,
+                            <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;procedure,
+                            boolean&nbsp;suspendQueue)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#yield(org.apache.hadoop.hbase.procedure2.Procedure)">yield</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#yield(org.apache.hadoop.hbase.procedure2.Procedure)">yield</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -323,10 +447,14 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Deque.html?is-external=true" title="class or interface in java.util">Deque</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&gt;</code></td>
+<td class="colLast"><span class="strong">ProcedureSimpleRunQueue.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSimpleRunQueue.html#runnables">runnables</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&gt;</code></td>
 <td class="colLast"><span class="strong">RootProcedureState.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/procedure2/RootProcedureState.html#subprocedures">subprocedures</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/procedure2/util/TimeoutBlockingQueue.html" title="class in org.apache.hadoop.hbase.procedure2.util">TimeoutBlockingQueue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&gt;</code></td>
 <td class="colLast"><span class="strong">ProcedureExecutor.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#waitingTimeout">waitingTimeout</a></strong></code>
 <div class="block">Timeout Queue that contains Procedures in a WAITING_TIMEOUT state
@@ -381,6 +509,16 @@
 <td class="colFirst"><code>protected static <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></code></td>
 <td class="colLast"><span class="strong">Procedure.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#newInstance(java.lang.String)">newInstance</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;className)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></code></td>
+<td class="colLast"><span class="strong">ProcedureSimpleRunQueue.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSimpleRunQueue.html#poll()">poll</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></code></td>
+<td class="colLast"><span class="strong">ProcedureRunnableSet.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html#poll()">poll</a></strong>()</code>
+<div class="block">Fetch one Procedure from the queue</div>
+</td>
+</tr>
 </tbody>
 </table>
 <table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/ProcedureFairRunQueues.FairObject.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/ProcedureFairRunQueues.FairObject.html b/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/ProcedureFairRunQueues.FairObject.html
deleted file mode 100644
index bf4df4f..0000000
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/ProcedureFairRunQueues.FairObject.html
+++ /dev/null
@@ -1,207 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.hadoop.hbase.procedure2.ProcedureFairRunQueues.FairObject (Apache HBase 2.0.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Uses of Interface org.apache.hadoop.hbase.procedure2.ProcedureFairRunQueues.FairObject (Apache HBase 2.0.0-SNAPSHOT API)";
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar_top">
-<!--   -->
-</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/procedure2/class-use/ProcedureFairRunQueues.FairObject.html" target="_top">Frames</a></li>
-<li><a href="ProcedureFairRunQueues.FairObject.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip-navbar_top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Interface org.apache.hadoop.hbase.procedure2.ProcedureFairRunQueues.FairObject" class="title">Uses of Interface<br>org.apache.hadoop.hbase.procedure2.ProcedureFairRunQueues.FairObject</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues.FairObject</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.hadoop.hbase.master.procedure">org.apache.hadoop.hbase.master.procedure</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.hadoop.hbase.procedure2">org.apache.hadoop.hbase.procedure2</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.hadoop.hbase.master.procedure">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues.FairObject</a> in <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a></h3>
-<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subinterfaces, and an explanation">
-<caption><span>Subinterfaces of <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues.FairObject</a> in <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Interface and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>private static interface&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a></strong></code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a> that implement <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues.FairObject</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>private static class&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.AbstractRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.AbstractRunQueue</a></strong></code>
-<div class="block">Base abstract class for RunQueue implementations.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private static class&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.ServerRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.ServerRunQueue</a></strong></code>
-<div class="block">Run Queue for Server procedures.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private static class&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.TableRunQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.TableRunQueue</a></strong></code>
-<div class="block">Run Queue for a Table.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.hadoop.hbase.procedure2">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues.FairObject</a> in <a href="../../../../../../org/apache/hadoop/hbase/procedure2/package-summary.html">org.apache.hadoop.hbase.procedure2</a></h3>
-<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../../org/apache/hadoop/hbase/procedure2/package-summary.html">org.apache.hadoop.hbase.procedure2</a> with type parameters of type <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues.FairObject</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues</a>&lt;TKey,TQueue extends <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues.FairObject</a>&gt;</strong></code>
-<div class="block">This class is a container of queues that allows to select a queue
- in a round robin fashion, considering priority of the queue.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar_bottom">
-<!--   -->
-</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/procedure2/class-use/ProcedureFairRunQueues.FairObject.html" target="_top">Frames</a></li>
-<li><a href="ProcedureFairRunQueues.FairObject.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip-navbar_bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/ProcedureFairRunQueues.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/ProcedureFairRunQueues.html b/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/ProcedureFairRunQueues.html
deleted file mode 100644
index f3e8fa2..0000000
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/ProcedureFairRunQueues.html
+++ /dev/null
@@ -1,161 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.hadoop.hbase.procedure2.ProcedureFairRunQueues (Apache HBase 2.0.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Uses of Class org.apache.hadoop.hbase.procedure2.ProcedureFairRunQueues (Apache HBase 2.0.0-SNAPSHOT API)";
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar_top">
-<!--   -->
-</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/procedure2/class-use/ProcedureFairRunQueues.html" target="_top">Frames</a></li>
-<li><a href="ProcedureFairRunQueues.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip-navbar_top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.hadoop.hbase.procedure2.ProcedureFairRunQueues" class="title">Uses of Class<br>org.apache.hadoop.hbase.procedure2.ProcedureFairRunQueues</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.hadoop.hbase.master.procedure">org.apache.hadoop.hbase.master.procedure</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.hadoop.hbase.master.procedure">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues</a> in <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a></h3>
-<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
-<caption><span>Fields in <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a> declared as <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Field and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a>&gt;</code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#serverFairQ">serverFairQ</a></strong></code>
-<div class="block">Rely on basic fair q.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.RunQueue.html" title="interface in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue.RunQueue</a>&gt;</code></td>
-<td class="colLast"><span class="strong">MasterProcedureQueue.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html#tableFairQ">tableFairQ</a></strong></code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar_bottom">
-<!--   -->
-</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/procedure2/class-use/ProcedureFairRunQueues.html" target="_top">Frames</a></li>
-<li><a href="ProcedureFairRunQueues.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip-navbar_bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/ProcedureRunnableSet.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/ProcedureRunnableSet.html b/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/ProcedureRunnableSet.html
index bb12756..0de0189 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/ProcedureRunnableSet.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/ProcedureRunnableSet.html
@@ -100,7 +100,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureQueue</a></strong></code>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler</a></strong></code>
 <div class="block">ProcedureRunnableSet for the Master Procedures.</div>
 </td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/procedure2/package-frame.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/package-frame.html b/devapidocs/org/apache/hadoop/hbase/procedure2/package-frame.html
index dc45234..a2072de 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/package-frame.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/package-frame.html
@@ -12,7 +12,6 @@
 <h2 title="Interfaces">Interfaces</h2>
 <ul title="Interfaces">
 <li><a href="ProcedureExecutor.ProcedureExecutorListener.html" title="interface in org.apache.hadoop.hbase.procedure2" target="classFrame"><i>ProcedureExecutor.ProcedureExecutorListener</i></a></li>
-<li><a href="ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2" target="classFrame"><i>ProcedureFairRunQueues.FairObject</i></a></li>
 <li><a href="ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2" target="classFrame"><i>ProcedureRunnableSet</i></a></li>
 </ul>
 <h2 title="Classes">Classes</h2>
@@ -23,7 +22,6 @@
 <li><a href="ProcedureExecutor.CompletedProcedureCleaner.html" title="class in org.apache.hadoop.hbase.procedure2" target="classFrame">ProcedureExecutor.CompletedProcedureCleaner</a></li>
 <li><a href="ProcedureExecutor.ProcedureTimeoutRetriever.html" title="class in org.apache.hadoop.hbase.procedure2" target="classFrame">ProcedureExecutor.ProcedureTimeoutRetriever</a></li>
 <li><a href="ProcedureExecutor.Testing.html" title="class in org.apache.hadoop.hbase.procedure2" target="classFrame">ProcedureExecutor.Testing</a></li>
-<li><a href="ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2" target="classFrame">ProcedureFairRunQueues</a></li>
 <li><a href="ProcedureSimpleRunQueue.html" title="class in org.apache.hadoop.hbase.procedure2" target="classFrame">ProcedureSimpleRunQueue</a></li>
 <li><a href="RootProcedureState.html" title="class in org.apache.hadoop.hbase.procedure2" target="classFrame">RootProcedureState</a></li>
 <li><a href="SequentialProcedure.html" title="class in org.apache.hadoop.hbase.procedure2" target="classFrame">SequentialProcedure</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/procedure2/package-summary.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/package-summary.html b/devapidocs/org/apache/hadoop/hbase/procedure2/package-summary.html
index 56e43ec..499b304 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/package-summary.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/package-summary.html
@@ -79,10 +79,6 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues.FairObject</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureRunnableSet</a></td>
 <td class="colLast">
 <div class="block">Keep track of the runnable procedures</div>
@@ -133,37 +129,30 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues</a>&lt;TKey,TQueue extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues.FairObject</a>&gt;</td>
-<td class="colLast">
-<div class="block">This class is a container of queues that allows to select a queue
- in a round robin fashion, considering priority of the queue.</div>
-</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSimpleRunQueue.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureSimpleRunQueue</a></td>
 <td class="colLast">
 <div class="block">Simple runqueue for the procedures</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/RootProcedureState.html" title="class in org.apache.hadoop.hbase.procedure2">RootProcedureState</a></td>
 <td class="colLast">
 <div class="block">Internal state of the ProcedureExecutor that describes the state of a "Root Procedure".</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/SequentialProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">SequentialProcedure</a>&lt;TEnvironment&gt;</td>
 <td class="colLast">
 <div class="block">A SequentialProcedure describes one step in a procedure chain.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">StateMachineProcedure</a>&lt;TEnvironment,TState&gt;</td>
 <td class="colLast">
 <div class="block">Procedure described by a series of steps.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TwoPhaseProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TwoPhaseProcedure</a>&lt;TEnvironment&gt;</td>
 <td class="colLast">&nbsp;</td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/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 da3eeaa..a73d0a7 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
@@ -85,7 +85,6 @@
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="strong">ProcedureExecutor</span></a>&lt;TEnvironment&gt;</li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.ProcedureTimeoutRetriever.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="strong">ProcedureExecutor.ProcedureTimeoutRetriever</span></a> (implements org.apache.hadoop.hbase.procedure2.util.<a href="../../../../../org/apache/hadoop/hbase/procedure2/util/TimeoutBlockingQueue.TimeoutRetriever.html" title="interface in org.apache.hadoop.hbase.procedure2.util">TimeoutBlockingQueue.TimeoutRetriever</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.Testing.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="strong">ProcedureExecutor.Testing</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="strong">ProcedureFairRunQueues</span></a>&lt;TKey,TQueue&gt;</li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSimpleRunQueue.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="strong">ProcedureSimpleRunQueue</span></a> (implements org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureRunnableSet</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/RootProcedureState.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="strong">RootProcedureState</span></a></li>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><span class="strong">Throwable</span></a> (implements java.io.<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
@@ -113,7 +112,6 @@
 <h2 title="Interface Hierarchy">Interface Hierarchy</h2>
 <ul>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.ProcedureExecutorListener.html" title="interface in org.apache.hadoop.hbase.procedure2"><span class="strong">ProcedureExecutor.ProcedureExecutorListener</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureFairRunQueues.FairObject.html" title="interface in org.apache.hadoop.hbase.procedure2"><span class="strong">ProcedureFairRunQueues.FairObject</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureRunnableSet.html" title="interface in org.apache.hadoop.hbase.procedure2"><span class="strong">ProcedureRunnableSet</span></a></li>
 </ul>
 <h2 title="Enum Hierarchy">Enum Hierarchy</h2>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/procedure2/package-use.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/package-use.html b/devapidocs/org/apache/hadoop/hbase/procedure2/package-use.html
index 3556a82..594503e 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/package-use.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/package-use.html
@@ -168,15 +168,6 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/procedure2/class-use/ProcedureFairRunQueues.html#org.apache.hadoop.hbase.master.procedure">ProcedureFairRunQueues</a>
-<div class="block">This class is a container of queues that allows to select a queue
- in a round robin fashion, considering priority of the queue.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/procedure2/class-use/ProcedureFairRunQueues.FairObject.html#org.apache.hadoop.hbase.master.procedure">ProcedureFairRunQueues.FairObject</a>&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/procedure2/class-use/ProcedureRunnableSet.html#org.apache.hadoop.hbase.master.procedure">ProcedureRunnableSet</a>
 <div class="block">Keep track of the runnable procedures</div>
 </td>
@@ -220,30 +211,27 @@
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/procedure2/class-use/ProcedureExecutor.Testing.html#org.apache.hadoop.hbase.procedure2">ProcedureExecutor.Testing</a>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/procedure2/class-use/ProcedureFairRunQueues.FairObject.html#org.apache.hadoop.hbase.procedure2">ProcedureFairRunQueues.FairObject</a>&nbsp;</td>
-</tr>
-<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/procedure2/class-use/ProcedureRunnableSet.html#org.apache.hadoop.hbase.procedure2">ProcedureRunnableSet</a>
 <div class="block">Keep track of the runnable procedures</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/procedure2/class-use/ProcedureYieldException.html#org.apache.hadoop.hbase.procedure2">ProcedureYieldException</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/procedure2/class-use/RemoteProcedureException.html#org.apache.hadoop.hbase.procedure2">RemoteProcedureException</a>
 <div class="block">A RemoteProcedureException is an exception from another thread or process.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/procedure2/class-use/RootProcedureState.html#org.apache.hadoop.hbase.procedure2">RootProcedureState</a>
 <div class="block">Internal state of the ProcedureExecutor that describes the state of a "Root Procedure".</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/procedure2/class-use/RootProcedureState.State.html#org.apache.hadoop.hbase.procedure2">RootProcedureState.State</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/procedure2/class-use/StateMachineProcedure.Flow.html#org.apache.hadoop.hbase.procedure2">StateMachineProcedure.Flow</a>&nbsp;</td>
 </tr>
 </tbody>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/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 5fa6b00..1f26c76 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
@@ -172,10 +172,10 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/7/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="strong">QuotaType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="strong">ThrottleType</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="strong">ThrottlingException.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="strong">QuotaType</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="strong">OperationQuota.OperationType</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="strong">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="strong">QuotaScope</span></a></li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/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 294f8a7..eba3a8b 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -605,23 +605,23 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/BloomType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">BloomType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">ScannerContext.LimitScope</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">ScanQueryMatcher.MatchCode</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionOpeningState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">RegionOpeningState</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="strong">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="strong">SplitLogWorker.TaskExecutor.Status</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="strong">ScannerContext.LimitScope</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="strong">DefaultHeapMemoryTuner.StepDirection</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">MetricsRegionServerSourceFactoryImpl.FactoryStorage</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DeleteTracker.DeleteResult.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">DeleteTracker.DeleteResult</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionMergeTransaction.RegionMergeTransactionPhase.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">RegionMergeTransaction.RegionMergeTransactionPhase</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.StoreScannerCompactionRace.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">StoreScanner.StoreScannerCompactionRace</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="strong">FlushType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DeleteTracker.DeleteCompare.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">DeleteTracker.DeleteCompare</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="strong">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="strong">BloomType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/SplitTransaction.SplitTransactionPhase.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">SplitTransaction.SplitTransactionPhase</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="strong">Region.Operation</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionMergeTransaction.RegionMergeTransactionPhase.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">RegionMergeTransaction.RegionMergeTransactionPhase</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="strong">ScanType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">Region.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="strong">DefaultHeapMemoryTuner.StepDirection</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/SplitLogWorker.TaskExecutor.Status.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">SplitLogWorker.TaskExecutor.Status</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">ScannerContext.NextState</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="strong">FlushType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">ScanQueryMatcher.MatchCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DeleteTracker.DeleteResult.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">DeleteTracker.DeleteResult</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.StoreScannerCompactionRace.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">StoreScanner.StoreScannerCompactionRace</span></a></li>
 </ul>
 </li>
 </ul>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.SaslClientCallbackHandler.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.SaslClientCallbackHandler.html b/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.SaslClientCallbackHandler.html
index 2042e9f..95e2e8a 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.SaslClientCallbackHandler.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.SaslClientCallbackHandler.html
@@ -103,7 +103,7 @@
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html#line.281">HBaseSaslRpcClient.SaslClientCallbackHandler</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html#line.283">HBaseSaslRpcClient.SaslClientCallbackHandler</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="http://docs.oracle.com/javase/7/docs/api/javax/security/auth/callback/CallbackHandler.html?is-external=true" title="class or interface in javax.security.auth.callback">CallbackHandler</a></pre>
 </li>
@@ -196,7 +196,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/javax/security/auth
 <ul class="blockList">
 <li class="blockList">
 <h4>userName</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.SaslClientCallbackHandler.html#line.282">userName</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.SaslClientCallbackHandler.html#line.284">userName</a></pre>
 </li>
 </ul>
 <a name="userPassword">
@@ -205,7 +205,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/javax/security/auth
 <ul class="blockListLast">
 <li class="blockList">
 <h4>userPassword</h4>
-<pre>private final&nbsp;char[] <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.SaslClientCallbackHandler.html#line.283">userPassword</a></pre>
+<pre>private final&nbsp;char[] <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.SaslClientCallbackHandler.html#line.285">userPassword</a></pre>
 </li>
 </ul>
 </li>
@@ -222,7 +222,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/javax/security/auth
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HBaseSaslRpcClient.SaslClientCallbackHandler</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.SaslClientCallbackHandler.html#line.285">HBaseSaslRpcClient.SaslClientCallbackHandler</a>(org.apache.hadoop.security.token.Token&lt;? extends org.apache.hadoop.security.token.TokenIdentifier&gt;&nbsp;token)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.SaslClientCallbackHandler.html#line.287">HBaseSaslRpcClient.SaslClientCallbackHandler</a>(org.apache.hadoop.security.token.Token&lt;? extends org.apache.hadoop.security.token.TokenIdentifier&gt;&nbsp;token)</pre>
 </li>
 </ul>
 </li>
@@ -239,7 +239,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/javax/security/auth
 <ul class="blockListLast">
 <li class="blockList">
 <h4>handle</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.SaslClientCallbackHandler.html#line.291">handle</a>(<a href="http://docs.oracle.com/javase/7/docs/api/javax/security/auth/callback/Callback.html?is-external=true" title="class or interface in javax.security.auth.callback">Callback</a>[]&nbsp;callbacks)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.SaslClientCallbackHandler.html#line.293">handle</a>(<a href="http://docs.oracle.com/javase/7/docs/api/javax/security/auth/callback/Callback.html?is-external=true" title="class or interface in javax.security.auth.callback">Callback</a>[]&nbsp;callbacks)
             throws <a href="http://docs.oracle.com/javase/7/docs/api/javax/security/auth/callback/UnsupportedCallbackException.html?is-external=true" title="class or interface in javax.security.auth.callback">UnsupportedCallbackException</a></pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.NamespaceQueue.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.NamespaceQueue.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.NamespaceQueue.html
new file mode 100644
index 0000000..8b06c98
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.NamespaceQueue.html
@@ -0,0 +1,185 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.NamespaceQueue (Apache HBase 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.NamespaceQueue (Apache HBase 2.0.0-SNAPSHOT API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.NamespaceQueue.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.NamespaceQueue.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.NamespaceQueue" class="title">Uses of Class<br>org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.NamespaceQueue</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.NamespaceQueue</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.master.procedure">org.apache.hadoop.hbase.master.procedure</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.hadoop.hbase.master.procedure">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.NamespaceQueue</a> in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a></h3>
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a> declared as <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.NamespaceQueue</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.NamespaceQueue</a></code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.TableQueue.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#namespaceQueue">namespaceQueue</a></strong></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a> that return <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.NamespaceQueue</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.NamespaceQueue</a></code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.TableQueue.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#getNamespaceQueue()">getNamespaceQueue</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.NamespaceQueue</a></code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#getNamespaceQueue(java.lang.String)">getNamespaceQueue</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a> with parameters of type <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.NamespaceQueue</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.TableQueue.html#MasterProcedureScheduler.TableQueue(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.NamespaceQueue,%20int)">MasterProcedureScheduler.TableQueue</a></strong>(<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/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.NamespaceQueue</a>&nbsp;namespaceQueue,
+                                                                      int&nbsp;priority)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.NamespaceQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.NamespaceQueue.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.NamespaceQueue.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip-navbar_bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.ProcedureEvent.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.ProcedureEvent.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.ProcedureEvent.html
new file mode 100644
index 0000000..e590988
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.ProcedureEvent.html
@@ -0,0 +1,238 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent (Apache HBase 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent (Apache HBase 2.0.0-SNAPSHOT API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.ProcedureEvent.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.ProcedureEvent.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent" class="title">Uses of Class<br>org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.master">org.apache.hadoop.hbase.master</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.master.procedure">org.apache.hadoop.hbase.master.procedure</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.hadoop.hbase.master">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a> in <a href="../../../../../../../org/apache/hadoop/hbase/master/package-summary.html">org.apache.hadoop.hbase.master</a></h3>
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../../org/apache/hadoop/hbase/master/package-summary.html">org.apache.hadoop.hbase.master</a> declared as <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a></code></td>
+<td class="colLast"><span class="strong">HMaster.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/HMaster.html#initialized">initialized</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a></code></td>
+<td class="colLast"><span class="strong">HMaster.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/HMaster.html#serverCrashProcessingEnabled">serverCrashProcessingEnabled</a></strong></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/hadoop/hbase/master/package-summary.html">org.apache.hadoop.hbase.master</a> that return <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a></code></td>
+<td class="colLast"><span class="strong">HMaster.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/HMaster.html#getInitializedEvent()">getInitializedEvent</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a></code></td>
+<td class="colLast"><span class="strong">HMaster.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/HMaster.html#getServerCrashProcessingEnabledEvent()">getServerCrashProcessingEnabledEvent</a></strong>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.hadoop.hbase.master.procedure">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a> in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a></h3>
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a> with parameters of type <a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureEnv.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#setEventReady(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent,%20boolean)">setEventReady</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a>&nbsp;event,
+                          boolean&nbsp;isReady)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#suspend(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent)">suspend</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a>&nbsp;event)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureEnv.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#suspend(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent)">suspend</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a>&nbsp;event)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#waitEvent(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent,%20org.apache.hadoop.hbase.procedure2.Procedure)">waitEvent</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a>&nbsp;event,
+                  <a href="../../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;procedure)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#waitEvent(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent,%20org.apache.hadoop.hbase.procedure2.Procedure,%20boolean)">waitEvent</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a>&nbsp;event,
+                  <a href="../../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;procedure,
+                  boolean&nbsp;suspendQueue)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#waitServerEvent(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent,%20org.apache.hadoop.hbase.procedure2.Procedure,%20boolean)">waitServerEvent</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a>&nbsp;event,
+                              <a href="../../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;procedure,
+                              boolean&nbsp;suspendQueue)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#waitTableEvent(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent,%20org.apache.hadoop.hbase.procedure2.Procedure,%20boolean)">waitTableEvent</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a>&nbsp;event,
+                            <a href="../../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;procedure,
+                            boolean&nbsp;suspendQueue)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureScheduler.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.html#wake(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent)">wake</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a>&nbsp;event)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="strong">MasterProcedureEnv.</span><code><strong><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#wake(org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.ProcedureEvent)">wake</a></strong>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureScheduler.ProcedureEvent</a>&nbsp;event)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.ProcedureEvent.html" title="class in org.apache.hadoop.hbase.master.procedure">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureScheduler.ProcedureEvent.html" target="_top">Frames</a></li>
+<li><a href="MasterProcedureScheduler.ProcedureEvent.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip-navbar_bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/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 a063b49..e0893d6 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html
@@ -110,7 +110,7 @@
 <hr>
 <br>
 <pre><a href="../../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.55">ModifyTableProcedure</a>
+public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.54">ModifyTableProcedure</a>
 extends <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">StateMachineProcedure</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>,org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyTableState&gt;
 implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface</a></pre>
 </li>
@@ -430,7 +430,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.58">LOG</a></pre>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.57">LOG</a></pre>
 </li>
 </ul>
 <a name="aborted">
@@ -439,7 +439,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>aborted</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.60">aborted</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.59">aborted</a></pre>
 </li>
 </ul>
 <a name="unmodifiedHTableDescriptor">
@@ -448,7 +448,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>unmodifiedHTableDescriptor</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.62">unmodifiedHTableDescriptor</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.61">unmodifiedHTableDescriptor</a></pre>
 </li>
 </ul>
 <a name="modifiedHTableDescriptor">
@@ -457,7 +457,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>modifiedHTableDescriptor</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.63">modifiedHTableDescriptor</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.62">modifiedHTableDescriptor</a></pre>
 </li>
 </ul>
 <a name="user">
@@ -466,7 +466,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>user</h4>
-<pre>private&nbsp;org.apache.hadoop.security.UserGroupInformation <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.64">user</a></pre>
+<pre>private&nbsp;org.apache.hadoop.security.UserGroupInformation <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.63">user</a></pre>
 </li>
 </ul>
 <a name="deleteColumnFamilyInModify">
@@ -475,7 +475,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteColumnFamilyInModify</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.65">deleteColumnFamilyInModify</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.64">deleteColumnFamilyInModify</a></pre>
 </li>
 </ul>
 <a name="regionInfoList">
@@ -484,7 +484,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>regionInfoList</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.67">regionInfoList</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.66">regionInfoList</a></pre>
 </li>
 </ul>
 <a name="traceEnabled">
@@ -493,7 +493,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockListLast">
 <li class="blockList">
 <h4>traceEnabled</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.68">traceEnabled</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.67">traceEnabled</a></pre>
 </li>
 </ul>
 </li>
@@ -510,7 +510,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>ModifyTableProcedure</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.70">ModifyTableProcedure</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.69">ModifyTableProcedure</a>()</pre>
 </li>
 </ul>
 <a name="ModifyTableProcedure(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv, org.apache.hadoop.hbase.HTableDescriptor)">
@@ -519,7 +519,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ModifyTableProcedure</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.74">ModifyTableProcedure</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.73">ModifyTableProcedure</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                     <a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;htd)
                      throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -540,7 +540,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>initilize</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.83">initilize</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.82">initilize</a>()</pre>
 </li>
 </ul>
 <a name="executeFromState(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv, org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyTableState)">
@@ -549,7 +549,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>executeFromState</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2">StateMachineProcedure.Flow</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.91">executeFromState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2">StateMachineProcedure.Flow</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.90">executeFromState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                           org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyTableState&nbsp;state)
                                                throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#executeFromState(TEnvironment,%20TState)">StateMachineProcedure</a></code></strong></div>
@@ -570,7 +570,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>rollbackState</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.146">rollbackState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.145">rollbackState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                  org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyTableState&nbsp;state)
                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#rollbackState(TEnvironment,%20TState)">StateMachineProcedure</a></code></strong></div>
@@ -589,7 +589,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getState</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyTableState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.187">getState</a>(int&nbsp;stateId)</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyTableState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.186">getState</a>(int&nbsp;stateId)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getState(int)">StateMachineProcedure</a></code></strong></div>
 <div class="block">Convert an ordinal (or state id) to an Enum (or more descriptive) state object.</div>
 <dl>
@@ -605,7 +605,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getStateId</h4>
-<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.192">getStateId</a>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyTableState&nbsp;state)</pre>
+<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.191">getStateId</a>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyTableState&nbsp;state)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getStateId(TState)">StateMachineProcedure</a></code></strong></div>
 <div class="block">Convert the Enum (or more descriptive) state object to an ordinal (or state id).</div>
 <dl>
@@ -621,7 +621,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getInitialState</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyTableState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.197">getInitialState</a>()</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyTableState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.196">getInitialState</a>()</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getInitialState()">StateMachineProcedure</a></code></strong></div>
 <div class="block">Return the initial state object that will be used for the first call to executeFromState().</div>
 <dl>
@@ -636,7 +636,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>setNextState</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.202">setNextState</a>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyTableState&nbsp;state)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.201">setNextState</a>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyTableState&nbsp;state)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#setNextState(TState)">StateMachineProcedure</a></code></strong></div>
 <div class="block">Set the next state for the procedure.</div>
 <dl>
@@ -651,7 +651,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>abort</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.211">abort</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.210">abort</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#abort(TEnvironment)">Procedure</a></code></strong></div>
 <div class="block">The abort() call is asynchronous and each procedure must decide how to deal
  with that, if they want to be abortable. The simplest implementation
@@ -675,7 +675,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>acquireLock</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.217">acquireLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.216">acquireLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#acquireLock(TEnvironment)">Procedure</a></code></strong></div>
 <div class="block">The user should override this method, and try to take a lock if necessary.
  A lock can be anything, and it is up to the implementor.
@@ -694,7 +694,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>releaseLock</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.225">releaseLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.222">releaseLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#releaseLock(TEnvironment)">Procedure</a></code></strong></div>
 <div class="block">The user should override this method, and release lock if necessary.</div>
 <dl>
@@ -709,7 +709,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>serializeStateData</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.230">serializeStateData</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;stream)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.227">serializeStateData</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;stream)
                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#serializeStateData(java.io.OutputStream)">Procedure</a></code></strong></div>
 <div class="block">The user-level code of the procedure may have some state to
@@ -728,7 +728,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>deserializeStateData</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.247">deserializeStateData</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;stream)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.244">deserializeStateData</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;stream)
                           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#deserializeStateData(java.io.InputStream)">Procedure</a></code></strong></div>
 <div class="block">Called on store load to allow the user to decode the previously serialized
@@ -747,7 +747,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>toStringClassDetails</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.263">toStringClassDetails</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;sb)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.260">toStringClassDetails</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;sb)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringClassDetails(java.lang.StringBuilder)">Procedure</a></code></strong></div>
 <div class="block">Extend the toString() information with the procedure details
  e.g. className and parameters</div>
@@ -763,7 +763,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableName</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.271">getTableName</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.268">getTableName</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html#getTableName()">getTableName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface</a></code></dd>
@@ -776,7 +776,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableOperationType</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface.TableOperationType</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.276">getTableOperationType</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface.TableOperationType</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.273">getTableOperationType</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html#getTableOperationType()">TableProcedureInterface</a></code></strong></div>
 <div class="block">Given an operation type we can take decisions about what to do with pending operations.
  e.g. if we get a delete and we have some table operation pending (e.g. add column)
@@ -793,7 +793,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>prepareModify</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.285">prepareModify</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.282">prepareModify</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Check conditions before any real action of modifying a table.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>env</code> - MasterProcedureEnv</dd>
@@ -807,7 +807,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>preModify</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.327">preModify</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.324">preModify</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
              org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyTableState&nbsp;state)
                 throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                        <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
@@ -824,7 +824,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>updateTableDescriptor</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.337">updateTableDescriptor</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.334">updateTableDescriptor</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                             throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Update descriptor</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>env</code> - MasterProcedureEnv</dd>
@@ -838,7 +838,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>restoreTableDescriptor</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.346">restoreTableDescriptor</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.343">restoreTableDescriptor</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                              throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Undo the descriptor change (for rollback)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>env</code> - MasterProcedureEnv</dd>
@@ -852,7 +852,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteFromFs</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.361">deleteFromFs</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.358">deleteFromFs</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                 <a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;oldHTableDescriptor,
                 <a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;newHTableDescriptor)
                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -868,7 +868,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>updateReplicaColumnsIfNeeded</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.383">updateReplicaColumnsIfNeeded</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.380">updateReplicaColumnsIfNeeded</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                 <a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;oldHTableDescriptor,
                                 <a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;newHTableDescriptor)
                                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -884,7 +884,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>postModify</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.422">postModify</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.419">postModify</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
               org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyTableState&nbsp;state)
                  throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                         <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
@@ -901,7 +901,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>reOpenAllRegionsIfTableIsOnline</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.432">reOpenAllRegionsIfTableIsOnline</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.429">reOpenAllRegionsIfTableIsOnline</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Last action from the procedure - executed when online schema change is supported.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>env</code> - MasterProcedureEnv</dd>
@@ -915,7 +915,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>isTraceEnabled</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.451">isTraceEnabled</a>()</pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.448">isTraceEnabled</a>()</pre>
 <div class="block">The procedure could be restarted from a different machine. If the variable is null, we need to
  retrieve it.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>traceEnabled whether the trace is enabled</dd></dl>
@@ -927,7 +927,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>runCoprocessorAction</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.465">runCoprocessorAction</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.462">runCoprocessorAction</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                         org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyTableState&nbsp;state)
                            throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                   <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
@@ -944,7 +944,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>isRollbackSupported</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.491">isRollbackSupported</a>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyTableState&nbsp;state)</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.488">isRollbackSupported</a>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ModifyTableState&nbsp;state)</pre>
 </li>
 </ul>
 <a name="getRegionInfoList(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">
@@ -953,7 +953,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getRegionInfoList</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.506">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="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.503">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="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/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/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html
index 92570f5..7b3f5a4 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html
@@ -145,6 +145,13 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/S
 <h3>Nested classes/interfaces inherited from class&nbsp;org.apache.hadoop.hbase.procedure2.<a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">StateMachineProcedure</a></h3>
 <code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2">StateMachineProcedure.Flow</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested_classes_inherited_from_class_org.apache.hadoop.hbase.master.procedure.ServerProcedureInterface">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface.ServerOperationType</a></code></li>
+</ul>
 </li>
 </ul>
 <!-- =========== FIELD SUMMARY =========== -->
@@ -336,28 +343,34 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/S
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#getServerName()">getServerName</a></strong>()</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface.ServerOperationType</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#getServerOperationType()">getServerOperationType</a></strong>()</code>
+<div class="block">Given an operation type we can take decisions about what to do with pending operations.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>protected org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ServerCrashState</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#getState(int)">getState</a></strong>(int&nbsp;stateId)</code>
 <div class="block">Convert an ordinal (or state id) to an Enum (or more descriptive) state object.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#getStateId(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ServerCrashState)">getStateId</a></strong>(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ServerCrashState&nbsp;state)</code>
 <div class="block">Convert the Enum (or more descriptive) state object to an ordinal (or state id).</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#hasMetaTableRegion()">hasMetaTableRegion</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#isMetaAssignedQuickTest(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">isMetaAssignedQuickTest</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>
 <div class="block">A quick test that hbase:meta is assigned; blocks for short time only.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#isYieldBeforeExecuteFromState(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv,%20org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ServerCrashState)">isYieldBeforeExecuteFromState</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                                           org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ServerCrashState&nbsp;state)</code>
@@ -366,85 +379,85 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/S
  before we move to the next.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#prepareLogReplay(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv,%20java.util.Set)">prepareLogReplay</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                 <a href="http://docs.oracle.com/javase/7/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/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&nbsp;regions)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#processDeadRegion(org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.master.AssignmentManager)">processDeadRegion</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri,
                                   <a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a>&nbsp;assignmentManager)</code>
 <div class="block">Process a dead region from a dead RS.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#processMeta(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">processMeta</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#releaseLock(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">releaseLock</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>
 <div class="block">The user should override this method, and release lock if necessary.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#rollbackState(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv,%20org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ServerCrashState)">rollbackState</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                           org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ServerCrashState&nbsp;state)</code>
 <div class="block">called to perform the rollback of the specified state</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#serializeStateData(java.io.OutputStream)">serializeStateData</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;stream)</code>
 <div class="block">The user-level code of the procedure may have some state to
  persist (e.g.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) static int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#size(java.util.Collection)">size</a></strong>(<a href="http://docs.oracle.com/javase/7/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/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&nbsp;hris)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#splitLogs(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">splitLogs</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#start(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">start</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>
 <div class="block">Start processing of crashed server.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#throwProcedureYieldException(java.lang.String)">throwProcedureYieldException</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#toStringClassDetails(java.lang.StringBuilder)">toStringClassDetails</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;sb)</code>
 <div class="block">Extend the toString() information with the procedure details
  e.g.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#verifyAndAssignMeta(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">verifyAndAssignMeta</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>
 <div class="block">If hbase:meta is not assigned already, assign.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#verifyAndAssignMetaWithRetries(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv)">verifyAndAssignMetaWithRetries</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>
 <div class="block">If hbase:meta is not assigned already, assign.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#waitOnAssign(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv,%20java.util.List)">waitOnAssign</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                         <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&nbsp;hris)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#waitOnRegionToClearRegionsInTransition(org.apache.hadoop.hbase.master.AssignmentManager,%20org.apache.hadoop.hbase.HRegionInfo,%20int)">waitOnRegionToClearRegionsInTransition</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a>&nbsp;am,
                                                                             <a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri,
@@ -1115,13 +1128,30 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/S
 <dt><span class="strong">Returns:</span></dt><dd>True if this server has an hbase:meta table region.</dd></dl>
 </li>
 </ul>
+<a name="getServerOperationType()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getServerOperationType</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface.ServerOperationType</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.755">getServerOperationType</a>()</pre>
+<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html#getServerOperationType()">ServerProcedureInterface</a></code></strong></div>
+<div class="block">Given an operation type we can take decisions about what to do with pending operations.
+ e.g. if we get a crash handler and we have some assignment operation pending
+ we can abort those operations.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html#getServerOperationType()">getServerOperationType</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface</a></code></dd>
+<dt><span class="strong">Returns:</span></dt><dd>the operation type that the procedure is executing.</dd></dl>
+</li>
+</ul>
 <a name="isYieldBeforeExecuteFromState(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv, org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ServerCrashState)">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>isYieldBeforeExecuteFromState</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.762">isYieldBeforeExecuteFromState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.767">isYieldBeforeExecuteFromState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                     org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.ServerCrashState&nbsp;state)</pre>
 <div class="block">For this procedure, yield at end of each successful flow step so that all crashed servers
  can make progress rather than do the default which has each procedure running to completion

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html
new file mode 100644
index 0000000..f858019
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html
@@ -0,0 +1,311 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ServerProcedureInterface.ServerOperationType (Apache HBase 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="ServerProcedureInterface.ServerOperationType (Apache HBase 2.0.0-SNAPSHOT API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ServerProcedureInterface.ServerOperationType.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" target="_top">Frames</a></li>
+<li><a href="ServerProcedureInterface.ServerOperationType.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum_constant_summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum_constant_detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.hadoop.hbase.master.procedure</div>
+<h2 title="Enum ServerProcedureInterface.ServerOperationType" class="title">Enum ServerProcedureInterface.ServerOperationType</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface.ServerOperationType</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.master.procedure.ServerProcedureInterface.ServerOperationType</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/7/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/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface.ServerOperationType</a>&gt;</dd>
+</dl>
+<dl>
+<dt>Enclosing interface:</dt>
+<dd><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static enum <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html#line.31">ServerProcedureInterface.ServerOperationType</a>
+extends <a href="http://docs.oracle.com/javase/7/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/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface.ServerOperationType</a>&gt;</pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum_constant_summary">
+<!--   -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html#CRASH_HANDLER">CRASH_HANDLER</a></strong></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface.ServerOperationType</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html#valueOf(java.lang.String)">valueOf</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface.ServerOperationType</a>[]</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html#values()">values</a></strong>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_java.lang.Enum">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#compareTo(E)" title="class or interface in java.lang">compareTo</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass()" title="class or interface in java.lang">getDeclaringClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/
 api/java/lang/Enum.html?is-external=true#name()" title="class or interface in java.lang">name</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#ordinal()" title="class or interface in java.lang">ordinal</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#valueOf(java.lang.Class,%20java.lang.String)" title="class or interface in java.lang">valueOf</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum_constant_detail">
+<!--   -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="CRASH_HANDLER">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>CRASH_HANDLER</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface.ServerOperationType</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html#line.32">CRASH_HANDLER</a></pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="values()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface.ServerOperationType</a>[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html#line.31">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:
+<pre>
+for (ServerProcedureInterface.ServerOperationType c : ServerProcedureInterface.ServerOperationType.values())
+&nbsp;   System.out.println(c);
+</pre></div>
+<dl><dt><span class="strong">Returns:</span></dt><dd>an array containing the constants of this enum type, in the order they are declared</dd></dl>
+</li>
+</ul>
+<a name="valueOf(java.lang.String)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface.ServerOperationType</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html#line.31">valueOf</a>(<a href="http://docs.oracle.com/javase/7/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 
+not permitted.)</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd></dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ServerProcedureInterface.ServerOperationType.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" target="_top">Frames</a></li>
+<li><a href="ServerProcedureInterface.ServerOperationType.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum_constant_summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum_constant_detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html
index cac0955..0d8441a 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html
@@ -36,7 +36,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" target="_top">Frames</a></li>
@@ -60,7 +60,7 @@
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method_summary">Method</a></li>
@@ -102,6 +102,25 @@ public interface <a href="../../../../../../src-html/org/apache/hadoop/hbase/mas
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested_class_summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Interface and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface.ServerOperationType</a></strong></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
 <!-- ========== METHOD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method_summary">
@@ -119,6 +138,12 @@ public interface <a href="../../../../../../src-html/org/apache/hadoop/hbase/mas
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html#getServerName()">getServerName</a></strong>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface.ServerOperationType</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html#getServerOperationType()">getServerOperationType</a></strong>()</code>
+<div class="block">Given an operation type we can take decisions about what to do with pending operations.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html#hasMetaTableRegion()">hasMetaTableRegion</a></strong>()</code>&nbsp;</td>
 </tr>
@@ -143,20 +168,33 @@ public interface <a href="../../../../../../src-html/org/apache/hadoop/hbase/mas
 <ul class="blockList">
 <li class="blockList">
 <h4>getServerName</h4>
-<pre><a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html#line.34">getServerName</a>()</pre>
+<pre><a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html#line.38">getServerName</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>Name of this server instance.</dd></dl>
 </li>
 </ul>
 <a name="hasMetaTableRegion()">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>hasMetaTableRegion</h4>
-<pre>boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html#line.39">hasMetaTableRegion</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html#line.43">hasMetaTableRegion</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>True if this server has an hbase:meta table region.</dd></dl>
 </li>
 </ul>
+<a name="getServerOperationType()">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getServerOperationType</h4>
+<pre><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface.ServerOperationType</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html#line.51">getServerOperationType</a>()</pre>
+<div class="block">Given an operation type we can take decisions about what to do with pending operations.
+ e.g. if we get a crash handler and we have some assignment operation pending
+ we can abort those operations.</div>
+<dl><dt><span class="strong">Returns:</span></dt><dd>the operation type that the procedure is executing.</dd></dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -184,7 +222,7 @@ public interface <a href="../../../../../../src-html/org/apache/hadoop/hbase/mas
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" target="_top">Frames</a></li>
@@ -208,7 +246,7 @@ public interface <a href="../../../../../../src-html/org/apache/hadoop/hbase/mas
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method_summary">Method</a></li>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html
index 5439921..945a72c 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html
@@ -44,511 +44,508 @@
 <span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.36"></a>
 <span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.37"></a>
 <span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.constraint.ConstraintException;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.executor.EventType;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.master.AssignmentManager;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.master.BulkAssigner;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.master.MasterCoprocessorHost;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.master.RegionState;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.master.RegionStates;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.master.TableStateManager;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.procedure2.StateMachineProcedure;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.htrace.Trace;<a name="line.52"></a>
-<span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span>@InterfaceAudience.Private<a name="line.54"></a>
-<span class="sourceLineNo">055</span>public class DisableTableProcedure<a name="line.55"></a>
-<span class="sourceLineNo">056</span>    extends StateMachineProcedure&lt;MasterProcedureEnv, DisableTableState&gt;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>    implements TableProcedureInterface {<a name="line.57"></a>
-<span class="sourceLineNo">058</span>  private static final Log LOG = LogFactory.getLog(DisableTableProcedure.class);<a name="line.58"></a>
-<span class="sourceLineNo">059</span><a name="line.59"></a>
-<span class="sourceLineNo">060</span>  private final AtomicBoolean aborted = new AtomicBoolean(false);<a name="line.60"></a>
-<span class="sourceLineNo">061</span><a name="line.61"></a>
-<span class="sourceLineNo">062</span>  // This is for back compatible with 1.0 asynchronized operations.<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  private final ProcedurePrepareLatch syncLatch;<a name="line.63"></a>
-<span class="sourceLineNo">064</span><a name="line.64"></a>
-<span class="sourceLineNo">065</span>  private TableName tableName;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>  private boolean skipTableStateCheck;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  private UserGroupInformation user;<a name="line.67"></a>
-<span class="sourceLineNo">068</span><a name="line.68"></a>
-<span class="sourceLineNo">069</span>  private Boolean traceEnabled = null;<a name="line.69"></a>
-<span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span>  enum MarkRegionOfflineOpResult {<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    MARK_ALL_REGIONS_OFFLINE_SUCCESSFUL,<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    BULK_ASSIGN_REGIONS_FAILED,<a name="line.73"></a>
-<span class="sourceLineNo">074</span>    MARK_ALL_REGIONS_OFFLINE_INTERRUPTED,<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  }<a name="line.75"></a>
-<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span>  public DisableTableProcedure() {<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    syncLatch = null;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>  }<a name="line.79"></a>
-<span class="sourceLineNo">080</span><a name="line.80"></a>
-<span class="sourceLineNo">081</span>  /**<a name="line.81"></a>
-<span class="sourceLineNo">082</span>   * Constructor<a name="line.82"></a>
-<span class="sourceLineNo">083</span>   * @param env MasterProcedureEnv<a name="line.83"></a>
-<span class="sourceLineNo">084</span>   * @param tableName the table to operate on<a name="line.84"></a>
-<span class="sourceLineNo">085</span>   * @param skipTableStateCheck whether to check table state<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   * @throws IOException<a name="line.86"></a>
-<span class="sourceLineNo">087</span>   */<a name="line.87"></a>
-<span class="sourceLineNo">088</span>  public DisableTableProcedure(<a name="line.88"></a>
-<span class="sourceLineNo">089</span>      final MasterProcedureEnv env,<a name="line.89"></a>
-<span class="sourceLineNo">090</span>      final TableName tableName,<a name="line.90"></a>
-<span class="sourceLineNo">091</span>      final boolean skipTableStateCheck) throws IOException {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    this(env, tableName, skipTableStateCheck, null);<a name="line.92"></a>
-<span class="sourceLineNo">093</span>  }<a name="line.93"></a>
-<span class="sourceLineNo">094</span><a name="line.94"></a>
-<span class="sourceLineNo">095</span>  /**<a name="line.95"></a>
-<span class="sourceLineNo">096</span>   * Constructor<a name="line.96"></a>
-<span class="sourceLineNo">097</span>   * @param env MasterProcedureEnv<a name="line.97"></a>
-<span class="sourceLineNo">098</span>   * @param tableName the table to operate on<a name="line.98"></a>
-<span class="sourceLineNo">099</span>   * @param skipTableStateCheck whether to check table state<a name="line.99"></a>
-<span class="sourceLineNo">100</span>   * @throws IOException<a name="line.100"></a>
-<span class="sourceLineNo">101</span>   */<a name="line.101"></a>
-<span class="sourceLineNo">102</span>  public DisableTableProcedure(<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      final MasterProcedureEnv env,<a name="line.103"></a>
-<span class="sourceLineNo">104</span>      final TableName tableName,<a name="line.104"></a>
-<span class="sourceLineNo">105</span>      final boolean skipTableStateCheck,<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      final ProcedurePrepareLatch syncLatch) throws IOException {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    this.tableName = tableName;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    this.skipTableStateCheck = skipTableStateCheck;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    this.user = env.getRequestUser().getUGI();<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    this.setOwner(this.user.getShortUserName());<a name="line.110"></a>
-<span class="sourceLineNo">111</span><a name="line.111"></a>
-<span class="sourceLineNo">112</span>    // Compatible with 1.0: We use latch to make sure that this procedure implementation is<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    // compatible with 1.0 asynchronized operations. We need to lock the table and check<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    // whether the Disable operation could be performed (table exists and online; table state<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    // is ENABLED). Once it is done, we are good to release the latch and the client can<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    // start asynchronously wait for the operation.<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    //<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    // Note: the member syncLatch could be null if we are in failover or recovery scenario.<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    // This is ok for backward compatible, as 1.0 client would not able to peek at procedure.<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    this.syncLatch = syncLatch;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>  }<a name="line.121"></a>
-<span class="sourceLineNo">122</span><a name="line.122"></a>
-<span class="sourceLineNo">123</span>  @Override<a name="line.123"></a>
-<span class="sourceLineNo">124</span>  protected Flow executeFromState(final MasterProcedureEnv env, final DisableTableState state)<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      throws InterruptedException {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    if (isTraceEnabled()) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      LOG.trace(this + " execute state=" + state);<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    }<a name="line.128"></a>
-<span class="sourceLineNo">129</span><a name="line.129"></a>
-<span class="sourceLineNo">130</span>    try {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>      switch (state) {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      case DISABLE_TABLE_PREPARE:<a name="line.132"></a>
-<span class="sourceLineNo">133</span>        if (prepareDisable(env)) {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>          setNextState(DisableTableState.DISABLE_TABLE_PRE_OPERATION);<a name="line.134"></a>
-<span class="sourceLineNo">135</span>        } else {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>          assert isFailed() : "disable should have an exception here";<a name="line.136"></a>
-<span class="sourceLineNo">137</span>          return Flow.NO_MORE_STATE;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>        }<a name="line.138"></a>
-<span class="sourceLineNo">139</span>        break;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>      case DISABLE_TABLE_PRE_OPERATION:<a name="line.140"></a>
-<span class="sourceLineNo">141</span>        preDisable(env, state);<a name="line.141"></a>
-<span class="sourceLineNo">142</span>        setNextState(DisableTableState.DISABLE_TABLE_SET_DISABLING_TABLE_STATE);<a name="line.142"></a>
-<span class="sourceLineNo">143</span>        break;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      case DISABLE_TABLE_SET_DISABLING_TABLE_STATE:<a name="line.144"></a>
-<span class="sourceLineNo">145</span>        setTableStateToDisabling(env, tableName);<a name="line.145"></a>
-<span class="sourceLineNo">146</span>        setNextState(DisableTableState.DISABLE_TABLE_MARK_REGIONS_OFFLINE);<a name="line.146"></a>
-<span class="sourceLineNo">147</span>        break;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>      case DISABLE_TABLE_MARK_REGIONS_OFFLINE:<a name="line.148"></a>
-<span class="sourceLineNo">149</span>        if (markRegionsOffline(env, tableName, true) ==<a name="line.149"></a>
-<span class="sourceLineNo">150</span>            MarkRegionOfflineOpResult.MARK_ALL_REGIONS_OFFLINE_SUCCESSFUL) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>          setNextState(DisableTableState.DISABLE_TABLE_SET_DISABLED_TABLE_STATE);<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        } else {<a name="line.152"></a>
-<span class="sourceLineNo">153</span>          LOG.trace("Retrying later to disable the missing regions");<a name="line.153"></a>
-<span class="sourceLineNo">154</span>        }<a name="line.154"></a>
-<span class="sourceLineNo">155</span>        break;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>      case DISABLE_TABLE_SET_DISABLED_TABLE_STATE:<a name="line.156"></a>
-<span class="sourceLineNo">157</span>        setTableStateToDisabled(env, tableName);<a name="line.157"></a>
-<span class="sourceLineNo">158</span>        setNextState(DisableTableState.DISABLE_TABLE_POST_OPERATION);<a name="line.158"></a>
-<span class="sourceLineNo">159</span>        break;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>      case DISABLE_TABLE_POST_OPERATION:<a name="line.160"></a>
-<span class="sourceLineNo">161</span>        postDisable(env, state);<a name="line.161"></a>
-<span class="sourceLineNo">162</span>        return Flow.NO_MORE_STATE;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      default:<a name="line.163"></a>
-<span class="sourceLineNo">164</span>        throw new UnsupportedOperationException("unhandled state=" + state);<a name="line.164"></a>
-<span class="sourceLineNo">165</span>      }<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    } catch (IOException e) {<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      LOG.warn("Retriable error trying to disable table=" + tableName + " state=" + state, e);<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    }<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    return Flow.HAS_MORE_STATE;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>  }<a name="line.170"></a>
-<span class="sourceLineNo">171</span><a name="line.171"></a>
-<span class="sourceLineNo">172</span>  @Override<a name="line.172"></a>
-<span class="sourceLineNo">173</span>  protected void rollbackState(final MasterProcedureEnv env, final DisableTableState state)<a name="line.173"></a>
-<span class="sourceLineNo">174</span>      throws IOException {<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    if (state == DisableTableState.DISABLE_TABLE_PREPARE) {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      // nothing to rollback, prepare-disable is just table-state checks.<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      // We can fail if the table does not exist or is not disabled.<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      ProcedurePrepareLatch.releaseLatch(syncLatch, this);<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      return;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    }<a name="line.180"></a>
-<span class="sourceLineNo">181</span><a name="line.181"></a>
-<span class="sourceLineNo">182</span>    // The delete doesn't have a rollback. The execution will succeed, at some point.<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    throw new UnsupportedOperationException("unhandled state=" + state);<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  }<a name="line.184"></a>
-<span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span>  @Override<a name="line.186"></a>
-<span class="sourceLineNo">187</span>  protected DisableTableState getState(final int stateId) {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    return DisableTableState.valueOf(stateId);<a name="line.188"></a>
-<span class="sourceLineNo">189</span>  }<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>  @Override<a name="line.191"></a>
-<span class="sourceLineNo">192</span>  protected int getStateId(final DisableTableState state) {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    return state.getNumber();<a name="line.193"></a>
-<span class="sourceLineNo">194</span>  }<a name="line.194"></a>
-<span class="sourceLineNo">195</span><a name="line.195"></a>
-<span class="sourceLineNo">196</span>  @Override<a name="line.196"></a>
-<span class="sourceLineNo">197</span>  protected DisableTableState getInitialState() {<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    return DisableTableState.DISABLE_TABLE_PREPARE;<a name="line.198"></a>
-<span class="sourceLineNo">199</span>  }<a name="line.199"></a>
-<span class="sourceLineNo">200</span><a name="line.200"></a>
-<span class="sourceLineNo">201</span>  @Override<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  protected void setNextState(final DisableTableState state) {<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    if (aborted.get()) {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      setAbortFailure("disable-table", "abort requested");<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    } else {<a name="line.205"></a>
-<span class="sourceLineNo">206</span>      super.setNextState(state);<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    }<a name="line.207"></a>
-<span class="sourceLineNo">208</span>  }<a name="line.208"></a>
-<span class="sourceLineNo">209</span><a name="line.209"></a>
-<span class="sourceLineNo">210</span>  @Override<a name="line.210"></a>
-<span class="sourceLineNo">211</span>  public boolean abort(final MasterProcedureEnv env) {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    aborted.set(true);<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    return true;<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  }<a name="line.214"></a>
-<span class="sourceLineNo">215</span><a name="line.215"></a>
-<span class="sourceLineNo">216</span>  @Override<a name="line.216"></a>
-<span class="sourceLineNo">217</span>  protected boolean acquireLock(final MasterProcedureEnv env) {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    if (!env.isInitialized()) return false;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    return env.getProcedureQueue().tryAcquireTableExclusiveLock(<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      tableName,<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      EventType.C_M_DISABLE_TABLE.toString());<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>  @Override<a name="line.224"></a>
-<span class="sourceLineNo">225</span>  protected void releaseLock(final MasterProcedureEnv env) {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    env.getProcedureQueue().releaseTableExclusiveLock(tableName);<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  }<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  @Override<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  public void serializeStateData(final OutputStream stream) throws IOException {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    super.serializeStateData(stream);<a name="line.231"></a>
-<span class="sourceLineNo">232</span><a name="line.232"></a>
-<span class="sourceLineNo">233</span>    MasterProcedureProtos.DisableTableStateData.Builder disableTableMsg =<a name="line.233"></a>
-<span class="sourceLineNo">234</span>        MasterProcedureProtos.DisableTableStateData.newBuilder()<a name="line.234"></a>
-<span class="sourceLineNo">235</span>            .setUserInfo(MasterProcedureUtil.toProtoUserInfo(user))<a name="line.235"></a>
-<span class="sourceLineNo">236</span>            .setTableName(ProtobufUtil.toProtoTableName(tableName))<a name="line.236"></a>
-<span class="sourceLineNo">237</span>            .setSkipTableStateCheck(skipTableStateCheck);<a name="line.237"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.master.AssignmentManager;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.master.BulkAssigner;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.master.MasterCoprocessorHost;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.master.RegionState;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.master.RegionStates;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.master.TableStateManager;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.procedure2.StateMachineProcedure;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.htrace.Trace;<a name="line.51"></a>
+<span class="sourceLineNo">052</span><a name="line.52"></a>
+<span class="sourceLineNo">053</span>@InterfaceAudience.Private<a name="line.53"></a>
+<span class="sourceLineNo">054</span>public class DisableTableProcedure<a name="line.54"></a>
+<span class="sourceLineNo">055</span>    extends StateMachineProcedure&lt;MasterProcedureEnv, DisableTableState&gt;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>    implements TableProcedureInterface {<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  private static final Log LOG = LogFactory.getLog(DisableTableProcedure.class);<a name="line.57"></a>
+<span class="sourceLineNo">058</span><a name="line.58"></a>
+<span class="sourceLineNo">059</span>  private final AtomicBoolean aborted = new AtomicBoolean(false);<a name="line.59"></a>
+<span class="sourceLineNo">060</span><a name="line.60"></a>
+<span class="sourceLineNo">061</span>  // This is for back compatible with 1.0 asynchronized operations.<a name="line.61"></a>
+<span class="sourceLineNo">062</span>  private final ProcedurePrepareLatch syncLatch;<a name="line.62"></a>
+<span class="sourceLineNo">063</span><a name="line.63"></a>
+<span class="sourceLineNo">064</span>  private TableName tableName;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>  private boolean skipTableStateCheck;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  private UserGroupInformation user;<a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span>  private Boolean traceEnabled = null;<a name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span>  enum MarkRegionOfflineOpResult {<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    MARK_ALL_REGIONS_OFFLINE_SUCCESSFUL,<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    BULK_ASSIGN_REGIONS_FAILED,<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    MARK_ALL_REGIONS_OFFLINE_INTERRUPTED,<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  }<a name="line.74"></a>
+<span class="sourceLineNo">075</span><a name="line.75"></a>
+<span class="sourceLineNo">076</span>  public DisableTableProcedure() {<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    syncLatch = null;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  }<a name="line.78"></a>
+<span class="sourceLineNo">079</span><a name="line.79"></a>
+<span class="sourceLineNo">080</span>  /**<a name="line.80"></a>
+<span class="sourceLineNo">081</span>   * Constructor<a name="line.81"></a>
+<span class="sourceLineNo">082</span>   * @param env MasterProcedureEnv<a name="line.82"></a>
+<span class="sourceLineNo">083</span>   * @param tableName the table to operate on<a name="line.83"></a>
+<span class="sourceLineNo">084</span>   * @param skipTableStateCheck whether to check table state<a name="line.84"></a>
+<span class="sourceLineNo">085</span>   * @throws IOException<a name="line.85"></a>
+<span class="sourceLineNo">086</span>   */<a name="line.86"></a>
+<span class="sourceLineNo">087</span>  public DisableTableProcedure(<a name="line.87"></a>
+<span class="sourceLineNo">088</span>      final MasterProcedureEnv env,<a name="line.88"></a>
+<span class="sourceLineNo">089</span>      final TableName tableName,<a name="line.89"></a>
+<span class="sourceLineNo">090</span>      final boolean skipTableStateCheck) throws IOException {<a name="line.90"></a>
+<span class="sourceLineNo">091</span>    this(env, tableName, skipTableStateCheck, null);<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  }<a name="line.92"></a>
+<span class="sourceLineNo">093</span><a name="line.93"></a>
+<span class="sourceLineNo">094</span>  /**<a name="line.94"></a>
+<span class="sourceLineNo">095</span>   * Constructor<a name="line.95"></a>
+<span class="sourceLineNo">096</span>   * @param env MasterProcedureEnv<a name="line.96"></a>
+<span class="sourceLineNo">097</span>   * @param tableName the table to operate on<a name="line.97"></a>
+<span class="sourceLineNo">098</span>   * @param skipTableStateCheck whether to check table state<a name="line.98"></a>
+<span class="sourceLineNo">099</span>   * @throws IOException<a name="line.99"></a>
+<span class="sourceLineNo">100</span>   */<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  public DisableTableProcedure(<a name="line.101"></a>
+<span class="sourceLineNo">102</span>      final MasterProcedureEnv env,<a name="line.102"></a>
+<span class="sourceLineNo">103</span>      final TableName tableName,<a name="line.103"></a>
+<span class="sourceLineNo">104</span>      final boolean skipTableStateCheck,<a name="line.104"></a>
+<span class="sourceLineNo">105</span>      final ProcedurePrepareLatch syncLatch) throws IOException {<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    this.tableName = tableName;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    this.skipTableStateCheck = skipTableStateCheck;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    this.user = env.getRequestUser().getUGI();<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    this.setOwner(this.user.getShortUserName());<a name="line.109"></a>
+<span class="sourceLineNo">110</span><a name="line.110"></a>
+<span class="sourceLineNo">111</span>    // Compatible with 1.0: We use latch to make sure that this procedure implementation is<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    // compatible with 1.0 asynchronized operations. We need to lock the table and check<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    // whether the Disable operation could be performed (table exists and online; table state<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    // is ENABLED). Once it is done, we are good to release the latch and the client can<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    // start asynchronously wait for the operation.<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    //<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    // Note: the member syncLatch could be null if we are in failover or recovery scenario.<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    // This is ok for backward compatible, as 1.0 client would not able to peek at procedure.<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    this.syncLatch = syncLatch;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  }<a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121"></a>
+<span class="sourceLineNo">122</span>  @Override<a name="line.122"></a>
+<span class="sourceLineNo">123</span>  protected Flow executeFromState(final MasterProcedureEnv env, final DisableTableState state)<a name="line.123"></a>
+<span class="sourceLineNo">124</span>      throws InterruptedException {<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    if (isTraceEnabled()) {<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      LOG.trace(this + " execute state=" + state);<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>    try {<a name="line.129"></a>
+<span class="sourceLineNo">130</span>      switch (state) {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      case DISABLE_TABLE_PREPARE:<a name="line.131"></a>
+<span class="sourceLineNo">132</span>        if (prepareDisable(env)) {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>          setNextState(DisableTableState.DISABLE_TABLE_PRE_OPERATION);<a name="line.133"></a>
+<span class="sourceLineNo">134</span>        } else {<a name="line.134"></a>
+<span class="sourceLineNo">135</span>          assert isFailed() : "disable should have an exception here";<a name="line.135"></a>
+<span class="sourceLineNo">136</span>          return Flow.NO_MORE_STATE;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>        }<a name="line.137"></a>
+<span class="sourceLineNo">138</span>        break;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      case DISABLE_TABLE_PRE_OPERATION:<a name="line.139"></a>
+<span class="sourceLineNo">140</span>        preDisable(env, state);<a name="line.140"></a>
+<span class="sourceLineNo">141</span>        setNextState(DisableTableState.DISABLE_TABLE_SET_DISABLING_TABLE_STATE);<a name="line.141"></a>
+<span class="sourceLineNo">142</span>        break;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>      case DISABLE_TABLE_SET_DISABLING_TABLE_STATE:<a name="line.143"></a>
+<span class="sourceLineNo">144</span>        setTableStateToDisabling(env, tableName);<a name="line.144"></a>
+<span class="sourceLineNo">145</span>        setNextState(DisableTableState.DISABLE_TABLE_MARK_REGIONS_OFFLINE);<a name="line.145"></a>
+<span class="sourceLineNo">146</span>        break;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>      case DISABLE_TABLE_MARK_REGIONS_OFFLINE:<a name="line.147"></a>
+<span class="sourceLineNo">148</span>        if (markRegionsOffline(env, tableName, true) ==<a name="line.148"></a>
+<span class="sourceLineNo">149</span>            MarkRegionOfflineOpResult.MARK_ALL_REGIONS_OFFLINE_SUCCESSFUL) {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>          setNextState(DisableTableState.DISABLE_TABLE_SET_DISABLED_TABLE_STATE);<a name="line.150"></a>
+<span class="sourceLineNo">151</span>        } else {<a name="line.151"></a>
+<span class="sourceLineNo">152</span>          LOG.trace("Retrying later to disable the missing regions");<a name="line.152"></a>
+<span class="sourceLineNo">153</span>        }<a name="line.153"></a>
+<span class="sourceLineNo">154</span>        break;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>      case DISABLE_TABLE_SET_DISABLED_TABLE_STATE:<a name="line.155"></a>
+<span class="sourceLineNo">156</span>        setTableStateToDisabled(env, tableName);<a name="line.156"></a>
+<span class="sourceLineNo">157</span>        setNextState(DisableTableState.DISABLE_TABLE_POST_OPERATION);<a name="line.157"></a>
+<span class="sourceLineNo">158</span>        break;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>      case DISABLE_TABLE_POST_OPERATION:<a name="line.159"></a>
+<span class="sourceLineNo">160</span>        postDisable(env, state);<a name="line.160"></a>
+<span class="sourceLineNo">161</span>        return Flow.NO_MORE_STATE;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>      default:<a name="line.162"></a>
+<span class="sourceLineNo">163</span>        throw new UnsupportedOperationException("unhandled state=" + state);<a name="line.163"></a>
+<span class="sourceLineNo">164</span>      }<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    } catch (IOException e) {<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      LOG.warn("Retriable error trying to disable table=" + tableName + " state=" + state, e);<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    }<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    return Flow.HAS_MORE_STATE;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>  }<a name="line.169"></a>
+<span class="sourceLineNo">170</span><a name="line.170"></a>
+<span class="sourceLineNo">171</span>  @Override<a name="line.171"></a>
+<span class="sourceLineNo">172</span>  protected void rollbackState(final MasterProcedureEnv env, final DisableTableState state)<a name="line.172"></a>
+<span class="sourceLineNo">173</span>      throws IOException {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    if (state == DisableTableState.DISABLE_TABLE_PREPARE) {<a name="line.174"></a>
+<span class="sourceLineNo">175</span>      // nothing to rollback, prepare-disable is just table-state checks.<a name="line.175"></a>
+<span class="sourceLineNo">176</span>      // We can fail if the table does not exist or is not disabled.<a name="line.176"></a>
+<span class="sourceLineNo">177</span>      ProcedurePrepareLatch.releaseLatch(syncLatch, this);<a name="line.177"></a>
+<span class="sourceLineNo">178</span>      return;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    }<a name="line.179"></a>
+<span class="sourceLineNo">180</span><a name="line.180"></a>
+<span class="sourceLineNo">181</span>    // The delete doesn't have a rollback. The execution will succeed, at some point.<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    throw new UnsupportedOperationException("unhandled state=" + state);<a name="line.182"></a>
+<span class="sourceLineNo">183</span>  }<a name="line.183"></a>
+<span class="sourceLineNo">184</span><a name="line.184"></a>
+<span class="sourceLineNo">185</span>  @Override<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  protected DisableTableState getState(final int stateId) {<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    return DisableTableState.valueOf(stateId);<a name="line.187"></a>
+<span class="sourceLineNo">188</span>  }<a name="line.188"></a>
+<span class="sourceLineNo">189</span><a name="line.189"></a>
+<span class="sourceLineNo">190</span>  @Override<a name="line.190"></a>
+<span class="sourceLineNo">191</span>  protected int getStateId(final DisableTableState state) {<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    return state.getNumber();<a name="line.192"></a>
+<span class="sourceLineNo">193</span>  }<a name="line.193"></a>
+<span class="sourceLineNo">194</span><a name="line.194"></a>
+<span class="sourceLineNo">195</span>  @Override<a name="line.195"></a>
+<span class="sourceLineNo">196</span>  protected DisableTableState getInitialState() {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    return DisableTableState.DISABLE_TABLE_PREPARE;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>  }<a name="line.198"></a>
+<span class="sourceLineNo">199</span><a name="line.199"></a>
+<span class="sourceLineNo">200</span>  @Override<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  protected void setNextState(final DisableTableState state) {<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    if (aborted.get()) {<a name="line.202"></a>
+<span class="sourceLineNo">203</span>      setAbortFailure("disable-table", "abort requested");<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    } else {<a name="line.204"></a>
+<span class="sourceLineNo">205</span>      super.setNextState(state);<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    }<a name="line.206"></a>
+<span class="sourceLineNo">207</span>  }<a name="line.207"></a>
+<span class="sourceLineNo">208</span><a name="line.208"></a>
+<span class="sourceLineNo">209</span>  @Override<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  public boolean abort(final MasterProcedureEnv env) {<a name="line.210"></a>
+<span class="sourceLineNo">211</span>    aborted.set(true);<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    return true;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>  }<a name="line.213"></a>
+<span class="sourceLineNo">214</span><a name="line.214"></a>
+<span class="sourceLineNo">215</span>  @Override<a name="line.215"></a>
+<span class="sourceLineNo">216</span>  protected boolean acquireLock(final MasterProcedureEnv env) {<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    if (env.waitInitialized(this)) return false;<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    return env.getProcedureQueue().tryAcquireTableExclusiveLock(tableName, "disable table");<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  }<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  @Override<a name="line.221"></a>
+<span class="sourceLineNo">222</span>  protected void releaseLock(final MasterProcedureEnv env) {<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    env.getProcedureQueue().releaseTableExclusiveLock(tableName);<a name="line.223"></a>
+<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span>  @Override<a name="line.226"></a>
+<span class="sourceLineNo">227</span>  public void serializeStateData(final OutputStream stream) throws IOException {<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    super.serializeStateData(stream);<a name="line.228"></a>
+<span class="sourceLineNo">229</span><a name="line.229"></a>
+<span class="sourceLineNo">230</span>    MasterProcedureProtos.DisableTableStateData.Builder disableTableMsg =<a name="line.230"></a>
+<span class="sourceLineNo">231</span>        MasterProcedureProtos.DisableTableStateData.newBuilder()<a name="line.231"></a>
+<span class="sourceLineNo">232</span>            .setUserInfo(MasterProcedureUtil.toProtoUserInfo(user))<a name="line.232"></a>
+<span class="sourceLineNo">233</span>            .setTableName(ProtobufUtil.toProtoTableName(tableName))<a name="line.233"></a>
+<span class="sourceLineNo">234</span>            .setSkipTableStateCheck(skipTableStateCheck);<a name="line.234"></a>
+<span class="sourceLineNo">235</span><a name="line.235"></a>
+<span class="sourceLineNo">236</span>    disableTableMsg.build().writeDelimitedTo(stream);<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  }<a name="line.237"></a>
 <span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>    disableTableMsg.build().writeDelimitedTo(stream);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  @Override<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  public void deserializeStateData(final InputStream stream) throws IOException {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    super.deserializeStateData(stream);<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span>    MasterProcedureProtos.DisableTableStateData disableTableMsg =<a name="line.246"></a>
-<span class="sourceLineNo">247</span>        MasterProcedureProtos.DisableTableStateData.parseDelimitedFrom(stream);<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    user = MasterProcedureUtil.toUserInfo(disableTableMsg.getUserInfo());<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    tableName = ProtobufUtil.toTableName(disableTableMsg.getTableName());<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    skipTableStateCheck = disableTableMsg.getSkipTableStateCheck();<a name="line.250"></a>
-<span class="sourceLineNo">251</span>  }<a name="line.251"></a>
-<span class="sourceLineNo">252</span><a name="line.252"></a>
-<span class="sourceLineNo">253</span>  @Override<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  public void toStringClassDetails(StringBuilder sb) {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    sb.append(getClass().getSimpleName());<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    sb.append(" (table=");<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    sb.append(tableName);<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    sb.append(")");<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  }<a name="line.259"></a>
-<span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span>  @Override<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  public TableName getTableName() {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    return tableName;<a name="line.263"></a>
-<span class="sourceLineNo">264</span>  }<a name="line.264"></a>
-<span class="sourceLineNo">265</span><a name="line.265"></a>
-<span class="sourceLineNo">266</span>  @Override<a name="line.266"></a>
-<span class="sourceLineNo">267</span>  public TableOperationType getTableOperationType() {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    return TableOperationType.DISABLE;<a name="line.268"></a>
-<span class="sourceLineNo">269</span>  }<a name="line.269"></a>
-<span class="sourceLineNo">270</span><a name="line.270"></a>
-<span class="sourceLineNo">271</span>  /**<a name="line.271"></a>
-<span class="sourceLineNo">272</span>   * Action before any real action of disabling table. Set the exception in the procedure instead<a name="line.272"></a>
-<span class="sourceLineNo">273</span>   * of throwing it.  This approach is to deal with backward compatible with 1.0.<a name="line.273"></a>
-<span class="sourceLineNo">274</span>   * @param env MasterProcedureEnv<a name="line.274"></a>
-<span class="sourceLineNo">275</span>   * @throws IOException<a name="line.275"></a>
-<span class="sourceLineNo">276</span>   */<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  private boolean prepareDisable(final MasterProcedureEnv env) throws IOException {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    boolean canTableBeDisabled = true;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>    if (tableName.equals(TableName.META_TABLE_NAME)) {<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      setFailure("master-disable-table", new ConstraintException("Cannot disable catalog table"));<a name="line.280"></a>
+<span class="sourceLineNo">239</span>  @Override<a name="line.239"></a>
+<span class="sourceLineNo">240</span>  public void deserializeStateData(final InputStream stream) throws IOException {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    super.deserializeStateData(stream);<a name="line.241"></a>
+<span class="sourceLineNo">242</span><a name="line.242"></a>
+<span class="sourceLineNo">243</span>    MasterProcedureProtos.DisableTableStateData disableTableMsg =<a name="line.243"></a>
+<span class="sourceLineNo">244</span>        MasterProcedureProtos.DisableTableStateData.parseDelimitedFrom(stream);<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    user = MasterProcedureUtil.toUserInfo(disableTableMsg.getUserInfo());<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    tableName = ProtobufUtil.toTableName(disableTableMsg.getTableName());<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    skipTableStateCheck = disableTableMsg.getSkipTableStateCheck();<a name="line.247"></a>
+<span class="sourceLineNo">248</span>  }<a name="line.248"></a>
+<span class="sourceLineNo">249</span><a name="line.249"></a>
+<span class="sourceLineNo">250</span>  @Override<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  public void toStringClassDetails(StringBuilder sb) {<a name="line.251"></a>
+<span class="sourceLineNo">252</span>    sb.append(getClass().getSimpleName());<a name="line.252"></a>
+<span class="sourceLineNo">253</span>    sb.append(" (table=");<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    sb.append(tableName);<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    sb.append(")");<a name="line.255"></a>
+<span class="sourceLineNo">256</span>  }<a name="line.256"></a>
+<span class="sourceLineNo">257</span><a name="line.257"></a>
+<span class="sourceLineNo">258</span>  @Override<a name="line.258"></a>
+<span class="sourceLineNo">259</span>  public TableName getTableName() {<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    return tableName;<a name="line.260"></a>
+<span class="sourceLineNo">261</span>  }<a name="line.261"></a>
+<span class="sourceLineNo">262</span><a name="line.262"></a>
+<span class="sourceLineNo">263</span>  @Override<a name="line.263"></a>
+<span class="sourceLineNo">264</span>  public TableOperationType getTableOperationType() {<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    return TableOperationType.DISABLE;<a name="line.265"></a>
+<span class="sourceLineNo">266</span>  }<a name="line.266"></a>
+<span class="sourceLineNo">267</span><a name="line.267"></a>
+<span class="sourceLineNo">268</span>  /**<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   * Action before any real action of disabling table. Set the exception in the procedure instead<a name="line.269"></a>
+<span class="sourceLineNo">270</span>   * of throwing it.  This approach is to deal with backward compatible with 1.0.<a name="line.270"></a>
+<span class="sourceLineNo">271</span>   * @param env MasterProcedureEnv<a name="line.271"></a>
+<span class="sourceLineNo">272</span>   * @throws IOException<a name="line.272"></a>
+<span class="sourceLineNo">273</span>   */<a name="line.273"></a>
+<span class="sourceLineNo">274</span>  private boolean prepareDisable(final MasterProcedureEnv env) throws IOException {<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    boolean canTableBeDisabled = true;<a name="line.275"></a>
+<span class="sourceLineNo">276</span>    if (tableName.equals(TableName.META_TABLE_NAME)) {<a name="line.276"></a>
+<span class="sourceLineNo">277</span>      setFailure("master-disable-table", new ConstraintException("Cannot disable catalog table"));<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      canTableBeDisabled = false;<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    } else if (!MetaTableAccessor.tableExists(env.getMasterServices().getConnection(), tableName)) {<a name="line.279"></a>
+<span class="sourceLineNo">280</span>      setFailure("master-disable-table", new TableNotFoundException(tableName));<a name="line.280"></a>
 <span class="sourceLineNo">281</span>      canTableBeDisabled = false;<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    } else if (!MetaTableAccessor.tableExists(env.getMasterServices().getConnection(), tableName)) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      setFailure("master-disable-table", new TableNotFoundException(tableName));<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      canTableBeDisabled = false;<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    } else if (!skipTableStateCheck) {<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      // There could be multiple client requests trying to disable or enable<a name="line.286"></a>
-<span class="sourceLineNo">287</span>      // the table at the same time. Ensure only the first request is honored<a name="line.287"></a>
-<span class="sourceLineNo">288</span>      // After that, no other requests can be accepted until the table reaches<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      // DISABLED or ENABLED.<a name="line.289"></a>
-<span class="sourceLineNo">290</span>      //<a name="line.290"></a>
-<span class="sourceLineNo">291</span>      // Note: in 1.0 release, we called TableStateManager.setTableStateIfInStates() to set<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      // the state to DISABLING from ENABLED. The implementation was done before table lock<a name="line.292"></a>
-<span class="sourceLineNo">293</span>      // was implemented. With table lock, there is no need to set the state here (it will<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      // set the state later on). A quick state check should be enough for us to move forward.<a name="line.294"></a>
-<span class="sourceLineNo">295</span>      TableStateManager tsm =<a name="line.295"></a>
-<span class="sourceLineNo">296</span>        env.getMasterServices().getAssignmentManager().getTableStateManager();<a name="line.296"></a>
-<span class="sourceLineNo">297</span>      TableState.State state = tsm.getTableState(tableName);<a name="line.297"></a>
-<span class="sourceLineNo">298</span>      if(!state.equals(TableState.State.ENABLED)){<a name="line.298"></a>
-<span class="sourceLineNo">299</span>        LOG.info("Table " + tableName + " isn't enabled;is "+state.name()+"; skipping disable");<a name="line.299"></a>
-<span class="sourceLineNo">300</span>        setFailure("master-disable-table", new TableNotEnabledException(<a name="line.300"></a>
-<span class="sourceLineNo">301</span>                tableName+" state is "+state.name()));<a name="line.301"></a>
-<span class="sourceLineNo">302</span>        canTableBeDisabled = false;<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">282</span>    } else if (!skipTableStateCheck) {<a name="line.282"></a>
+<span class="sourceLineNo">283</span>      // There could be multiple client requests trying to disable or enable<a name="line.283"></a>
+<span class="sourceLineNo">284</span>      // the table at the same time. Ensure only the first request is honored<a name="line.284"></a>
+<span class="sourceLineNo">285</span>      // After that, no other requests can be accepted until the table reaches<a name="line.285"></a>
+<span class="sourceLineNo">286</span>      // DISABLED or ENABLED.<a name="line.286"></a>
+<span class="sourceLineNo">287</span>      //<a name="line.287"></a>
+<span class="sourceLineNo">288</span>      // Note: in 1.0 release, we called TableStateManager.setTableStateIfInStates() to set<a name="line.288"></a>
+<span class="sourceLineNo">289</span>      // the state to DISABLING from ENABLED. The implementation was done before table lock<a name="line.289"></a>
+<span class="sourceLineNo">290</span>      // was implemented. With table lock, there is no need to set the state here (it will<a name="line.290"></a>
+<span class="sourceLineNo">291</span>      // set the state later on). A quick state check should be enough for us to move forward.<a name="line.291"></a>
+<span class="sourceLineNo">292</span>      TableStateManager tsm =<a name="line.292"></a>
+<span class="sourceLineNo">293</span>        env.getMasterServices().getAssignmentManager().getTableStateManager();<a name="line.293"></a>
+<span class="sourceLineNo">294</span>      TableState.State state = tsm.getTableState(tableName);<a name="line.294"></a>
+<span class="sourceLineNo">295</span>      if(!state.equals(TableState.State.ENABLED)){<a name="line.295"></a>
+<span class="sourceLineNo">296</span>        LOG.info("Table " + tableName + " isn't enabled;is "+state.name()+"; skipping disable");<a name="line.296"></a>
+<span class="sourceLineNo">297</span>        setFailure("master-disable-table", new TableNotEnabledException(<a name="line.297"></a>
+<span class="sourceLineNo">298</span>                tableName+" state is "+state.name()));<a name="line.298"></a>
+<span class="sourceLineNo">299</span>        canTableBeDisabled = false;<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      }<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    }<a name="line.301"></a>
+<span class="sourceLineNo">302</span><a name="line.302"></a>
+<span class="sourceLineNo">303</span>    // We are done the check. Future actions in this procedure could be done asynchronously.<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    ProcedurePrepareLatch.releaseLatch(syncLatch, this);<a name="line.304"></a>
 <span class="sourceLineNo">305</span><a name="line.305"></a>
-<span class="sourceLineNo">306</span>    // We are done the check. Future actions in this procedure could be done asynchronously.<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    ProcedurePrepareLatch.releaseLatch(syncLatch, this);<a name="line.307"></a>
+<span class="sourceLineNo">306</span>    return canTableBeDisabled;<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>    return canTableBeDisabled;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>  }<a name="line.310"></a>
-<span class="sourceLineNo">311</span><a name="line.311"></a>
-<span class="sourceLineNo">312</span>  /**<a name="line.312"></a>
-<span class="sourceLineNo">313</span>   * Action before disabling table.<a name="line.313"></a>
-<span class="sourceLineNo">314</span>   * @param env MasterProcedureEnv<a name="line.314"></a>
-<span class="sourceLineNo">315</span>   * @param state the procedure state<a name="line.315"></a>
-<span class="sourceLineNo">316</span>   * @throws IOException<a name="line.316"></a>
-<span class="sourceLineNo">317</span>   * @throws InterruptedException<a name="line.317"></a>
-<span class="sourceLineNo">318</span>   */<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  protected void preDisable(final MasterProcedureEnv env, final DisableTableState state)<a name="line.319"></a>
-<span class="sourceLineNo">320</span>      throws IOException, InterruptedException {<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    runCoprocessorAction(env, state);<a name="line.321"></a>
-<span class="sourceLineNo">322</span>  }<a name="line.322"></a>
-<span class="sourceLineNo">323</span><a name="line.323"></a>
-<span class="sourceLineNo">324</span>  /**<a name="line.324"></a>
-<span class="sourceLineNo">325</span>   * Mark table state to Disabling<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   * @param env MasterProcedureEnv<a name="line.326"></a>
-<span class="sourceLineNo">327</span>   * @throws IOException<a name="line.327"></a>
-<span class="sourceLineNo">328</span>   */<a name="line.328"></a>
-<span class="sourceLineNo">329</span>  protected static void setTableStateToDisabling(<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      final MasterProcedureEnv env,<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      final TableName tableName) throws IOException {<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    // Set table disabling flag up in zk.<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    env.getMasterServices().getAssignmentManager().getTableStateManager().setTableState(<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      tableName,<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      TableState.State.DISABLING);<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>   * Mark regions of the table offline with retries<a name="line.339"></a>
-<span class="sourceLineNo">340</span>   * @param env MasterProcedureEnv<a name="line.340"></a>
-<span class="sourceLineNo">341</span>   * @param tableName the target table<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * @param retryRequired whether to retry if the first run failed<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   * @return whether the operation is fully completed or being interrupted.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   * @throws IOException<a name="line.344"></a>
-<span class="sourceLineNo">345</span>   */<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  protected static MarkRegionOfflineOpResult markRegionsOffline(<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      final MasterProcedureEnv env,<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      final TableName tableName,<a name="line.348"></a>
-<span class="sourceLineNo">349</span>      final Boolean retryRequired) throws IOException {<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    // Dev consideration: add a config to control max number of retry. For now, it is hard coded.<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    int maxTry = (retryRequired ? 10 : 1);<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    MarkRegionOfflineOpResult operationResult =<a name="line.352"></a>
-<span class="sourceLineNo">353</span>        MarkRegionOfflineOpResult.BULK_ASSIGN_REGIONS_FAILED;<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    do {<a name="line.354"></a>
-<span class="sourceLineNo">355</span>      try {<a name="line.355"></a>
-<span class="sourceLineNo">356</span>        operationResult = markRegionsOffline(env, tableName);<a name="line.356"></a>
-<span class="sourceLineNo">357</span>        if (operationResult == MarkRegionOfflineOpResult.MARK_ALL_REGIONS_OFFLINE_SUCCESSFUL) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>          break;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>        }<a name="line.359"></a>
+<span class="sourceLineNo">309</span>  /**<a name="line.309"></a>
+<span class="sourceLineNo">310</span>   * Action before disabling table.<a name="line.310"></a>
+<span class="sourceLineNo">311</span>   * @param env MasterProcedureEnv<a name="line.311"></a>
+<span class="sourceLineNo">312</span>   * @param state the procedure state<a name="line.312"></a>
+<span class="sourceLineNo">313</span>   * @throws IOException<a name="line.313"></a>
+<span class="sourceLineNo">314</span>   * @throws InterruptedException<a name="line.314"></a>
+<span class="sourceLineNo">315</span>   */<a name="line.315"></a>
+<span class="sourceLineNo">316</span>  protected void preDisable(final MasterProcedureEnv env, final DisableTableState state)<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      throws IOException, InterruptedException {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    runCoprocessorAction(env, state);<a name="line.318"></a>
+<span class="sourceLineNo">319</span>  }<a name="line.319"></a>
+<span class="sourceLineNo">320</span><a name="line.320"></a>
+<span class="sourceLineNo">321</span>  /**<a name="line.321"></a>
+<span class="sourceLineNo">322</span>   * Mark table state to Disabling<a name="line.322"></a>
+<span class="sourceLineNo">323</span>   * @param env MasterProcedureEnv<a name="line.323"></a>
+<span class="sourceLineNo">324</span>   * @throws IOException<a name="line.324"></a>
+<span class="sourceLineNo">325</span>   */<a name="line.325"></a>
+<span class="sourceLineNo">326</span>  protected static void setTableStateToDisabling(<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      final MasterProcedureEnv env,<a name="line.327"></a>
+<span class="sourceLineNo">328</span>      final TableName tableName) throws IOException {<a name="line.328"></a>
+<span class="sourceLineNo">329</span>    // Set table disabling flag up in zk.<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    env.getMasterServices().getAssignmentManager().getTableStateManager().setTableState(<a name="line.330"></a>
+<span class="sourceLineNo">331</span>      tableName,<a name="line.331"></a>
+<span class="sourceLineNo">332</span>      TableState.State.DISABLING);<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>   * Mark regions of the table offline with retries<a name="line.336"></a>
+<span class="sourceLineNo">337</span>   * @param env MasterProcedureEnv<a name="line.337"></a>
+<span class="sourceLineNo">338</span>   * @param tableName the target table<a name="line.338"></a>
+<span class="sourceLineNo">339</span>   * @param retryRequired whether to retry if the first run failed<a name="line.339"></a>
+<span class="sourceLineNo">340</span>   * @return whether the operation is fully completed or being interrupted.<a name="line.340"></a>
+<span class="sourceLineNo">341</span>   * @throws IOException<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   */<a name="line.342"></a>
+<span class="sourceLineNo">343</span>  protected static MarkRegionOfflineOpResult markRegionsOffline(<a name="line.343"></a>
+<span class="sourceLineNo">344</span>      final MasterProcedureEnv env,<a name="line.344"></a>
+<span class="sourceLineNo">345</span>      final TableName tableName,<a name="line.345"></a>
+<span class="sourceLineNo">346</span>      final Boolean retryRequired) throws IOException {<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    // Dev consideration: add a config to control max number of retry. For now, it is hard coded.<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    int maxTry = (retryRequired ? 10 : 1);<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    MarkRegionOfflineOpResult operationResult =<a name="line.349"></a>
+<span class="sourceLineNo">350</span>        MarkRegionOfflineOpResult.BULK_ASSIGN_REGIONS_FAILED;<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    do {<a name="line.351"></a>
+<span class="sourceLineNo">352</span>      try {<a name="line.352"></a>
+<span class="sourceLineNo">353</span>        operationResult = markRegionsOffline(env, tableName);<a name="line.353"></a>
+<span class="sourceLineNo">354</span>        if (operationResult == MarkRegionOfflineOpResult.MARK_ALL_REGIONS_OFFLINE_SUCCESSFUL) {<a name="line.354"></a>
+<span class="sourceLineNo">355</span>          break;<a name="line.355"></a>
+<span class="sourceLineNo">356</span>        }<a name="line.356"></a>
+<span class="sourceLineNo">357</span>        maxTry--;<a name="line.357"></a>
+<span class="sourceLineNo">358</span>      } catch (Exception e) {<a name="line.358"></a>
+<span class="sourceLineNo">359</span>        LOG.warn("Received exception while marking regions online. tries left: " + maxTry, e);<a name="line.359"></a>
 <span class="sourceLineNo">360</span>        maxTry--;<a name="line.360"></a>
-<span class="sourceLineNo">361</span>      } catch (Exception e) {<a name="line.361"></a>
-<span class="sourceLineNo">362</span>        LOG.warn("Received exception while marking regions online. tries left: " + maxTry, e);<a name="line.362"></a>
-<span class="sourceLineNo">363</span>        maxTry--;<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        if (maxTry &gt; 0) {<a name="line.364"></a>
-<span class="sourceLineNo">365</span>          continue; // we still have some retry left, try again.<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        }<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        throw e;<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      }<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    } while (maxTry &gt; 0);<a name="line.369"></a>
-<span class="sourceLineNo">370</span><a name="line.370"></a>
-<span class="sourceLineNo">371</span>    if (operationResult != MarkRegionOfflineOpResult.MARK_ALL_REGIONS_OFFLINE_SUCCESSFUL) {<a name="line.371"></a>
-<span class="sourceLineNo">372</span>      LOG.warn("Some or all regions of the Table '" + tableName + "' were still online");<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    }<a name="line.373"></a>
+<span class="sourceLineNo">361</span>        if (maxTry &gt; 0) {<a name="line.361"></a>
+<span class="sourceLineNo">362</span>          continue; // we still have some retry left, try again.<a name="line.362"></a>
+<span class="sourceLineNo">363</span>        }<a name="line.363"></a>
+<span class="sourceLineNo">364</span>        throw e;<a name="line.364"></a>
+<span class="sourceLineNo">365</span>      }<a name="line.365"></a>
+<span class="sourceLineNo">366</span>    } while (maxTry &gt; 0);<a name="line.366"></a>
+<span class="sourceLineNo">367</span><a name="line.367"></a>
+<span class="sourceLineNo">368</span>    if (operationResult != MarkRegionOfflineOpResult.MARK_ALL_REGIONS_OFFLINE_SUCCESSFUL) {<a name="line.368"></a>
+<span class="sourceLineNo">369</span>      LOG.warn("Some or all regions of the Table '" + tableName + "' were still online");<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>    return operationResult;<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>    return operationResult;<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  }<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>  /**<a name="line.378"></a>
-<span class="sourceLineNo">379</span>   * Mark regions of the table offline<a name="line.379"></a>
-<span class="sourceLineNo">380</span>   * @param env MasterProcedureEnv<a name="line.380"></a>
-<span class="sourceLineNo">381</span>   * @param tableName the target table<a name="line.381"></a>
-<span class="sourceLineNo">382</span>   * @return whether the operation is fully completed or being interrupted.<a name="line.382"></a>
-<span class="sourceLineNo">383</span>   * @throws IOException<a name="line.383"></a>
-<span class="sourceLineNo">384</span>   */<a name="line.384"></a>
-<span class="sourceLineNo">385</span>  private static MarkRegionOfflineOpResult markRegionsOffline(<a name="line.385"></a>
-<span class="sourceLineNo">386</span>      final MasterProcedureEnv env,<a name="line.386"></a>
-<span class="sourceLineNo">387</span>      final TableName tableName) throws IOException {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>    // Get list of online regions that are of this table.  Regions that are<a name="line.388"></a>
-<span class="sourceLineNo">389</span>    // already closed will not be included in this list; i.e. the returned<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    // list is not ALL regions in a table, its all online regions according<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    // to the in-memory state on this master.<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    MarkRegionOfflineOpResult operationResult =<a name="line.392"></a>
-<span class="sourceLineNo">393</span>        MarkRegionOfflineOpResult.MARK_ALL_REGIONS_OFFLINE_SUCCESSFUL;<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    final List&lt;HRegionInfo&gt; regions =<a name="line.394"></a>
-<span class="sourceLineNo">395</span>        env.getMasterServices().getAssignmentManager().getRegionStates()<a name="line.395"></a>
-<span class="sourceLineNo">396</span>            .getRegionsOfTable(tableName);<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    if (regions.size() &gt; 0) {<a name="line.397"></a>
-<span class="sourceLineNo">398</span>      LOG.info("Offlining " + regions.size() + " regions.");<a name="line.398"></a>
-<span class="sourceLineNo">399</span><a name="line.399"></a>
-<span class="sourceLineNo">400</span>      BulkDisabler bd = new BulkDisabler(env, tableName, regions);<a name="line.400"></a>
-<span class="sourceLineNo">401</span>      try {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>        if (!bd.bulkAssign()) {<a name="line.402"></a>
-<span class="sourceLineNo">403</span>          operationResult = MarkRegionOfflineOpResult.BULK_ASSIGN_REGIONS_FAILED;<a name="line.403"></a>
-<span class="sourceLineNo">404</span>        }<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      } catch (InterruptedException e) {<a name="line.405"></a>
-<span class="sourceLineNo">406</span>        LOG.warn("Disable was interrupted");<a name="line.406"></a>
-<span class="sourceLineNo">407</span>        // Preserve the interrupt.<a name="line.407"></a>
-<span class="sourceLineNo">408</span>        Thread.currentThread().interrupt();<a name="line.408"></a>
-<span class="sourceLineNo">409</span>        operationResult = MarkRegionOfflineOpResult.MARK_ALL_REGIONS_OFFLINE_INTERRUPTED;<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>    return operationResult;<a name="line.412"></a>
-<span class="sourceLineNo">413</span>  }<a name="line.413"></a>
-<span class="sourceLineNo">414</span><a name="line.414"></a>
-<span class="sourceLineNo">415</span>  /**<a name="line.415"></a>
-<span class="sourceLineNo">416</span>   * Mark table state to Disabled<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * @param env MasterProcedureEnv<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   * @throws IOException<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   */<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  protected static void setTableStateToDisabled(<a name="line.420"></a>
-<span class="sourceLineNo">421</span>      final MasterProcedureEnv env,<a name="line.421"></a>
-<span class="sourceLineNo">422</span>      final TableName tableName) throws IOException {<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    // Flip the table to disabled<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    env.getMasterServices().getAssignmentManager().getTableStateManager().setTableState(<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      tableName,<a name="line.425"></a>
-<span class="sourceLineNo">426</span>      TableState.State.DISABLED);<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    LOG.info("Disabled table, " + tableName + ", is completed.");<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>   * Action after disabling table.<a name="line.431"></a>
-<span class="sourceLineNo">432</span>   * @param env MasterProcedureEnv<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * @param state the procedure state<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * @throws IOException<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * @throws InterruptedException<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   */<a name="line.436"></a>
-<span class="sourceLineNo">437</span>  protected void postDisable(final MasterProcedureEnv env, final DisableTableState state)<a name="line.437"></a>
-<span class="sourceLineNo">438</span>      throws IOException, InterruptedException {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    runCoprocessorAction(env, state);<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>   * The procedure could be restarted from a different machine. If the variable is null, we need to<a name="line.443"></a>
-<span class="sourceLineNo">444</span>   * retrieve it.<a name="line.444"></a>
-<span class="sourceLineNo">445</span>   * @return traceEnabled<a name="line.445"></a>
-<span class="sourceLineNo">446</span>   */<a name="line.446"></a>
-<span class="sourceLineNo">447</span>  private Boolean isTraceEnabled() {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    if (traceEnabled == null) {<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      traceEnabled = LOG.isTraceEnabled();<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    }<a name="line.450"></a>
-<span class="sourceLineNo">451</span>    return traceEnabled;<a name="line.451"></a>
-<span class="sourceLineNo">452</span>  }<a name="line.452"></a>
-<span class="sourceLineNo">453</span><a name="line.453"></a>
-<span class="sourceLineNo">454</span>  /**<a name="line.454"></a>
-<span class="sourceLineNo">455</span>   * Coprocessor Action.<a name="line.455"></a>
-<span class="sourceLineNo">456</span>   * @param env MasterProcedureEnv<a name="line.456"></a>
-<span class="sourceLineNo">457</span>   * @param state the procedure state<a name="line.457"></a>
-<span class="sourceLineNo">458</span>   * @throws IOException<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   * @throws InterruptedException<a name="line.459"></a>
-<span class="sourceLineNo">460</span>   */<a name="line.460"></a>
-<span class="sourceLineNo">461</span>  private void runCoprocessorAction(final MasterProcedureEnv env, final DisableTableState state)<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      throws IOException, InterruptedException {<a name="line.462"></a>
-<span class="sourceLineNo">463</span>    final MasterCoprocessorHost cpHost = env.getMasterCoprocessorHost();<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    if (cpHost != null) {<a name="line.464"></a>
-<span class="sourceLineNo">465</span>      user.doAs(new PrivilegedExceptionAction&lt;Void&gt;() {<a name="line.465"></a>
-<span class="sourceLineNo">466</span>        @Override<a name="line.466"></a>
-<span class="sourceLineNo">467</span>        public Void run() throws Exception {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>          switch (state) {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>          case DISABLE_TABLE_PRE_OPERATION:<a name="line.469"></a>
-<span class="sourceLineNo">470</span>            cpHost.preDisableTableHandler(tableName);<a name="line.470"></a>
+<span class="sourceLineNo">375</span>  /**<a name="line.375"></a>
+<span class="sourceLineNo">376</span>   * Mark regions of the table offline<a name="line.376"></a>
+<span class="sourceLineNo">377</span>   * @param env MasterProcedureEnv<a name="line.377"></a>
+<span class="sourceLineNo">378</span>   * @param tableName the target table<a name="line.378"></a>
+<span class="sourceLineNo">379</span>   * @return whether the operation is fully completed or being interrupted.<a name="line.379"></a>
+<span class="sourceLineNo">380</span>   * @throws IOException<a name="line.380"></a>
+<span class="sourceLineNo">381</span>   */<a name="line.381"></a>
+<span class="sourceLineNo">382</span>  private static MarkRegionOfflineOpResult markRegionsOffline(<a name="line.382"></a>
+<span class="sourceLineNo">383</span>      final MasterProcedureEnv env,<a name="line.383"></a>
+<span class="sourceLineNo">384</span>      final TableName tableName) throws IOException {<a name="line.384"></a>
+<span class="sourceLineNo">385</span>    // Get list of online regions that are of this table.  Regions that are<a name="line.385"></a>
+<span class="sourceLineNo">386</span>    // already closed will not be included in this list; i.e. the returned<a name="line.386"></a>
+<span class="sourceLineNo">387</span>    // list is not ALL regions in a table, its all online regions according<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    // to the in-memory state on this master.<a name="line.388"></a>
+<span class="sourceLineNo">389</span>    MarkRegionOfflineOpResult operationResult =<a name="line.389"></a>
+<span class="sourceLineNo">390</span>        MarkRegionOfflineOpResult.MARK_ALL_REGIONS_OFFLINE_SUCCESSFUL;<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    final List&lt;HRegionInfo&gt; regions =<a name="line.391"></a>
+<span class="sourceLineNo">392</span>        env.getMasterServices().getAssignmentManager().getRegionStates()<a name="line.392"></a>
+<span class="sourceLineNo">393</span>            .getRegionsOfTable(tableName);<a name="line.393"></a>
+<span class="sourceLineNo">394</span>    if (regions.size() &gt; 0) {<a name="line.394"></a>
+<span class="sourceLineNo">395</span>      LOG.info("Offlining " + regions.size() + " regions.");<a name="line.395"></a>
+<span class="sourceLineNo">396</span><a name="line.396"></a>
+<span class="sourceLineNo">397</span>      BulkDisabler bd = new BulkDisabler(env, tableName, regions);<a name="line.397"></a>
+<span class="sourceLineNo">398</span>      try {<a name="line.398"></a>
+<span class="sourceLineNo">399</span>        if (!bd.bulkAssign()) {<a name="line.399"></a>
+<span class="sourceLineNo">400</span>          operationResult = MarkRegionOfflineOpResult.BULK_ASSIGN_REGIONS_FAILED;<a name="line.400"></a>
+<span class="sourceLineNo">401</span>        }<a name="line.401"></a>
+<span class="sourceLineNo">402</span>      } catch (InterruptedException e) {<a name="line.402"></a>
+<span class="sourceLineNo">403</span>        LOG.warn("Disable was interrupted");<a name="line.403"></a>
+<span class="sourceLineNo">404</span>        // Preserve the interrupt.<a name="line.404"></a>
+<span class="sourceLineNo">405</span>        Thread.currentThread().interrupt();<a name="line.405"></a>
+<span class="sourceLineNo">406</span>        operationResult = MarkRegionOfflineOpResult.MARK_ALL_REGIONS_OFFLINE_INTERRUPTED;<a name="line.406"></a>
+<span class="sourceLineNo">407</span>      }<a name="line.407"></a>
+<span class="sourceLineNo">408</span>    }<a name="line.408"></a>
+<span class="sourceLineNo">409</span>    return operationResult;<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>   * Mark table state to Disabled<a name="line.413"></a>
+<span class="sourceLineNo">414</span>   * @param env MasterProcedureEnv<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>  protected static void setTableStateToDisabled(<a name="line.417"></a>
+<span class="sourceLineNo">418</span>      final MasterProcedureEnv env,<a name="line.418"></a>
+<span class="sourceLineNo">419</span>      final TableName tableName) throws IOException {<a name="line.419"></a>
+<span class="sourceLineNo">420</span>    // Flip the table to disabled<a name="line.420"></a>
+<span class="sourceLineNo">421</span>    env.getMasterServices().getAssignmentManager().getTableStateManager().setTableState(<a name="line.421"></a>
+<span class="sourceLineNo">422</span>      tableName,<a name="line.422"></a>
+<span class="sourceLineNo">423</span>      TableState.State.DISABLED);<a name="line.423"></a>
+<span class="sourceLineNo">424</span>    LOG.info("Disabled table, " + tableName + ", is completed.");<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>  /**<a name="line.427"></a>
+<span class="sourceLineNo">428</span>   * Action after disabling table.<a name="line.428"></a>
+<span class="sourceLineNo">429</span>   * @param env MasterProcedureEnv<a name="line.429"></a>
+<span class="sourceLineNo">430</span>   * @param state the procedure state<a name="line.430"></a>
+<span class="sourceLineNo">431</span>   * @throws IOException<a name="line.431"></a>
+<span class="sourceLineNo">432</span>   * @throws InterruptedException<a name="line.432"></a>
+<span class="sourceLineNo">433</span>   */<a name="line.433"></a>
+<span class="sourceLineNo">434</span>  protected void postDisable(final MasterProcedureEnv env, final DisableTableState state)<a name="line.434"></a>
+<span class="sourceLineNo">435</span>      throws IOException, InterruptedException {<a name="line.435"></a>
+<span class="sourceLineNo">436</span>    runCoprocessorAction(env, state);<a name="line.436"></a>
+<span class="sourceLineNo">437</span>  }<a name="line.437"></a>
+<span class="sourceLineNo">438</span><a name="line.438"></a>
+<span class="sourceLineNo">439</span>  /**<a name="line.439"></a>
+<span class="sourceLineNo">440</span>   * The procedure could be restarted from a different machine. If the variable is null, we need to<a name="line.440"></a>
+<span class="sourceLineNo">441</span>   * retrieve it.<a name="line.441"></a>
+<span class="sourceLineNo">442</span>   * @return traceEnabled<a name="line.442"></a>
+<span class="sourceLineNo">443</span>   */<a name="line.443"></a>
+<span class="sourceLineNo">444</span>  private Boolean isTraceEnabled() {<a name="line.444"></a>
+<span class="sourceLineNo">445</span>    if (traceEnabled == null) {<a name="line.445"></a>
+<span class="sourceLineNo">446</span>      traceEnabled = LOG.isTraceEnabled();<a name="line.446"></a>
+<span class="sourceLineNo">447</span>    }<a name="line.447"></a>
+<span class="sourceLineNo">448</span>    return traceEnabled;<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>   * Coprocessor Action.<a name="line.452"></a>
+<span class="sourceLineNo">453</span>   * @param env MasterProcedureEnv<a name="line.453"></a>
+<span class="sourceLineNo">454</span>   * @param state the procedure state<a name="line.454"></a>
+<span class="sourceLineNo">455</span>   * @throws IOException<a name="line.455"></a>
+<span class="sourceLineNo">456</span>   * @throws InterruptedException<a name="line.456"></a>
+<span class="sourceLineNo">457</span>   */<a name="line.457"></a>
+<span class="sourceLineNo">458</span>  private void runCoprocessorAction(final MasterProcedureEnv env, final DisableTableState state)<a name="line.458"></a>
+<span class="sourceLineNo">459</span>      throws IOException, InterruptedException {<a name="line.459"></a>
+<span class="sourceLineNo">460</span>    final MasterCoprocessorHost cpHost = env.getMasterCoprocessorHost();<a name="line.460"></a>
+<span class="sourceLineNo">461</span>    if (cpHost != null) {<a name="line.461"></a>
+<span class="sourceLineNo">462</span>      user.doAs(new PrivilegedExceptionAction&lt;Void&gt;() {<a name="line.462"></a>
+<span class="sourceLineNo">463</span>        @Override<a name="line.463"></a>
+<span class="sourceLineNo">464</span>        public Void run() throws Exception {<a name="line.464"></a>
+<span class="sourceLineNo">465</span>          switch (state) {<a name="line.465"></a>
+<span class="sourceLineNo">466</span>          case DISABLE_TABLE_PRE_OPERATION:<a name="line.466"></a>
+<span class="sourceLineNo">467</span>            cpHost.preDisableTableHandler(tableName);<a name="line.467"></a>
+<span class="sourceLineNo">468</span>            break;<a name="line.468"></a>
+<span class="sourceLineNo">469</span>          case DISABLE_TABLE_POST_OPERATION:<a name="line.469"></a>
+<span class="sourceLineNo">470</span>            cpHost.postDisableTableHandler(tableName);<a name="line.470"></a>
 <span class="sourceLineNo">471</span>            break;<a name="line.471"></a>
-<span class="sourceLineNo">472</span>          case DISABLE_TABLE_POST_OPERATION:<a name="line.472"></a>
-<span class="sourceLineNo">473</span>            cpHost.postDisableTableHandler(tableName);<a name="line.473"></a>
-<span class="sourceLineNo">474</span>            break;<a name="line.474"></a>
-<span class="sourceLineNo">475</span>          default:<a name="line.475"></a>
-<span class="sourceLineNo">476</span>            throw new UnsupportedOperationException(this + " unhandled state=" + state);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>          }<a name="line.477"></a>
-<span class="sourceLineNo">478</span>          return null;<a name="line.478"></a>
-<span class="sourceLineNo">479</span>        }<a name="line.479"></a>
-<span class="sourceLineNo">480</span>      });<a name="line.480"></a>
-<span class="sourceLineNo">481</span>    }<a name="line.481"></a>
-<span class="sourceLineNo">482</span>  }<a name="line.482"></a>
-<span class="sourceLineNo">483</span><a name="line.483"></a>
-<span class="sourceLineNo">484</span>  /**<a name="line.484"></a>
-<span class="sourceLineNo">485</span>   * Run bulk disable.<a name="line.485"></a>
-<span class="sourceLineNo">486</span>   */<a name="line.486"></a>
-<span class="sourceLineNo">487</span>  private static class BulkDisabler extends BulkAssigner {<a name="line.487"></a>
-<span class="sourceLineNo">488</span>    private final AssignmentManager assignmentManager;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    private final List&lt;HRegionInfo&gt; regions;<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    private final TableName tableName;<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    private final int waitingTimeForEvents;<a name="line.491"></a>
-<span class="sourceLineNo">492</span><a name="line.492"></a>
-<span class="sourceLineNo">493</span>    public BulkDisabler(final MasterProcedureEnv env, final TableName tableName,<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        final List&lt;HRegionInfo&gt; regions) {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      super(env.getMasterServices());<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      this.assignmentManager = env.getMasterServices().getAssignmentManager();<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      this.tableName = tableName;<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      this.regions = regions;<a name="line.498"></a>
-<span class="sourceLineNo">499</span>      this.waitingTimeForEvents =<a name="line.499"></a>
-<span class="sourceLineNo">500</span>          env.getMasterServices().getConfiguration()<a name="line.500"></a>
-<span class="sourceLineNo">501</span>              .getInt("hbase.master.event.waiting.time", 1000);<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    }<a name="line.502"></a>
-<span class="sourceLineNo">503</span><a name="line.503"></a>
-<span class="sourceLineNo">504</span>    @Override<a name="line.504"></a>
-<span class="sourceLineNo">505</span>    protected void populatePool(ExecutorService pool) {<a name="line.505"></a>
-<span class="sourceLineNo">506</span>      RegionStates regionStates = assignmentManager.getRegionStates();<a name="line.506"></a>
-<span class="sourceLineNo">507</span>      for (final HRegionInfo region : regions) {<a name="line.507"></a>
-<span class="sourceLineNo">508</span>        if (regionStates.isRegionInTransition(region)<a name="line.508"></a>
-<span class="sourceLineNo">509</span>            &amp;&amp; !regionStates.isRegionInState(region, RegionState.State.FAILED_CLOSE)) {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>          continue;<a name="line.510"></a>
-<span class="sourceLineNo">511</span>        }<a name="line.511"></a>
-<span class="sourceLineNo">512</span>        pool.execute(Trace.wrap("DisableTableHandler.BulkDisabler", new Runnable() {<a name="line.512"></a>
-<span class="sourceLineNo">513</span>          @Override<a name="line.513"></a>
-<span class="sourceLineNo">514</span>          public void run() {<a name="line.514"></a>
-<span class="sourceLineNo">515</span>            assignmentManager.unassign(region);<a name="lin

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/50917b1d/devapidocs/src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html
index 16c4a4f..86ba709 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html
@@ -40,733 +40,724 @@
 <span class="sourceLineNo">032</span>import java.io.IOException;<a name="line.32"></a>
 <span class="sourceLineNo">033</span>import java.net.ConnectException;<a name="line.33"></a>
 <span class="sourceLineNo">034</span>import java.net.InetSocketAddress;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import java.net.SocketException;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import java.nio.ByteBuffer;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import java.security.PrivilegedExceptionAction;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import java.util.ArrayList;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import java.util.HashMap;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import java.util.Iterator;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import java.util.List;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import java.util.Map;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import java.util.Random;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import java.util.concurrent.TimeUnit;<a name="line.44"></a>
-<span class="sourceLineNo">045</span><a name="line.45"></a>
-<span class="sourceLineNo">046</span>import javax.security.sasl.SaslException;<a name="line.46"></a>
-<span class="sourceLineNo">047</span><a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.commons.logging.Log;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.commons.logging.LogFactory;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HConstants;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.client.MetricsConnection;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.exceptions.ConnectionClosingException;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.protobuf.generated.AuthenticationProtos;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.protobuf.generated.TracingProtos;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.security.AuthMethod;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.security.SaslClientHandler;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.security.SaslUtil;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.security.SecurityInfo;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.security.User;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.security.token.AuthenticationTokenSelector;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.io.Text;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.ipc.RemoteException;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.security.SecurityUtil;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.security.token.Token;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.security.token.TokenIdentifier;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.security.token.TokenSelector;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.htrace.Span;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.htrace.Trace;<a name="line.73"></a>
-<span class="sourceLineNo">074</span><a name="line.74"></a>
-<span class="sourceLineNo">075</span>import com.google.protobuf.Descriptors;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import com.google.protobuf.Message;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import com.google.protobuf.RpcCallback;<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>/**<a name="line.79"></a>
-<span class="sourceLineNo">080</span> * Netty RPC channel<a name="line.80"></a>
-<span class="sourceLineNo">081</span> */<a name="line.81"></a>
-<span class="sourceLineNo">082</span>@InterfaceAudience.Private<a name="line.82"></a>
-<span class="sourceLineNo">083</span>public class AsyncRpcChannel {<a name="line.83"></a>
-<span class="sourceLineNo">084</span>  private static final Log LOG = LogFactory.getLog(AsyncRpcChannel.class.getName());<a name="line.84"></a>
-<span class="sourceLineNo">085</span><a name="line.85"></a>
-<span class="sourceLineNo">086</span>  private static final int MAX_SASL_RETRIES = 5;<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>  protected final static Map&lt;AuthenticationProtos.TokenIdentifier.Kind, TokenSelector&lt;? extends<a name="line.88"></a>
-<span class="sourceLineNo">089</span>      TokenIdentifier&gt;&gt; tokenHandlers = new HashMap&lt;&gt;();<a name="line.89"></a>
-<span class="sourceLineNo">090</span><a name="line.90"></a>
-<span class="sourceLineNo">091</span>  static {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    tokenHandlers.put(AuthenticationProtos.TokenIdentifier.Kind.HBASE_AUTH_TOKEN,<a name="line.92"></a>
-<span class="sourceLineNo">093</span>        new AuthenticationTokenSelector());<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  }<a name="line.94"></a>
-<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span>  final AsyncRpcClient client;<a name="line.96"></a>
-<span class="sourceLineNo">097</span><a name="line.97"></a>
-<span class="sourceLineNo">098</span>  // Contains the channel to work with.<a name="line.98"></a>
-<span class="sourceLineNo">099</span>  // Only exists when connected<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  private Channel channel;<a name="line.100"></a>
-<span class="sourceLineNo">101</span><a name="line.101"></a>
-<span class="sourceLineNo">102</span>  String name;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>  final User ticket;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>  final String serviceName;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  final InetSocketAddress address;<a name="line.105"></a>
-<span class="sourceLineNo">106</span><a name="line.106"></a>
-<span class="sourceLineNo">107</span>  private int ioFailureCounter = 0;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>  private int connectFailureCounter = 0;<a name="line.108"></a>
-<span class="sourceLineNo">109</span><a name="line.109"></a>
-<span class="sourceLineNo">110</span>  boolean useSasl;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  AuthMethod authMethod;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  private int reloginMaxBackoff;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  private Token&lt;? extends TokenIdentifier&gt; token;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>  private String serverPrincipal;<a name="line.114"></a>
-<span class="sourceLineNo">115</span><a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>  // NOTE: closed and connected flags below are only changed when a lock on pendingCalls<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  private final Map&lt;Integer, AsyncCall&gt; pendingCalls = new HashMap&lt;Integer, AsyncCall&gt;();<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  private boolean connected = false;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>  private boolean closed = false;<a name="line.120"></a>
+<span class="sourceLineNo">035</span>import java.nio.ByteBuffer;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import java.security.PrivilegedExceptionAction;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import java.util.ArrayList;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.HashMap;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import java.util.Iterator;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import java.util.List;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import java.util.Map;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import java.util.Random;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import java.util.concurrent.TimeUnit;<a name="line.43"></a>
+<span class="sourceLineNo">044</span><a name="line.44"></a>
+<span class="sourceLineNo">045</span>import javax.security.sasl.SaslException;<a name="line.45"></a>
+<span class="sourceLineNo">046</span><a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.commons.logging.Log;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.commons.logging.LogFactory;<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.classification.InterfaceAudience;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.client.MetricsConnection;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.exceptions.ConnectionClosingException;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.protobuf.generated.AuthenticationProtos;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.protobuf.generated.TracingProtos;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.security.AuthMethod;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.security.SaslClientHandler;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.security.SaslUtil;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.security.SecurityInfo;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.security.User;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.security.token.AuthenticationTokenSelector;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.io.Text;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.ipc.RemoteException;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.security.SecurityUtil;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.security.token.Token;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.security.token.TokenIdentifier;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.security.token.TokenSelector;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.htrace.Span;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.htrace.Trace;<a name="line.72"></a>
+<span class="sourceLineNo">073</span><a name="line.73"></a>
+<span class="sourceLineNo">074</span>import com.google.protobuf.Descriptors;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import com.google.protobuf.Message;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import com.google.protobuf.RpcCallback;<a name="line.76"></a>
+<span class="sourceLineNo">077</span><a name="line.77"></a>
+<span class="sourceLineNo">078</span>/**<a name="line.78"></a>
+<span class="sourceLineNo">079</span> * Netty RPC channel<a name="line.79"></a>
+<span class="sourceLineNo">080</span> */<a name="line.80"></a>
+<span class="sourceLineNo">081</span>@InterfaceAudience.Private<a name="line.81"></a>
+<span class="sourceLineNo">082</span>public class AsyncRpcChannel {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>  private static final Log LOG = LogFactory.getLog(AsyncRpcChannel.class.getName());<a name="line.83"></a>
+<span class="sourceLineNo">084</span><a name="line.84"></a>
+<span class="sourceLineNo">085</span>  private static final int MAX_SASL_RETRIES = 5;<a name="line.85"></a>
+<span class="sourceLineNo">086</span><a name="line.86"></a>
+<span class="sourceLineNo">087</span>  protected final static Map&lt;AuthenticationProtos.TokenIdentifier.Kind, TokenSelector&lt;? extends<a name="line.87"></a>
+<span class="sourceLineNo">088</span>      TokenIdentifier&gt;&gt; tokenHandlers = new HashMap&lt;&gt;();<a name="line.88"></a>
+<span class="sourceLineNo">089</span><a name="line.89"></a>
+<span class="sourceLineNo">090</span>  static {<a name="line.90"></a>
+<span class="sourceLineNo">091</span>    tokenHandlers.put(AuthenticationProtos.TokenIdentifier.Kind.HBASE_AUTH_TOKEN,<a name="line.91"></a>
+<span class="sourceLineNo">092</span>        new AuthenticationTokenSelector());<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  }<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span>  final AsyncRpcClient client;<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span>  // Contains the channel to work with.<a name="line.97"></a>
+<span class="sourceLineNo">098</span>  // Only exists when connected<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  private Channel channel;<a name="line.99"></a>
+<span class="sourceLineNo">100</span><a name="line.100"></a>
+<span class="sourceLineNo">101</span>  String name;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  final User ticket;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>  final String serviceName;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>  final InetSocketAddress address;<a name="line.104"></a>
+<span class="sourceLineNo">105</span><a name="line.105"></a>
+<span class="sourceLineNo">106</span>  private int failureCounter = 0;<a name="line.106"></a>
+<span class="sourceLineNo">107</span><a name="line.107"></a>
+<span class="sourceLineNo">108</span>  boolean useSasl;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  AuthMethod authMethod;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>  private int reloginMaxBackoff;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>  private Token&lt;? extends TokenIdentifier&gt; token;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>  private String serverPrincipal;<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span><a name="line.114"></a>
+<span class="sourceLineNo">115</span>  // NOTE: closed and connected flags below are only changed when a lock on pendingCalls<a name="line.115"></a>
+<span class="sourceLineNo">116</span>  private final Map&lt;Integer, AsyncCall&gt; pendingCalls = new HashMap&lt;Integer, AsyncCall&gt;();<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  private boolean connected = false;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>  private boolean closed = false;<a name="line.118"></a>
+<span class="sourceLineNo">119</span><a name="line.119"></a>
+<span class="sourceLineNo">120</span>  private Timeout cleanupTimer;<a name="line.120"></a>
 <span class="sourceLineNo">121</span><a name="line.121"></a>
-<span class="sourceLineNo">122</span>  private Timeout cleanupTimer;<a name="line.122"></a>
-<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span>  private final TimerTask timeoutTask = new TimerTask() {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    @Override<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    public void run(Timeout timeout) throws Exception {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      cleanupCalls();<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    }<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  };<a name="line.129"></a>
-<span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>  /**<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * Constructor for netty RPC channel<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   *<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   * @param bootstrap to construct channel on<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   * @param client    to connect with<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   * @param ticket of user which uses connection<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   *               @param serviceName name of service to connect to<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   * @param address to connect to<a name="line.138"></a>
-<span class="sourceLineNo">139</span>   */<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  public AsyncRpcChannel(Bootstrap bootstrap, final AsyncRpcClient client, User ticket, String<a name="line.140"></a>
-<span class="sourceLineNo">141</span>      serviceName, InetSocketAddress address) {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    this.client = client;<a name="line.142"></a>
-<span class="sourceLineNo">143</span><a name="line.143"></a>
-<span class="sourceLineNo">144</span>    this.ticket = ticket;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    this.serviceName = serviceName;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    this.address = address;<a name="line.146"></a>
+<span class="sourceLineNo">122</span>  private final TimerTask timeoutTask = new TimerTask() {<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    @Override<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    public void run(Timeout timeout) throws Exception {<a name="line.124"></a>
+<span class="sourceLineNo">125</span>      cleanupCalls();<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    }<a name="line.126"></a>
+<span class="sourceLineNo">127</span>  };<a name="line.127"></a>
+<span class="sourceLineNo">128</span><a name="line.128"></a>
+<span class="sourceLineNo">129</span>  /**<a name="line.129"></a>
+<span class="sourceLineNo">130</span>   * Constructor for netty RPC channel<a name="line.130"></a>
+<span class="sourceLineNo">131</span>   *<a name="line.131"></a>
+<span class="sourceLineNo">132</span>   * @param bootstrap to construct channel on<a name="line.132"></a>
+<span class="sourceLineNo">133</span>   * @param client    to connect with<a name="line.133"></a>
+<span class="sourceLineNo">134</span>   * @param ticket of user which uses connection<a name="line.134"></a>
+<span class="sourceLineNo">135</span>   * @param serviceName name of service to connect to<a name="line.135"></a>
+<span class="sourceLineNo">136</span>   * @param address to connect to<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   */<a name="line.137"></a>
+<span class="sourceLineNo">138</span>  public AsyncRpcChannel(Bootstrap bootstrap, final AsyncRpcClient client, User ticket, String<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      serviceName, InetSocketAddress address) {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    this.client = client;<a name="line.140"></a>
+<span class="sourceLineNo">141</span><a name="line.141"></a>
+<span class="sourceLineNo">142</span>    this.ticket = ticket;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    this.serviceName = serviceName;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    this.address = address;<a name="line.144"></a>
+<span class="sourceLineNo">145</span><a name="line.145"></a>
+<span class="sourceLineNo">146</span>    this.channel = connect(bootstrap).channel();<a name="line.146"></a>
 <span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>    this.channel = connect(bootstrap).channel();<a name="line.148"></a>
-<span class="sourceLineNo">149</span><a name="line.149"></a>
-<span class="sourceLineNo">150</span>    name = ("IPC Client (" + channel.hashCode() + ") to " +<a name="line.150"></a>
-<span class="sourceLineNo">151</span>        address.toString() +<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        ((ticket == null) ?<a name="line.152"></a>
-<span class="sourceLineNo">153</span>            " from unknown user" :<a name="line.153"></a>
-<span class="sourceLineNo">154</span>            (" from " + ticket.getName())));<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  }<a name="line.155"></a>
-<span class="sourceLineNo">156</span><a name="line.156"></a>
-<span class="sourceLineNo">157</span>  /**<a name="line.157"></a>
-<span class="sourceLineNo">158</span>   * Connect to channel<a name="line.158"></a>
-<span class="sourceLineNo">159</span>   *<a name="line.159"></a>
-<span class="sourceLineNo">160</span>   * @param bootstrap to connect to<a name="line.160"></a>
-<span class="sourceLineNo">161</span>   * @return future of connection<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   */<a name="line.162"></a>
-<span class="sourceLineNo">163</span>  private ChannelFuture connect(final Bootstrap bootstrap) {<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    return bootstrap.remoteAddress(address).connect()<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        .addListener(new GenericFutureListener&lt;ChannelFuture&gt;() {<a name="line.165"></a>
-<span class="sourceLineNo">166</span>          @Override<a name="line.166"></a>
-<span class="sourceLineNo">167</span>          public void operationComplete(final ChannelFuture f) throws Exception {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>            if (!f.isSuccess()) {<a name="line.168"></a>
-<span class="sourceLineNo">169</span>              if (f.cause() instanceof SocketException) {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>                retryOrClose(bootstrap, connectFailureCounter++, f.cause());<a name="line.170"></a>
-<span class="sourceLineNo">171</span>              } else {<a name="line.171"></a>
-<span class="sourceLineNo">172</span>                retryOrClose(bootstrap, ioFailureCounter++, f.cause());<a name="line.172"></a>
-<span class="sourceLineNo">173</span>              }<a name="line.173"></a>
-<span class="sourceLineNo">174</span>              return;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>            }<a name="line.175"></a>
-<span class="sourceLineNo">176</span>            channel = f.channel();<a name="line.176"></a>
-<span class="sourceLineNo">177</span><a name="line.177"></a>
-<span class="sourceLineNo">178</span>            setupAuthorization();<a name="line.178"></a>
-<span class="sourceLineNo">179</span><a name="line.179"></a>
-<span class="sourceLineNo">180</span>            ByteBuf b = channel.alloc().directBuffer(6);<a name="line.180"></a>
-<span class="sourceLineNo">181</span>            createPreamble(b, authMethod);<a name="line.181"></a>
-<span class="sourceLineNo">182</span>            channel.writeAndFlush(b).addListener(ChannelFutureListener.CLOSE_ON_FAILURE);<a name="line.182"></a>
-<span class="sourceLineNo">183</span>            if (useSasl) {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>              UserGroupInformation ticket = AsyncRpcChannel.this.ticket.getUGI();<a name="line.184"></a>
-<span class="sourceLineNo">185</span>              if (authMethod == AuthMethod.KERBEROS) {<a name="line.185"></a>
-<span class="sourceLineNo">186</span>                if (ticket != null &amp;&amp; ticket.getRealUser() != null) {<a name="line.186"></a>
-<span class="sourceLineNo">187</span>                  ticket = ticket.getRealUser();<a name="line.187"></a>
-<span class="sourceLineNo">188</span>                }<a name="line.188"></a>
-<span class="sourceLineNo">189</span>              }<a name="line.189"></a>
-<span class="sourceLineNo">190</span>              SaslClientHandler saslHandler;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>              if (ticket == null) {<a name="line.191"></a>
-<span class="sourceLineNo">192</span>                throw new FatalConnectionException("ticket/user is null");<a name="line.192"></a>
-<span class="sourceLineNo">193</span>              }<a name="line.193"></a>
-<span class="sourceLineNo">194</span>              final UserGroupInformation realTicket = ticket;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>              saslHandler = ticket.doAs(new PrivilegedExceptionAction&lt;SaslClientHandler&gt;() {<a name="line.195"></a>
-<span class="sourceLineNo">196</span>                @Override<a name="line.196"></a>
-<span class="sourceLineNo">197</span>                public SaslClientHandler run() throws IOException {<a name="line.197"></a>
-<span class="sourceLineNo">198</span>                  return getSaslHandler(realTicket, bootstrap);<a name="line.198"></a>
-<span class="sourceLineNo">199</span>                }<a name="line.199"></a>
-<span class="sourceLineNo">200</span>              });<a name="line.200"></a>
-<span class="sourceLineNo">201</span>              if (saslHandler != null) {<a name="line.201"></a>
-<span class="sourceLineNo">202</span>                // Sasl connect is successful. Let's set up Sasl channel handler<a name="line.202"></a>
-<span class="sourceLineNo">203</span>                channel.pipeline().addFirst(saslHandler);<a name="line.203"></a>
-<span class="sourceLineNo">204</span>              } else {<a name="line.204"></a>
-<span class="sourceLineNo">205</span>                // fall back to simple auth because server told us so.<a name="line.205"></a>
-<span class="sourceLineNo">206</span>                authMethod = AuthMethod.SIMPLE;<a name="line.206"></a>
-<span class="sourceLineNo">207</span>                useSasl = false;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>              }<a name="line.208"></a>
-<span class="sourceLineNo">209</span>            } else {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>              startHBaseConnection(f.channel());<a name="line.210"></a>
-<span class="sourceLineNo">211</span>            }<a name="line.211"></a>
-<span class="sourceLineNo">212</span>          }<a name="line.212"></a>
-<span class="sourceLineNo">213</span>        });<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  }<a name="line.214"></a>
-<span class="sourceLineNo">215</span><a name="line.215"></a>
-<span class="sourceLineNo">216</span>  /**<a name="line.216"></a>
-<span class="sourceLineNo">217</span>   * Start HBase connection<a name="line.217"></a>
-<span class="sourceLineNo">218</span>   *<a name="line.218"></a>
-<span class="sourceLineNo">219</span>   * @param ch channel to start connection on<a name="line.219"></a>
-<span class="sourceLineNo">220</span>   */<a name="line.220"></a>
-<span class="sourceLineNo">221</span>  private void startHBaseConnection(Channel ch) {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    ch.pipeline()<a name="line.222"></a>
-<span class="sourceLineNo">223</span>        .addLast("frameDecoder", new LengthFieldBasedFrameDecoder(Integer.MAX_VALUE, 0, 4, 0, 4));<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    ch.pipeline().addLast(new AsyncServerResponseHandler(this));<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    try {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>      writeChannelHeader(ch).addListener(new GenericFutureListener&lt;ChannelFuture&gt;() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>        @Override<a name="line.227"></a>
-<span class="sourceLineNo">228</span>        public void operationComplete(ChannelFuture future) throws Exception {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>          if (!future.isSuccess()) {<a name="line.229"></a>
-<span class="sourceLineNo">230</span>            close(future.cause());<a name="line.230"></a>
-<span class="sourceLineNo">231</span>            return;<a name="line.231"></a>
-<span class="sourceLineNo">232</span>          }<a name="line.232"></a>
-<span class="sourceLineNo">233</span>          List&lt;AsyncCall&gt; callsToWrite;<a name="line.233"></a>
-<span class="sourceLineNo">234</span>          synchronized (pendingCalls) {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>            connected = true;<a name="line.235"></a>
-<span class="sourceLineNo">236</span>            callsToWrite = new ArrayList&lt;AsyncCall&gt;(pendingCalls.values());<a name="line.236"></a>
-<span class="sourceLineNo">237</span>          }<a name="line.237"></a>
-<span class="sourceLineNo">238</span>          for (AsyncCall call : callsToWrite) {<a name="line.238"></a>
-<span class="sourceLineNo">239</span>            writeRequest(call);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>          }<a name="line.240"></a>
-<span class="sourceLineNo">241</span>        }<a name="line.241"></a>
-<span class="sourceLineNo">242</span>      });<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    } catch (IOException e) {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      close(e);<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    }<a name="line.245"></a>
-<span class="sourceLineNo">246</span>  }<a name="line.246"></a>
-<span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  /**<a name="line.248"></a>
-<span class="sourceLineNo">249</span>   * Get SASL handler<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   * @param bootstrap to reconnect to<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   * @return new SASL handler<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * @throws java.io.IOException if handler failed to create<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  private SaslClientHandler getSaslHandler(final UserGroupInformation realTicket,<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      final Bootstrap bootstrap) throws IOException {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    return new SaslClientHandler(realTicket, authMethod, token, serverPrincipal,<a name="line.256"></a>
-<span class="sourceLineNo">257</span>        client.fallbackAllowed, client.conf.get("hbase.rpc.protection",<a name="line.257"></a>
-<span class="sourceLineNo">258</span>          SaslUtil.QualityOfProtection.AUTHENTICATION.name().toLowerCase()),<a name="line.258"></a>
-<span class="sourceLineNo">259</span>        new SaslClientHandler.SaslExceptionHandler() {<a name="line.259"></a>
-<span class="sourceLineNo">260</span>          @Override<a name="line.260"></a>
-<span class="sourceLineNo">261</span>          public void handle(int retryCount, Random random, Throwable cause) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>            try {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>              // Handle Sasl failure. Try to potentially get new credentials<a name="line.263"></a>
-<span class="sourceLineNo">264</span>              handleSaslConnectionFailure(retryCount, cause, realTicket);<a name="line.264"></a>
-<span class="sourceLineNo">265</span><a name="line.265"></a>
-<span class="sourceLineNo">266</span>              // Try to reconnect<a name="line.266"></a>
-<span class="sourceLineNo">267</span>              client.newTimeout(new TimerTask() {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>                @Override<a name="line.268"></a>
-<span class="sourceLineNo">269</span>                public void run(Timeout timeout) throws Exception {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>                  connect(bootstrap);<a name="line.270"></a>
-<span class="sourceLineNo">271</span>                }<a name="line.271"></a>
-<span class="sourceLineNo">272</span>              }, random.nextInt(reloginMaxBackoff) + 1, TimeUnit.MILLISECONDS);<a name="line.272"></a>
-<span class="sourceLineNo">273</span>            } catch (IOException | InterruptedException e) {<a name="line.273"></a>
-<span class="sourceLineNo">274</span>              close(e);<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>        }, new SaslClientHandler.SaslSuccessfulConnectHandler() {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>          @Override<a name="line.278"></a>
-<span class="sourceLineNo">279</span>          public void onSuccess(Channel channel) {<a name="line.279"></a>
-<span class="sourceLineNo">280</span>            startHBaseConnection(channel);<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>  /**<a name="line.285"></a>
-<span class="sourceLineNo">286</span>   * Retry to connect or close<a name="line.286"></a>
-<span class="sourceLineNo">287</span>   *<a name="line.287"></a>
-<span class="sourceLineNo">288</span>   * @param bootstrap      to connect with<a name="line.288"></a>
-<span class="sourceLineNo">289</span>   * @param connectCounter amount of tries<a name="line.289"></a>
-<span class="sourceLineNo">290</span>   * @param e              exception of fail<a name="line.290"></a>
-<span class="sourceLineNo">291</span>   */<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  private void retryOrClose(final Bootstrap bootstrap, int connectCounter, Throwable e) {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    if (connectCounter &lt; client.maxRetries) {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      client.newTimeout(new TimerTask() {<a name="line.294"></a>
-<span class="sourceLineNo">295</span>        @Override public void run(Timeout timeout) throws Exception {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>          connect(bootstrap);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>        }<a name="line.297"></a>
-<span class="sourceLineNo">298</span>      }, client.failureSleep, TimeUnit.MILLISECONDS);<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    } else {<a name="line.299"></a>
-<span class="sourceLineNo">300</span>      client.failedServers.addToFailedServers(address);<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      close(e);<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>  /**<a name="line.305"></a>
-<span class="sourceLineNo">306</span>   * Calls method on channel<a name="line.306"></a>
-<span class="sourceLineNo">307</span>   * @param method to call<a name="line.307"></a>
-<span class="sourceLineNo">308</span>   * @param controller to run call with<a name="line.308"></a>
-<span class="sourceLineNo">309</span>   * @param request to send<a name="line.309"></a>
-<span class="sourceLineNo">310</span>   * @param responsePrototype to construct response with<a name="line.310"></a>
-<span class="sourceLineNo">311</span>   */<a name="line.311"></a>
-<span class="sourceLineNo">312</span>  public Promise&lt;Message&gt; callMethod(final Descriptors.MethodDescriptor method,<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      final PayloadCarryingRpcController controller, final Message request,<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      final Message responsePrototype, MetricsConnection.CallStats callStats) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    final AsyncCall call =<a name="line.315"></a>
-<span class="sourceLineNo">316</span>        new AsyncCall(channel.eventLoop(), client.callIdCnt.getAndIncrement(), method, request,<a name="line.316"></a>
-<span class="sourceLineNo">317</span>            controller, responsePrototype, callStats);<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    controller.notifyOnCancel(new RpcCallback&lt;Object&gt;() {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      @Override<a name="line.319"></a>
-<span class="sourceLineNo">320</span>      public void run(Object parameter) {<a name="line.320"></a>
-<span class="sourceLineNo">321</span>        // TODO: do not need to call AsyncCall.setFailed?<a name="line.321"></a>
-<span class="sourceLineNo">322</span>        synchronized (pendingCalls) {<a name="line.322"></a>
-<span class="sourceLineNo">323</span>          pendingCalls.remove(call.id);<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>    // TODO: this should be handled by PayloadCarryingRpcController.<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    if (controller.isCanceled()) {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>      // To finish if the call was cancelled before we set the notification (race condition)<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      call.cancel(true);<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      return call;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    }<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>    synchronized (pendingCalls) {<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      if (closed) {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>        Promise&lt;Message&gt; promise = channel.eventLoop().newPromise();<a name="line.336"></a>
-<span class="sourceLineNo">337</span>        promise.setFailure(new ConnectException());<a name="line.337"></a>
-<span class="sourceLineNo">338</span>        return promise;<a name="line.338"></a>
-<span class="sourceLineNo">339</span>      }<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      pendingCalls.put(call.id, call);<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      // Add timeout for cleanup if none is present<a name="line.341"></a>
-<span class="sourceLineNo">342</span>      if (cleanupTimer == null &amp;&amp; call.getRpcTimeout() &gt; 0) {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>        cleanupTimer =<a name="line.343"></a>
-<span class="sourceLineNo">344</span>            client.newTimeout(timeoutTask, call.getRpcTimeout(),<a name="line.344"></a>
-<span class="sourceLineNo">345</span>              TimeUnit.MILLISECONDS);<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      }<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      if (!connected) {<a name="line.347"></a>
-<span class="sourceLineNo">348</span>        return call;<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>    writeRequest(call);<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    return call;<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>  AsyncCall removePendingCall(int id) {<a name="line.355"></a>
-<span class="sourceLineNo">356</span>    synchronized (pendingCalls) {<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      return pendingCalls.remove(id);<a name="line.357"></a>
-<span class="sourceLineNo">358</span>    }<a name="line.358"></a>
-<span class="sourceLineNo">359</span>  }<a name="line.359"></a>
-<span class="sourceLineNo">360</span><a name="line.360"></a>
-<span class="sourceLineNo">361</span>  /**<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   * Write the channel header<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   *<a name="line.363"></a>
-<span class="sourceLineNo">364</span>   * @param channel to write to<a name="line.364"></a>
-<span class="sourceLineNo">365</span>   * @return future of write<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   * @throws java.io.IOException on failure to write<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   */<a name="line.367"></a>
-<span class="sourceLineNo">368</span>  private ChannelFuture writeChannelHeader(Channel channel) throws IOException {<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    RPCProtos.ConnectionHeader.Builder headerBuilder =<a name="line.369"></a>
-<span class="sourceLineNo">370</span>        RPCProtos.ConnectionHeader.newBuilder().setServiceName(serviceName);<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span>    RPCProtos.UserInformation userInfoPB = buildUserInfo(ticket.getUGI(), authMethod);<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    if (userInfoPB != null) {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      headerBuilder.setUserInfo(userInfoPB);<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    }<a name="line.375"></a>
-<span class="sourceLineNo">376</span><a name="line.376"></a>
-<span class="sourceLineNo">377</span>    if (client.codec != null) {<a name="line.377"></a>
-<span class="sourceLineNo">378</span>      headerBuilder.setCellBlockCodecClass(client.codec.getClass().getCanonicalName());<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    }<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    if (client.compressor != null) {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>      headerBuilder.setCellBlockCompressorClass(client.compressor.getClass().getCanonicalName());<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>    headerBuilder.setVersionInfo(ProtobufUtil.getVersionInfo());<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    RPCProtos.ConnectionHeader header = headerBuilder.build();<a name="line.385"></a>
-<span class="sourceLineNo">386</span><a name="line.386"></a>
-<span class="sourceLineNo">387</span><a name="line.387"></a>
-<span class="sourceLineNo">388</span>    int totalSize = IPCUtil.getTotalSizeWhenWrittenDelimited(header);<a name="line.388"></a>
-<span class="sourceLineNo">389</span><a name="line.389"></a>
-<span class="sourceLineNo">390</span>    ByteBuf b = channel.alloc().directBuffer(totalSize);<a name="line.390"></a>
-<span class="sourceLineNo">391</span><a name="line.391"></a>
-<span class="sourceLineNo">392</span>    b.writeInt(header.getSerializedSize());<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    b.writeBytes(header.toByteArray());<a name="line.393"></a>
-<span class="sourceLineNo">394</span><a name="line.394"></a>
-<span class="sourceLineNo">395</span>    return channel.writeAndFlush(b);<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>  /**<a name="line.398"></a>
-<span class="sourceLineNo">399</span>   * Write request to channel<a name="line.399"></a>
-<span class="sourceLineNo">400</span>   *<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   * @param call    to write<a name="line.401"></a>
-<span class="sourceLineNo">402</span>   */<a name="line.402"></a>
-<span class="sourceLineNo">403</span>  private void writeRequest(final AsyncCall call) {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    try {<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      final RPCProtos.RequestHeader.Builder requestHeaderBuilder = RPCProtos.RequestHeader<a name="line.405"></a>
-<span class="sourceLineNo">406</span>          .newBuilder();<a name="line.406"></a>
-<span class="sourceLineNo">407</span>      requestHeaderBuilder.setCallId(call.id)<a name="line.407"></a>
-<span class="sourceLineNo">408</span>              .setMethodName(call.method.getName()).setRequestParam(call.param != null);<a name="line.408"></a>
-<span class="sourceLineNo">409</span><a name="line.409"></a>
-<span class="sourceLineNo">410</span>      if (Trace.isTracing()) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>        Span s = Trace.currentSpan();<a name="line.411"></a>
-<span class="sourceLineNo">412</span>        requestHeaderBuilder.setTraceInfo(TracingProtos.RPCTInfo.newBuilder().<a name="line.412"></a>
-<span class="sourceLineNo">413</span>            setParentId(s.getSpanId()).setTraceId(s.getTraceId()));<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      }<a name="line.414"></a>
-<span class="sourceLineNo">415</span><a name="line.415"></a>
-<span class="sourceLineNo">416</span>      ByteBuffer cellBlock = client.buildCellBlock(call.controller.cellScanner());<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      if (cellBlock != null) {<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        final RPCProtos.CellBlockMeta.Builder cellBlockBuilder = RPCProtos.CellBlockMeta<a name="line.418"></a>
-<span class="sourceLineNo">419</span>            .newBuilder();<a name="line.419"></a>
-<span class="sourceLineNo">420</span>        cellBlockBuilder.setLength(cellBlock.limit());<a name="line.420"></a>
-<span class="sourceLineNo">421</span>        requestHeaderBuilder.setCellBlockMeta(cellBlockBuilder.build());<a name="line.421"></a>
-<span class="sourceLineNo">422</span>      }<a name="line.422"></a>
-<span class="sourceLineNo">423</span>      // Only pass priority if there one.  Let zero be same as no priority.<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      if (call.controller.getPriority() != 0) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>        requestHeaderBuilder.setPriority(call.controller.getPriority());<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>      RPCProtos.RequestHeader rh = requestHeaderBuilder.build();<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span>      int totalSize = IPCUtil.getTotalSizeWhenWrittenDelimited(rh, call.param);<a name="line.430"></a>
-<span class="sourceLineNo">431</span>      if (cellBlock != null) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>        totalSize += cellBlock.remaining();<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>      ByteBuf b = channel.alloc().directBuffer(4 + totalSize);<a name="line.435"></a>
-<span class="sourceLineNo">436</span>      try(ByteBufOutputStream out = new ByteBufOutputStream(b)) {<a name="line.436"></a>
-<span class="sourceLineNo">437</span>        call.callStats.setRequestSizeBytes(IPCUtil.write(out, rh, call.param, cellBlock));<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>      channel.writeAndFlush(b).addListener(new CallWriteListener(this, call.id));<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    } catch (IOException e) {<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      close(e);<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    }<a name="line.443"></a>
-<span class="sourceLineNo">444</span>  }<a name="line.444"></a>
+<span class="sourceLineNo">148</span>    name = ("IPC Client (" + channel.hashCode() + ") to " +<a name="line.148"></a>
+<span class="sourceLineNo">149</span>        address.toString() +<a name="line.149"></a>
+<span class="sourceLineNo">150</span>        ((ticket == null) ?<a name="line.150"></a>
+<span class="sourceLineNo">151</span>            " from unknown user" :<a name="line.151"></a>
+<span class="sourceLineNo">152</span>            (" from " + ticket.getName())));<a name="line.152"></a>
+<span class="sourceLineNo">153</span>  }<a name="line.153"></a>
+<span class="sourceLineNo">154</span><a name="line.154"></a>
+<span class="sourceLineNo">155</span>  /**<a name="line.155"></a>
+<span class="sourceLineNo">156</span>   * Connect to channel<a name="line.156"></a>
+<span class="sourceLineNo">157</span>   *<a name="line.157"></a>
+<span class="sourceLineNo">158</span>   * @param bootstrap to connect to<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * @return future of connection<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   */<a name="line.160"></a>
+<span class="sourceLineNo">161</span>  private ChannelFuture connect(final Bootstrap bootstrap) {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    return bootstrap.remoteAddress(address).connect()<a name="line.162"></a>
+<span class="sourceLineNo">163</span>        .addListener(new GenericFutureListener&lt;ChannelFuture&gt;() {<a name="line.163"></a>
+<span class="sourceLineNo">164</span>          @Override<a name="line.164"></a>
+<span class="sourceLineNo">165</span>          public void operationComplete(final ChannelFuture f) throws Exception {<a name="line.165"></a>
+<span class="sourceLineNo">166</span>            if (!f.isSuccess()) {<a name="line.166"></a>
+<span class="sourceLineNo">167</span>              retryOrClose(bootstrap, failureCounter++, client.failureSleep, f.cause());<a name="line.167"></a>
+<span class="sourceLineNo">168</span>              return;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>            }<a name="line.169"></a>
+<span class="sourceLineNo">170</span>            channel = f.channel();<a name="line.170"></a>
+<span class="sourceLineNo">171</span><a name="line.171"></a>
+<span class="sourceLineNo">172</span>            setupAuthorization();<a name="line.172"></a>
+<span class="sourceLineNo">173</span><a name="line.173"></a>
+<span class="sourceLineNo">174</span>            ByteBuf b = channel.alloc().directBuffer(6);<a name="line.174"></a>
+<span class="sourceLineNo">175</span>            createPreamble(b, authMethod);<a name="line.175"></a>
+<span class="sourceLineNo">176</span>            channel.writeAndFlush(b).addListener(ChannelFutureListener.CLOSE_ON_FAILURE);<a name="line.176"></a>
+<span class="sourceLineNo">177</span>            if (useSasl) {<a name="line.177"></a>
+<span class="sourceLineNo">178</span>              UserGroupInformation ticket = AsyncRpcChannel.this.ticket.getUGI();<a name="line.178"></a>
+<span class="sourceLineNo">179</span>              if (authMethod == AuthMethod.KERBEROS) {<a name="line.179"></a>
+<span class="sourceLineNo">180</span>                if (ticket != null &amp;&amp; ticket.getRealUser() != null) {<a name="line.180"></a>
+<span class="sourceLineNo">181</span>                  ticket = ticket.getRealUser();<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>              SaslClientHandler saslHandler;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>              if (ticket == null) {<a name="line.185"></a>
+<span class="sourceLineNo">186</span>                throw new FatalConnectionException("ticket/user is null");<a name="line.186"></a>
+<span class="sourceLineNo">187</span>              }<a name="line.187"></a>
+<span class="sourceLineNo">188</span>              final UserGroupInformation realTicket = ticket;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>              saslHandler = ticket.doAs(new PrivilegedExceptionAction&lt;SaslClientHandler&gt;() {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>                @Override<a name="line.190"></a>
+<span class="sourceLineNo">191</span>                public SaslClientHandler run() throws IOException {<a name="line.191"></a>
+<span class="sourceLineNo">192</span>                  return getSaslHandler(realTicket, bootstrap);<a name="line.192"></a>
+<span class="sourceLineNo">193</span>                }<a name="line.193"></a>
+<span class="sourceLineNo">194</span>              });<a name="line.194"></a>
+<span class="sourceLineNo">195</span>              if (saslHandler != null) {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>                // Sasl connect is successful. Let's set up Sasl channel handler<a name="line.196"></a>
+<span class="sourceLineNo">197</span>                channel.pipeline().addFirst(saslHandler);<a name="line.197"></a>
+<span class="sourceLineNo">198</span>              } else {<a name="line.198"></a>
+<span class="sourceLineNo">199</span>                // fall back to simple auth because server told us so.<a name="line.199"></a>
+<span class="sourceLineNo">200</span>                authMethod = AuthMethod.SIMPLE;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>                useSasl = false;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>              }<a name="line.202"></a>
+<span class="sourceLineNo">203</span>            } else {<a name="line.203"></a>
+<span class="sourceLineNo">204</span>              startHBaseConnection(f.channel());<a name="line.204"></a>
+<span class="sourceLineNo">205</span>            }<a name="line.205"></a>
+<span class="sourceLineNo">206</span>          }<a name="line.206"></a>
+<span class="sourceLineNo">207</span>        });<a name="line.207"></a>
+<span class="sourceLineNo">208</span>  }<a name="line.208"></a>
+<span class="sourceLineNo">209</span><a name="line.209"></a>
+<span class="sourceLineNo">210</span>  /**<a name="line.210"></a>
+<span class="sourceLineNo">211</span>   * Start HBase connection<a name="line.211"></a>
+<span class="sourceLineNo">212</span>   *<a name="line.212"></a>
+<span class="sourceLineNo">213</span>   * @param ch channel to start connection on<a name="line.213"></a>
+<span class="sourceLineNo">214</span>   */<a name="line.214"></a>
+<span class="sourceLineNo">215</span>  private void startHBaseConnection(Channel ch) {<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    ch.pipeline()<a name="line.216"></a>
+<span class="sourceLineNo">217</span>        .addLast("frameDecoder", new LengthFieldBasedFrameDecoder(Integer.MAX_VALUE, 0, 4, 0, 4));<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    ch.pipeline().addLast(new AsyncServerResponseHandler(this));<a name="line.218"></a>
+<span class="sourceLineNo">219</span>    try {<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      writeChannelHeader(ch).addListener(new GenericFutureListener&lt;ChannelFuture&gt;() {<a name="line.220"></a>
+<span class="sourceLineNo">221</span>        @Override<a name="line.221"></a>
+<span class="sourceLineNo">222</span>        public void operationComplete(ChannelFuture future) throws Exception {<a name="line.222"></a>
+<span class="sourceLineNo">223</span>          if (!future.isSuccess()) {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>            close(future.cause());<a name="line.224"></a>
+<span class="sourceLineNo">225</span>            return;<a name="line.225"></a>
+<span class="sourceLineNo">226</span>          }<a name="line.226"></a>
+<span class="sourceLineNo">227</span>          List&lt;AsyncCall&gt; callsToWrite;<a name="line.227"></a>
+<span class="sourceLineNo">228</span>          synchronized (pendingCalls) {<a name="line.228"></a>
+<span class="sourceLineNo">229</span>            connected = true;<a name="line.229"></a>
+<span class="sourceLineNo">230</span>            callsToWrite = new ArrayList&lt;AsyncCall&gt;(pendingCalls.values());<a name="line.230"></a>
+<span class="sourceLineNo">231</span>          }<a name="line.231"></a>
+<span class="sourceLineNo">232</span>          for (AsyncCall call : callsToWrite) {<a name="line.232"></a>
+<span class="sourceLineNo">233</span>            writeRequest(call);<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>    } catch (IOException e) {<a name="line.237"></a>
+<span class="sourceLineNo">238</span>      close(e);<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    }<a name="line.239"></a>
+<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
+<span class="sourceLineNo">241</span><a name="line.241"></a>
+<span class="sourceLineNo">242</span>  /**<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * Get SASL handler<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   * @param bootstrap to reconnect to<a name="line.244"></a>
+<span class="sourceLineNo">245</span>   * @return new SASL handler<a name="line.245"></a>
+<span class="sourceLineNo">246</span>   * @throws java.io.IOException if handler failed to create<a name="line.246"></a>
+<span class="sourceLineNo">247</span>   */<a name="line.247"></a>
+<span class="sourceLineNo">248</span>  private SaslClientHandler getSaslHandler(final UserGroupInformation realTicket,<a name="line.248"></a>
+<span class="sourceLineNo">249</span>      final Bootstrap bootstrap) throws IOException {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    return new SaslClientHandler(realTicket, authMethod, token, serverPrincipal,<a name="line.250"></a>
+<span class="sourceLineNo">251</span>        client.fallbackAllowed, client.conf.get("hbase.rpc.protection",<a name="line.251"></a>
+<span class="sourceLineNo">252</span>          SaslUtil.QualityOfProtection.AUTHENTICATION.name().toLowerCase()),<a name="line.252"></a>
+<span class="sourceLineNo">253</span>        new SaslClientHandler.SaslExceptionHandler() {<a name="line.253"></a>
+<span class="sourceLineNo">254</span>          @Override<a name="line.254"></a>
+<span class="sourceLineNo">255</span>          public void handle(int retryCount, Random random, Throwable cause) {<a name="line.255"></a>
+<span class="sourceLineNo">256</span>            try {<a name="line.256"></a>
+<span class="sourceLineNo">257</span>              // Handle Sasl failure. Try to potentially get new credentials<a name="line.257"></a>
+<span class="sourceLineNo">258</span>              handleSaslConnectionFailure(retryCount, cause, realTicket);<a name="line.258"></a>
+<span class="sourceLineNo">259</span><a name="line.259"></a>
+<span class="sourceLineNo">260</span>              retryOrClose(bootstrap, failureCounter++, random.nextInt(reloginMaxBackoff) + 1,<a name="line.260"></a>
+<span class="sourceLineNo">261</span>                  cause);<a name="line.261"></a>
+<span class="sourceLineNo">262</span>            } catch (IOException | InterruptedException e) {<a name="line.262"></a>
+<span class="sourceLineNo">263</span>              close(e);<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>        }, new SaslClientHandler.SaslSuccessfulConnectHandler() {<a name="line.266"></a>
+<span class="sourceLineNo">267</span>          @Override<a name="line.267"></a>
+<span class="sourceLineNo">268</span>          public void onSuccess(Channel channel) {<a name="line.268"></a>
+<span class="sourceLineNo">269</span>            startHBaseConnection(channel);<a name="line.269"></a>
+<span class="sourceLineNo">270</span>          }<a name="line.270"></a>
+<span class="sourceLineNo">271</span>        });<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  }<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>   * Retry to connect or close<a name="line.275"></a>
+<span class="sourceLineNo">276</span>   *<a name="line.276"></a>
+<span class="sourceLineNo">277</span>   * @param bootstrap      to connect with<a name="line.277"></a>
+<span class="sourceLineNo">278</span>   * @param failureCount   failure count<a name="line.278"></a>
+<span class="sourceLineNo">279</span>   * @param e              exception of fail<a name="line.279"></a>
+<span class="sourceLineNo">280</span>   */<a name="line.280"></a>
+<span class="sourceLineNo">281</span>  private void retryOrClose(final Bootstrap bootstrap, int failureCount,<a name="line.281"></a>
+<span class="sourceLineNo">282</span>      long timeout, Throwable e) {<a name="line.282"></a>
+<span class="sourceLineNo">283</span>    if (failureCount &lt; client.maxRetries) {<a name="line.283"></a>
+<span class="sourceLineNo">284</span>      client.newTimeout(new TimerTask() {<a name="line.284"></a>
+<span class="sourceLineNo">285</span>        @Override<a name="line.285"></a>
+<span class="sourceLineNo">286</span>        public void run(Timeout timeout) throws Exception {<a name="line.286"></a>
+<span class="sourceLineNo">287</span>          connect(bootstrap);<a name="line.287"></a>
+<span class="sourceLineNo">288</span>        }<a name="line.288"></a>
+<span class="sourceLineNo">289</span>      }, timeout, TimeUnit.MILLISECONDS);<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    } else {<a name="line.290"></a>
+<span class="sourceLineNo">291</span>      client.failedServers.addToFailedServers(address);<a name="line.291"></a>
+<span class="sourceLineNo">292</span>      close(e);<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>   * Calls method on channel<a name="line.297"></a>
+<span class="sourceLineNo">298</span>   * @param method to call<a name="line.298"></a>
+<span class="sourceLineNo">299</span>   * @param controller to run call with<a name="line.299"></a>
+<span class="sourceLineNo">300</span>   * @param request to send<a name="line.300"></a>
+<span class="sourceLineNo">301</span>   * @param responsePrototype to construct response with<a name="line.301"></a>
+<span class="sourceLineNo">302</span>   */<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  public Promise&lt;Message&gt; callMethod(final Descriptors.MethodDescriptor method,<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      final PayloadCarryingRpcController controller, final Message request,<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      final Message responsePrototype, MetricsConnection.CallStats callStats) {<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    final AsyncCall call =<a name="line.306"></a>
+<span class="sourceLineNo">307</span>        new AsyncCall(channel.eventLoop(), client.callIdCnt.getAndIncrement(), method, request,<a name="line.307"></a>
+<span class="sourceLineNo">308</span>            controller, responsePrototype, callStats);<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    controller.notifyOnCancel(new RpcCallback&lt;Object&gt;() {<a name="line.309"></a>
+<span class="sourceLineNo">310</span>      @Override<a name="line.310"></a>
+<span class="sourceLineNo">311</span>      public void run(Object parameter) {<a name="line.311"></a>
+<span class="sourceLineNo">312</span>        // TODO: do not need to call AsyncCall.setFailed?<a name="line.312"></a>
+<span class="sourceLineNo">313</span>        synchronized (pendingCalls) {<a name="line.313"></a>
+<span class="sourceLineNo">314</span>          pendingCalls.remove(call.id);<a name="line.314"></a>
+<span class="sourceLineNo">315</span>        }<a name="line.315"></a>
+<span class="sourceLineNo">316</span>      }<a name="line.316"></a>
+<span class="sourceLineNo">317</span>    });<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    // TODO: this should be handled by PayloadCarryingRpcController.<a name="line.318"></a>
+<span class="sourceLineNo">319</span>    if (controller.isCanceled()) {<a name="line.319"></a>
+<span class="sourceLineNo">320</span>      // To finish if the call was cancelled before we set the notification (race condition)<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      call.cancel(true);<a name="line.321"></a>
+<span class="sourceLineNo">322</span>      return call;<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>    synchronized (pendingCalls) {<a name="line.325"></a>
+<span class="sourceLineNo">326</span>      if (closed) {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>        Promise&lt;Message&gt; promise = channel.eventLoop().newPromise();<a name="line.327"></a>
+<span class="sourceLineNo">328</span>        promise.setFailure(new ConnectException());<a name="line.328"></a>
+<span class="sourceLineNo">329</span>        return promise;<a name="line.329"></a>
+<span class="sourceLineNo">330</span>      }<a name="line.330"></a>
+<span class="sourceLineNo">331</span>      pendingCalls.put(call.id, call);<a name="line.331"></a>
+<span class="sourceLineNo">332</span>      // Add timeout for cleanup if none is present<a name="line.332"></a>
+<span class="sourceLineNo">333</span>      if (cleanupTimer == null &amp;&amp; call.getRpcTimeout() &gt; 0) {<a name="line.333"></a>
+<span class="sourceLineNo">334</span>        cleanupTimer =<a name="line.334"></a>
+<span class="sourceLineNo">335</span>            client.newTimeout(timeoutTask, call.getRpcTimeout(),<a name="line.335"></a>
+<span class="sourceLineNo">336</span>              TimeUnit.MILLISECONDS);<a name="line.336"></a>
+<span class="sourceLineNo">337</span>      }<a name="line.337"></a>
+<span class="sourceLineNo">338</span>      if (!connected) {<a name="line.338"></a>
+<span class="sourceLineNo">339</span>        return call;<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>    writeRequest(call);<a name="line.342"></a>
+<span class="sourceLineNo">343</span>    return call;<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>  AsyncCall removePendingCall(int id) {<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    synchronized (pendingCalls) {<a name="line.347"></a>
+<span class="sourceLineNo">348</span>      return pendingCalls.remove(id);<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    }<a name="line.349"></a>
+<span class="sourceLineNo">350</span>  }<a name="line.350"></a>
+<span class="sourceLineNo">351</span><a name="line.351"></a>
+<span class="sourceLineNo">352</span>  /**<a name="line.352"></a>
+<span class="sourceLineNo">353</span>   * Write the channel header<a name="line.353"></a>
+<span class="sourceLineNo">354</span>   *<a name="line.354"></a>
+<span class="sourceLineNo">355</span>   * @param channel to write to<a name="line.355"></a>
+<span class="sourceLineNo">356</span>   * @return future of write<a name="line.356"></a>
+<span class="sourceLineNo">357</span>   * @throws java.io.IOException on failure to write<a name="line.357"></a>
+<span class="sourceLineNo">358</span>   */<a name="line.358"></a>
+<span class="sourceLineNo">359</span>  private ChannelFuture writeChannelHeader(Channel channel) throws IOException {<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    RPCProtos.ConnectionHeader.Builder headerBuilder =<a name="line.360"></a>
+<span class="sourceLineNo">361</span>        RPCProtos.ConnectionHeader.newBuilder().setServiceName(serviceName);<a name="line.361"></a>
+<span class="sourceLineNo">362</span><a name="line.362"></a>
+<span class="sourceLineNo">363</span>    RPCProtos.UserInformation userInfoPB = buildUserInfo(ticket.getUGI(), authMethod);<a name="line.363"></a>
+<span class="sourceLineNo">364</span>    if (userInfoPB != null) {<a name="line.364"></a>
+<span class="sourceLineNo">365</span>      headerBuilder.setUserInfo(userInfoPB);<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>    if (client.codec != null) {<a name="line.368"></a>
+<span class="sourceLineNo">369</span>      headerBuilder.setCellBlockCodecClass(client.codec.getClass().getCanonicalName());<a name="line.369"></a>
+<span class="sourceLineNo">370</span>    }<a name="line.370"></a>
+<span class="sourceLineNo">371</span>    if (client.compressor != null) {<a name="line.371"></a>
+<span class="sourceLineNo">372</span>      headerBuilder.setCellBlockCompressorClass(client.compressor.getClass().getCanonicalName());<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>    headerBuilder.setVersionInfo(ProtobufUtil.getVersionInfo());<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    RPCProtos.ConnectionHeader header = headerBuilder.build();<a name="line.376"></a>
+<span class="sourceLineNo">377</span><a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>    int totalSize = IPCUtil.getTotalSizeWhenWrittenDelimited(header);<a name="line.379"></a>
+<span class="sourceLineNo">380</span><a name="line.380"></a>
+<span class="sourceLineNo">381</span>    ByteBuf b = channel.alloc().directBuffer(totalSize);<a name="line.381"></a>
+<span class="sourceLineNo">382</span><a name="line.382"></a>
+<span class="sourceLineNo">383</span>    b.writeInt(header.getSerializedSize());<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    b.writeBytes(header.toByteArray());<a name="line.384"></a>
+<span class="sourceLineNo">385</span><a name="line.385"></a>
+<span class="sourceLineNo">386</span>    return channel.writeAndFlush(b);<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>   * Write request to channel<a name="line.390"></a>
+<span class="sourceLineNo">391</span>   *<a name="line.391"></a>
+<span class="sourceLineNo">392</span>   * @param call    to write<a name="line.392"></a>
+<span class="sourceLineNo">393</span>   */<a name="line.393"></a>
+<span class="sourceLineNo">394</span>  private void writeRequest(final AsyncCall call) {<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    try {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      final RPCProtos.RequestHeader.Builder requestHeaderBuilder = RPCProtos.RequestHeader<a name="line.396"></a>
+<span class="sourceLineNo">397</span>          .newBuilder();<a name="line.397"></a>
+<span class="sourceLineNo">398</span>      requestHeaderBuilder.setCallId(call.id)<a name="line.398"></a>
+<span class="sourceLineNo">399</span>              .setMethodName(call.method.getName()).setRequestParam(call.param != null);<a name="line.399"></a>
+<span class="sourceLineNo">400</span><a name="line.400"></a>
+<span class="sourceLineNo">401</span>      if (Trace.isTracing()) {<a name="line.401"></a>
+<span class="sourceLineNo">402</span>        Span s = Trace.currentSpan();<a name="line.402"></a>
+<span class="sourceLineNo">403</span>        requestHeaderBuilder.setTraceInfo(TracingProtos.RPCTInfo.newBuilder().<a name="line.403"></a>
+<span class="sourceLineNo">404</span>            setParentId(s.getSpanId()).setTraceId(s.getTraceId()));<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>      ByteBuffer cellBlock = client.buildCellBlock(call.controller.cellScanner());<a name="line.407"></a>
+<span class="sourceLineNo">408</span>      if (cellBlock != null) {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>        final RPCProtos.CellBlockMeta.Builder cellBlockBuilder = RPCProtos.CellBlockMeta<a name="line.409"></a>
+<span class="sourceLineNo">410</span>            .newBuilder();<a name="line.410"></a>
+<span class="sourceLineNo">411</span>        cellBlockBuilder.setLength(cellBlock.limit());<a name="line.411"></a>
+<span class="sourceLineNo">412</span>        requestHeaderBuilder.setCellBlockMeta(cellBlockBuilder.build());<a name="line.412"></a>
+<span class="sourceLineNo">413</span>      }<a name="line.413"></a>
+<span class="sourceLineNo">414</span>      // Only pass priority if there one.  Let zero be same as no priority.<a name="line.414"></a>
+<span class="sourceLineNo">415</span>      if (call.controller.getPriority() != 0) {<a name="line.415"></a>
+<span class="sourceLineNo">416</span>        requestHeaderBuilder.setPriority(call.controller.getPriority());<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>      RPCProtos.RequestHeader rh = requestHeaderBuilder.build();<a name="line.419"></a>
+<span class="sourceLineNo">420</span><a name="line.420"></a>
+<span class="sourceLineNo">421</span>      int totalSize = IPCUtil.getTotalSizeWhenWrittenDelimited(rh, call.param);<a name="line.421"></a>
+<span class="sourceLineNo">422</span>      if (cellBlock != null) {<a name="line.422"></a>
+<span class="sourceLineNo">423</span>        totalSize += cellBlock.remaining();<a name="line.423"></a>
+<span class="sourceLineNo">424</span>      }<a name="line.424"></a>
+<span class="sourceLineNo">425</span><a name="line.425"></a>
+<span class="sourceLineNo">426</span>      ByteBuf b = channel.alloc().directBuffer(4 + totalSize);<a name="line.426"></a>
+<span class="sourceLineNo">427</span>      try(ByteBufOutputStream out = new ByteBufOutputStream(b)) {<a name="line.427"></a>
+<span class="sourceLineNo">428</span>        call.callStats.setRequestSizeBytes(IPCUtil.write(out, rh, call.param, cellBlock));<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>      channel.writeAndFlush(b).addListener(new CallWriteListener(this, call.id));<a name="line.431"></a>
+<span class="sourceLineNo">432</span>    } catch (IOException e) {<a name="line.432"></a>
+<span class="sourceLineNo">433</span>      close(e);<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><a name="line.436"></a>
+<span class="sourceLineNo">437</span>  /**<a name="line.437"></a>
+<span class="sourceLineNo">438</span>   * Set up server authorization<a name="line.438"></a>
+<span class="sourceLineNo">439</span>   *<a name="line.439"></a>
+<span class="sourceLineNo">440</span>   * @throws java.io.IOException if auth setup failed<a name="line.440"></a>
+<span class="sourceLineNo">441</span>   */<a name="line.441"></a>
+<span class="sourceLineNo">442</span>  private void setupAuthorization() throws IOException {<a name="line.442"></a>
+<span class="sourceLineNo">443</span>    SecurityInfo securityInfo = SecurityInfo.getInfo(serviceName);<a name="line.443"></a>
+<span class="sourceLineNo">444</span>    this.useSasl = client.userProvider.isHBaseSecurityEnabled();<a name="line.444"></a>
 <span class="sourceLineNo">445</span><a name="line.445"></a>
-<span class="sourceLineNo">446</span>  /**<a name="line.446"></a>
-<span class="sourceLineNo">447</span>   * Set up server authorization<a name="line.447"></a>
-<span class="sourceLineNo">448</span>   *<a name="line.448"></a>
-<span class="sourceLineNo">449</span>   * @throws java.io.IOException if auth setup failed<a name="line.449"></a>
-<span class="sourceLineNo">450</span>   */<a name="line.450"></a>
-<span class="sourceLineNo">451</span>  private void setupAuthorization() throws IOException {<a name="line.451"></a>
-<span class="sourceLineNo">452</span>    SecurityInfo securityInfo = SecurityInfo.getInfo(serviceName);<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    this.useSasl = client.userProvider.isHBaseSecurityEnabled();<a name="line.453"></a>
-<span class="sourceLineNo">454</span><a name="line.454"></a>
-<span class="sourceLineNo">455</span>    this.token = null;<a name="line.455"></a>
-<span class="sourceLineNo">456</span>    if (useSasl &amp;&amp; securityInfo != null) {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>      AuthenticationProtos.TokenIdentifier.Kind tokenKind = securityInfo.getTokenKind();<a name="line.457"></a>
-<span class="sourceLineNo">458</span>      if (tokenKind != null) {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>        TokenSelector&lt;? extends TokenIdentifier&gt; tokenSelector = tokenHandlers.get(tokenKind);<a name="line.459"></a>
-<span class="sourceLineNo">460</span>        if (tokenSelector != null) {<a name="line.460"></a>
-<span class="sourceLineNo">461</span>          token = tokenSelector<a name="line.461"></a>
-<span class="sourceLineNo">462</span>              .selectToken(new Text(client.clusterId), ticket.getUGI().getTokens());<a name="line.462"></a>
-<span class="sourceLineNo">463</span>        } else if (LOG.isDebugEnabled()) {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>          LOG.debug("No token selector found for type " + tokenKind);<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>      String serverKey = securityInfo.getServerPrincipal();<a name="line.467"></a>
-<span class="sourceLineNo">468</span>      if (serverKey == null) {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>        throw new IOException("Can't obtain server Kerberos config key from SecurityInfo");<a name="line.469"></a>
-<span class="sourceLineNo">470</span>      }<a name="line.470"></a>
-<span class="sourceLineNo">471</span>      this.serverPrincipal = SecurityUtil.getServerPrincipal(client.conf.get(serverKey),<a name="line.471"></a>
-<span class="sourceLineNo">472</span>          address.getAddress().getCanonicalHostName().toLowerCase());<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      if (LOG.isDebugEnabled()) {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>        LOG.debug("RPC Server Kerberos principal name for service=" + serviceName + " is "<a name="line.474"></a>
-<span class="sourceLineNo">475</span>            + serverPrincipal);<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      }<a name="line.476"></a>
-<span class="sourceLineNo">477</span>    }<a name="line.477"></a>
-<span class="sourceLineNo">478</span><a name="line.478"></a>
-<span class="sourceLineNo">479</span>    if (!useSasl) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>      authMethod = AuthMethod.SIMPLE;<a name="line.480"></a>
-<span class="sourceLineNo">481</span>    } else if (token != null) {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>      authMethod = AuthMethod.DIGEST;<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    } else {<a name="line.483"></a>
-<span class="sourceLineNo">484</span>      authMethod = AuthMethod.KERBEROS;<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    }<a name="line.485"></a>
-<span class="sourceLineNo">486</span><a name="line.486"></a>
-<span class="sourceLineNo">487</span>    if (LOG.isDebugEnabled()) {<a name="line.487"></a>
-<span class="sourceLineNo">488</span>      LOG.debug("Use " + authMethod + " authentication for service " + serviceName +<a name="line.488"></a>
-<span class="sourceLineNo">489</span>          ", sasl=" + useSasl);<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    }<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    reloginMaxBackoff = client.conf.getInt("hbase.security.relogin.maxbackoff", 5000);<a name="line.491"></a>
-<span class="sourceLineNo">492</span>  }<a name="line.492"></a>
-<span class="sourceLineNo">493</span><a name="line.493"></a>
-<span class="sourceLineNo">494</span>  /**<a name="line.494"></a>
-<span class="sourceLineNo">495</span>   * Build the user information<a name="line.495"></a>
-<span class="sourceLineNo">496</span>   *<a name="line.496"></a>
-<span class="sourceLineNo">497</span>   * @param ugi        User Group Information<a name="line.497"></a>
-<span class="sourceLineNo">498</span>   * @param authMethod Authorization method<a name="line.498"></a>
-<span class="sourceLineNo">499</span>   * @return UserInformation protobuf<a name="line.499"></a>
-<span class="sourceLineNo">500</span>   */<a name="line.500"></a>
-<span class="sourceLineNo">501</span>  private RPCProtos.UserInformation buildUserInfo(UserGroupInformation ugi, AuthMethod authMethod) {<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    if (ugi == null || authMethod == AuthMethod.DIGEST) {<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      // Don't send user for token auth<a name="line.503"></a>
-<span class="sourceLineNo">504</span>      return null;<a name="line.504"></a>
-<span class="sourceLineNo">505</span>    }<a name="line.505"></a>
-<span class="sourceLineNo">506</span>    RPCProtos.UserInformation.Builder userInfoPB = RPCProtos.UserInformation.newBuilder();<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    if (authMethod == AuthMethod.KERBEROS) {<a name="line.507"></a>
-<span class="sourceLineNo">508</span>      // Send effective user for Kerberos auth<a name="line.508"></a>
-<span class="sourceLineNo">509</span>      userInfoPB.setEffectiveUser(ugi.getUserName());<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    } else if (authMethod == AuthMethod.SIMPLE) {<a name="line.510"></a>
-<span class="sourceLineNo">511</span>      //Send both effective user and real user for simple auth<a name="line.511"></a>
-<span class="sourceLineNo">512</span>      userInfoPB.setEffectiveUser(ugi.getUserName());<a name="line.512"></a>
-<span class="sourceLineNo">513</span>      if (ugi.getRealUser() != null) {<a name="line.513"></a>
-<span class="sourceLineNo">514</span>        userInfoPB.setRealUser(ugi.getRealUser().getUserName());<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>    return userInfoPB.build();<a name="line.517"></a>
-<span class="sourceLineNo">518</span>  }<a name="line.518"></a>
-<span class="sourceLineNo">519</span><a name="line.519"></a>
-<span class="sourceLineNo">520</span>  /**<a name="line.520"></a>
-<span class="sourceLineNo">521</span>   * Create connection preamble<a name="line.521"></a>
-<span class="sourceLineNo">522</span>   *<a name="line.522"></a>
-<span class="sourceLineNo">523</span>   * @param byteBuf    to write to<a name="line.523"></a>
-<span class="sourceLineNo">524</span>   * @param authMethod to write<a name="line.524"></a>
-<span class="sourceLineNo">525</span>   */<a name="line.525"></a>
-<span class="sourceLineNo">526</span>  private void createPreamble(ByteBuf byteBuf, AuthMethod authMethod) {<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    byteBuf.writeBytes(HConstants.RPC_HEADER);<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    byteBuf.writeByte(HConstants.RPC_CURRENT_VERSION);<a name="line.528"></a>
-<span class="sourceLineNo">529</span>    byteBuf.writeByte(authMethod.code);<a name="line.529"></a>
-<span class="sourceLineNo">530</span>  }<a name="line.530"></a>
-<span class="sourceLineNo">531</span><a name="line.531"></a>
-<span class="sourceLineNo">532</span>  /**<a name="line.532"></a>
-<span class="sourceLineNo">533</span>   * Close connection<a name="line.533"></a>
-<span class="sourceLineNo">534</span>   *<a name="line.534"></a>
-<span class="sourceLineNo">535</span>   * @param e exception on close<a name="line.535"></a>
-<span class="sourceLineNo">536</span>   */<a name="line.536"></a>
-<span class="sourceLineNo">537</span>  public void close(final Throwable e) {<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    client.removeConnection(this);<a name="line.538"></a>
-<span class="sourceLineNo">539</span><a name="line.539"></a>
-<span class="sourceLineNo">540</span>    // Move closing from the requesting thread to the channel thread<a name="line.540"></a>
-<span class="sourceLineNo">541</span>    channel.eventLoop().execute(new Runnable() {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>      @Override<a name="line.542"></a>
-<span class="sourceLineNo">543</span>      public void run() {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>        List&lt;AsyncCall&gt; toCleanup;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>        synchronized (pendingCalls) {<a name="line.545"></a>
-<span class="sourceLineNo">546</span>          if (closed) {<a name="line.546"></a>
-<span class="sourceLineNo">547</span>            return;<a name="line.547"></a>
-<span class="sourceLineNo">548</span>          }<a name="line.548"></a>
-<span class="sourceLineNo">549</span>          closed = true;<a name="line.549"></a>
-<span class="sourceLineNo">550</span>          toCleanup = new ArrayList&lt;AsyncCall&gt;(pendingCalls.values());<a name="line.550"></a>
-<span class="sourceLineNo">551</span>          pendingCalls.clear();<a name="

<TRUNCATED>