You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by gi...@apache.org on 2017/09/24 15:13:27 UTC

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

Repository: hbase-site
Updated Branches:
  refs/heads/asf-site d4d7b028a -> e6bd07743


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html
index 6d71e47..f5d13fc 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html
@@ -65,1007 +65,1003 @@
 <span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.coprocessor.RegionServerCoprocessorEnvironment;<a name="line.57"></a>
 <span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.filter.BinaryComparator;<a name="line.58"></a>
 <span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.master.MasterCoprocessorHost;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.regionserver.Region;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.regionserver.RegionScanner;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.regionserver.RegionServerCoprocessorHost;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.wal.WALEdit;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.security.User;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.security.access.Permission.Action;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.testclassification.LargeTests;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.testclassification.SecurityTests;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.TestTableName;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.log4j.Level;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.log4j.Logger;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.junit.After;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.junit.AfterClass;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.junit.Before;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.junit.BeforeClass;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.junit.Rule;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.junit.Test;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.junit.experimental.categories.Category;<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.com.google.common.collect.Lists;<a name="line.85"></a>
-<span class="sourceLineNo">086</span><a name="line.86"></a>
-<span class="sourceLineNo">087</span>@Category({SecurityTests.class, LargeTests.class})<a name="line.87"></a>
-<span class="sourceLineNo">088</span>public class TestWithDisabledAuthorization extends SecureTestUtil {<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  private static final Log LOG = LogFactory.getLog(TestWithDisabledAuthorization.class);<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>    Logger.getLogger(AccessController.class).setLevel(Level.TRACE);<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    Logger.getLogger(AccessControlFilter.class).setLevel(Level.TRACE);<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    Logger.getLogger(TableAuthManager.class).setLevel(Level.TRACE);<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>  private static final HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();<a name="line.97"></a>
-<span class="sourceLineNo">098</span><a name="line.98"></a>
-<span class="sourceLineNo">099</span>  private static final byte[] TEST_FAMILY = Bytes.toBytes("f1");<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  private static final byte[] TEST_FAMILY2 = Bytes.toBytes("f2");<a name="line.100"></a>
-<span class="sourceLineNo">101</span>  private static final byte[] TEST_ROW = Bytes.toBytes("testrow");<a name="line.101"></a>
-<span class="sourceLineNo">102</span>  private static final byte[] TEST_Q1 = Bytes.toBytes("q1");<a name="line.102"></a>
-<span class="sourceLineNo">103</span>  private static final byte[] TEST_Q2 = Bytes.toBytes("q2");<a name="line.103"></a>
-<span class="sourceLineNo">104</span>  private static final byte[] TEST_Q3 = Bytes.toBytes("q3");<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  private static final byte[] TEST_Q4 = Bytes.toBytes("q4");<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  private static final byte[] ZERO = Bytes.toBytes(0L);<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>  private static MasterCoprocessorEnvironment CP_ENV;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>  private static AccessController ACCESS_CONTROLLER;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>  private static RegionServerCoprocessorEnvironment RSCP_ENV;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  private RegionCoprocessorEnvironment RCP_ENV;<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>  @Rule public TestTableName TEST_TABLE = new TestTableName();<a name="line.113"></a>
-<span class="sourceLineNo">114</span><a name="line.114"></a>
-<span class="sourceLineNo">115</span>  // default users<a name="line.115"></a>
-<span class="sourceLineNo">116</span>  <a name="line.116"></a>
-<span class="sourceLineNo">117</span>  // superuser<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  private static User SUPERUSER;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  // user granted with all global permission<a name="line.119"></a>
-<span class="sourceLineNo">120</span>  private static User USER_ADMIN;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>  // user with rw permissions on column family.<a name="line.121"></a>
-<span class="sourceLineNo">122</span>  private static User USER_RW;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>  // user with read-only permissions<a name="line.123"></a>
-<span class="sourceLineNo">124</span>  private static User USER_RO;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>  // user is table owner. will have all permissions on table<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  private static User USER_OWNER;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>  // user with create table permissions alone<a name="line.127"></a>
-<span class="sourceLineNo">128</span>  private static User USER_CREATE;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  // user with no permissions<a name="line.129"></a>
-<span class="sourceLineNo">130</span>  private static User USER_NONE;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>  // user with only partial read-write perms (on family:q1 only)<a name="line.131"></a>
-<span class="sourceLineNo">132</span>  private static User USER_QUAL;<a name="line.132"></a>
-<span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span>  @BeforeClass<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  public static void setupBeforeClass() throws Exception {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>    Configuration conf = TEST_UTIL.getConfiguration();<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    // Up the handlers; this test needs more than usual.<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    TEST_UTIL.getConfiguration().setInt(HConstants.REGION_SERVER_HIGH_PRIORITY_HANDLER_COUNT, 10);<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    // Enable security<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    enableSecurity(conf);<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    // We expect 0.98 cell ACL semantics<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    conf.setBoolean(AccessControlConstants.CF_ATTRIBUTE_EARLY_OUT, false);<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    // Enable EXEC permission checking<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    conf.setBoolean(AccessControlConstants.EXEC_PERMISSION_CHECKS_KEY, true);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    // Verify enableSecurity sets up what we require<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    verifyConfiguration(conf);<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>    // Now, DISABLE only active authorization<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    conf.setBoolean(User.HBASE_SECURITY_AUTHORIZATION_CONF_KEY, false);<a name="line.149"></a>
-<span class="sourceLineNo">150</span><a name="line.150"></a>
-<span class="sourceLineNo">151</span>    // Start the minicluster<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    TEST_UTIL.startMiniCluster();<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    MasterCoprocessorHost cpHost =<a name="line.153"></a>
-<span class="sourceLineNo">154</span>        TEST_UTIL.getMiniHBaseCluster().getMaster().getMasterCoprocessorHost();<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    cpHost.load(AccessController.class, Coprocessor.PRIORITY_HIGHEST, conf);<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    ACCESS_CONTROLLER = (AccessController) cpHost.findCoprocessor(AccessController.class.getName());<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    CP_ENV = cpHost.createEnvironment(AccessController.class, ACCESS_CONTROLLER,<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      Coprocessor.PRIORITY_HIGHEST, 1, conf);<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    RegionServerCoprocessorHost rsHost = TEST_UTIL.getMiniHBaseCluster().getRegionServer(0)<a name="line.159"></a>
-<span class="sourceLineNo">160</span>      .getRegionServerCoprocessorHost();<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    RSCP_ENV = rsHost.createEnvironment(AccessController.class, ACCESS_CONTROLLER,<a name="line.161"></a>
-<span class="sourceLineNo">162</span>      Coprocessor.PRIORITY_HIGHEST, 1, conf);<a name="line.162"></a>
-<span class="sourceLineNo">163</span><a name="line.163"></a>
-<span class="sourceLineNo">164</span>    // Wait for the ACL table to become available<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    TEST_UTIL.waitUntilAllRegionsAssigned(AccessControlLists.ACL_TABLE_NAME);<a name="line.165"></a>
-<span class="sourceLineNo">166</span><a name="line.166"></a>
-<span class="sourceLineNo">167</span>    // create a set of test users<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    SUPERUSER = User.createUserForTesting(conf, "admin", new String[] { "supergroup" });<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    USER_ADMIN = User.createUserForTesting(conf, "admin2", new String[0]);<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    USER_OWNER = User.createUserForTesting(conf, "owner", new String[0]);<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    USER_CREATE = User.createUserForTesting(conf, "tbl_create", new String[0]);<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    USER_RW = User.createUserForTesting(conf, "rwuser", new String[0]);<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    USER_RO = User.createUserForTesting(conf, "rouser", new String[0]);<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    USER_QUAL = User.createUserForTesting(conf, "rwpartial", new String[0]);<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    USER_NONE = User.createUserForTesting(conf, "nouser", new String[0]);<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>  @AfterClass<a name="line.178"></a>
-<span class="sourceLineNo">179</span>  public static void tearDownAfterClass() throws Exception {<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    TEST_UTIL.shutdownMiniCluster();<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>  @Before<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  public void setUp() throws Exception {<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    // Create the test table (owner added to the _acl_ table)<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    Admin admin = TEST_UTIL.getAdmin();<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    HTableDescriptor htd = new HTableDescriptor(TEST_TABLE.getTableName());<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    HColumnDescriptor hcd = new HColumnDescriptor(TEST_FAMILY);<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    hcd.setMaxVersions(100);<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    htd.addFamily(hcd);<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    htd.setOwner(USER_OWNER);<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    admin.createTable(htd, new byte[][] { Bytes.toBytes("s") });<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    TEST_UTIL.waitUntilAllRegionsAssigned(TEST_TABLE.getTableName());<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span>    Region region = TEST_UTIL.getHBaseCluster().getRegions(TEST_TABLE.getTableName()).get(0);<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    RegionCoprocessorHost rcpHost = region.getCoprocessorHost();<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    RCP_ENV = rcpHost.createEnvironment(AccessController.class, ACCESS_CONTROLLER,<a name="line.197"></a>
-<span class="sourceLineNo">198</span>      Coprocessor.PRIORITY_HIGHEST, 1, TEST_UTIL.getConfiguration());<a name="line.198"></a>
-<span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>    // Set up initial grants<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>    grantGlobal(TEST_UTIL, USER_ADMIN.getShortName(),<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      Permission.Action.ADMIN,<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      Permission.Action.CREATE,<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      Permission.Action.READ,<a name="line.205"></a>
-<span class="sourceLineNo">206</span>      Permission.Action.WRITE);<a name="line.206"></a>
-<span class="sourceLineNo">207</span><a name="line.207"></a>
-<span class="sourceLineNo">208</span>    grantOnTable(TEST_UTIL, USER_RW.getShortName(),<a name="line.208"></a>
-<span class="sourceLineNo">209</span>      TEST_TABLE.getTableName(), TEST_FAMILY, null,<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      Permission.Action.READ,<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      Permission.Action.WRITE);<a name="line.211"></a>
-<span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span>    // USER_CREATE is USER_RW plus CREATE permissions<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    grantOnTable(TEST_UTIL, USER_CREATE.getShortName(),<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      TEST_TABLE.getTableName(), null, null,<a name="line.215"></a>
-<span class="sourceLineNo">216</span>      Permission.Action.CREATE,<a name="line.216"></a>
-<span class="sourceLineNo">217</span>      Permission.Action.READ,<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      Permission.Action.WRITE);<a name="line.218"></a>
-<span class="sourceLineNo">219</span><a name="line.219"></a>
-<span class="sourceLineNo">220</span>    grantOnTable(TEST_UTIL, USER_RO.getShortName(),<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      TEST_TABLE.getTableName(), TEST_FAMILY, null,<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      Permission.Action.READ);<a name="line.222"></a>
-<span class="sourceLineNo">223</span><a name="line.223"></a>
-<span class="sourceLineNo">224</span>    grantOnTable(TEST_UTIL, USER_QUAL.getShortName(),<a name="line.224"></a>
-<span class="sourceLineNo">225</span>      TEST_TABLE.getTableName(), TEST_FAMILY, TEST_Q1,<a name="line.225"></a>
-<span class="sourceLineNo">226</span>      Permission.Action.READ,<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      Permission.Action.WRITE);<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>    assertEquals(5, AccessControlLists.getTablePermissions(TEST_UTIL.getConfiguration(),<a name="line.229"></a>
-<span class="sourceLineNo">230</span>      TEST_TABLE.getTableName()).size());<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>  @After<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  public void tearDown() throws Exception {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    // Clean the _acl_ table<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    try {<a name="line.236"></a>
-<span class="sourceLineNo">237</span>      deleteTable(TEST_UTIL, TEST_TABLE.getTableName());<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    } catch (TableNotFoundException ex) {<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      // Test deleted the table, no problem<a name="line.239"></a>
-<span class="sourceLineNo">240</span>      LOG.info("Test deleted table " + TEST_TABLE.getTableName());<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    }<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    // Verify all table/namespace permissions are erased<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    assertEquals(0, AccessControlLists.getTablePermissions(TEST_UTIL.getConfiguration(),<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      TEST_TABLE.getTableName()).size());<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    assertEquals(0, AccessControlLists.getNamespacePermissions(TEST_UTIL.getConfiguration(),<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      TEST_TABLE.getTableName().getNamespaceAsString()).size());<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>  @Test<a name="line.249"></a>
-<span class="sourceLineNo">250</span>  public void testCheckPermissions() throws Exception {<a name="line.250"></a>
-<span class="sourceLineNo">251</span><a name="line.251"></a>
-<span class="sourceLineNo">252</span>    AccessTestAction checkGlobalAdmin = new AccessTestAction() {<a name="line.252"></a>
-<span class="sourceLineNo">253</span>      @Override<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      public Void run() throws Exception {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>        checkGlobalPerms(TEST_UTIL, Permission.Action.ADMIN);<a name="line.255"></a>
-<span class="sourceLineNo">256</span>        return null;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>      }<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    };<a name="line.258"></a>
-<span class="sourceLineNo">259</span><a name="line.259"></a>
-<span class="sourceLineNo">260</span>    verifyAllowed(checkGlobalAdmin, SUPERUSER, USER_ADMIN);<a name="line.260"></a>
-<span class="sourceLineNo">261</span>    verifyDenied(checkGlobalAdmin, USER_OWNER, USER_CREATE, USER_RW, USER_RO, USER_QUAL,<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      USER_NONE);<a name="line.262"></a>
-<span class="sourceLineNo">263</span><a name="line.263"></a>
-<span class="sourceLineNo">264</span>    AccessTestAction checkGlobalRead = new AccessTestAction() {<a name="line.264"></a>
-<span class="sourceLineNo">265</span>      @Override<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      public Void run() throws Exception {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>        checkGlobalPerms(TEST_UTIL, Permission.Action.READ);<a name="line.267"></a>
-<span class="sourceLineNo">268</span>        return null;<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>    verifyAllowed(checkGlobalRead, SUPERUSER, USER_ADMIN);<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    verifyDenied(checkGlobalRead, USER_OWNER, USER_CREATE, USER_RW, USER_RO, USER_QUAL,<a name="line.273"></a>
-<span class="sourceLineNo">274</span>      USER_NONE);<a name="line.274"></a>
-<span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span>    AccessTestAction checkGlobalReadWrite = new AccessTestAction() {<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      @Override<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      public Void run() throws Exception {<a name="line.278"></a>
-<span class="sourceLineNo">279</span>        checkGlobalPerms(TEST_UTIL, Permission.Action.READ, Permission.Action.WRITE);<a name="line.279"></a>
-<span class="sourceLineNo">280</span>        return null;<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>    verifyAllowed(checkGlobalReadWrite, SUPERUSER, USER_ADMIN);<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    verifyDenied(checkGlobalReadWrite, USER_OWNER, USER_CREATE, USER_RW, USER_RO, USER_QUAL,<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      USER_NONE);<a name="line.286"></a>
-<span class="sourceLineNo">287</span><a name="line.287"></a>
-<span class="sourceLineNo">288</span>    AccessTestAction checkTableAdmin = new AccessTestAction() {<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      @Override<a name="line.289"></a>
-<span class="sourceLineNo">290</span>      public Void run() throws Exception {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>        checkTablePerms(TEST_UTIL, TEST_TABLE.getTableName(), null, null,<a name="line.291"></a>
-<span class="sourceLineNo">292</span>          Permission.Action.ADMIN);<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        return null;<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>    verifyAllowed(checkTableAdmin, SUPERUSER, USER_ADMIN, USER_OWNER);<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    verifyDenied(checkTableAdmin, USER_CREATE, USER_RW, USER_RO, USER_QUAL, USER_NONE);<a name="line.298"></a>
-<span class="sourceLineNo">299</span><a name="line.299"></a>
-<span class="sourceLineNo">300</span>    AccessTestAction checkTableCreate = new AccessTestAction() {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      @Override<a name="line.301"></a>
-<span class="sourceLineNo">302</span>      public Void run() throws Exception {<a name="line.302"></a>
-<span class="sourceLineNo">303</span>        checkTablePerms(TEST_UTIL, TEST_TABLE.getTableName(), null, null,<a name="line.303"></a>
-<span class="sourceLineNo">304</span>          Permission.Action.CREATE);<a name="line.304"></a>
-<span class="sourceLineNo">305</span>        return null;<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>    verifyAllowed(checkTableCreate, SUPERUSER, USER_ADMIN, USER_OWNER, USER_CREATE);<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    verifyDenied(checkTableCreate, USER_RW, USER_RO, USER_QUAL, USER_NONE);<a name="line.310"></a>
-<span class="sourceLineNo">311</span><a name="line.311"></a>
-<span class="sourceLineNo">312</span>    AccessTestAction checkTableRead = new AccessTestAction() {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      @Override<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      public Void run() throws Exception {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>        checkTablePerms(TEST_UTIL, TEST_TABLE.getTableName(), null, null,<a name="line.315"></a>
-<span class="sourceLineNo">316</span>          Permission.Action.READ);<a name="line.316"></a>
-<span class="sourceLineNo">317</span>        return null;<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      }<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    };<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>    verifyAllowed(checkTableRead, SUPERUSER, USER_ADMIN, USER_OWNER, USER_CREATE);<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    verifyDenied(checkTableRead, USER_RW, USER_RO, USER_QUAL, USER_NONE);<a name="line.322"></a>
-<span class="sourceLineNo">323</span><a name="line.323"></a>
-<span class="sourceLineNo">324</span>    AccessTestAction checkTableReadWrite = new AccessTestAction() {<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      @Override<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      public Void run() throws Exception {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>        checkTablePerms(TEST_UTIL, TEST_TABLE.getTableName(), null, null,<a name="line.327"></a>
-<span class="sourceLineNo">328</span>          Permission.Action.READ, Permission.Action.WRITE);<a name="line.328"></a>
-<span class="sourceLineNo">329</span>        return null;<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      }<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    };<a name="line.331"></a>
-<span class="sourceLineNo">332</span><a name="line.332"></a>
-<span class="sourceLineNo">333</span>    verifyAllowed(checkTableReadWrite, SUPERUSER, USER_ADMIN, USER_OWNER, USER_CREATE);<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    verifyDenied(checkTableReadWrite, USER_RW, USER_RO, USER_QUAL, USER_NONE);<a name="line.334"></a>
-<span class="sourceLineNo">335</span><a name="line.335"></a>
-<span class="sourceLineNo">336</span>    AccessTestAction checkColumnRead = new AccessTestAction() {<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      @Override<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      public Void run() throws Exception {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>        checkTablePerms(TEST_UTIL, TEST_TABLE.getTableName(), TEST_FAMILY, null,<a name="line.339"></a>
-<span class="sourceLineNo">340</span>          Permission.Action.READ);<a name="line.340"></a>
-<span class="sourceLineNo">341</span>        return null;<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>    verifyAllowed(checkColumnRead, SUPERUSER, USER_ADMIN, USER_OWNER, USER_CREATE, USER_RW,<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      USER_RO);<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    verifyDenied(checkColumnRead, USER_QUAL, USER_NONE);<a name="line.347"></a>
-<span class="sourceLineNo">348</span><a name="line.348"></a>
-<span class="sourceLineNo">349</span>    AccessTestAction checkColumnReadWrite = new AccessTestAction() {<a name="line.349"></a>
-<span class="sourceLineNo">350</span>      @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>      public Void run() throws Exception {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>        checkTablePerms(TEST_UTIL, TEST_TABLE.getTableName(), TEST_FAMILY, null,<a name="line.352"></a>
-<span class="sourceLineNo">353</span>          Permission.Action.READ, Permission.Action.WRITE);<a name="line.353"></a>
-<span class="sourceLineNo">354</span>        return null;<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>    verifyAllowed(checkColumnReadWrite, SUPERUSER, USER_ADMIN, USER_OWNER, USER_CREATE,<a name="line.358"></a>
-<span class="sourceLineNo">359</span>      USER_RW);<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    verifyDenied(checkColumnReadWrite, USER_RO, USER_QUAL, USER_NONE);<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>    AccessTestAction checkQualifierRead = new AccessTestAction() {<a name="line.362"></a>
-<span class="sourceLineNo">363</span>      @Override<a name="line.363"></a>
-<span class="sourceLineNo">364</span>      public Void run() throws Exception {<a name="line.364"></a>
-<span class="sourceLineNo">365</span>        checkTablePerms(TEST_UTIL, TEST_TABLE.getTableName(), TEST_FAMILY, TEST_Q1,<a name="line.365"></a>
-<span class="sourceLineNo">366</span>          Permission.Action.READ);<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        return null;<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      }<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    };<a name="line.369"></a>
-<span class="sourceLineNo">370</span><a name="line.370"></a>
-<span class="sourceLineNo">371</span>    verifyAllowed(checkQualifierRead, SUPERUSER, USER_ADMIN, USER_OWNER, USER_CREATE, USER_RW,<a name="line.371"></a>
-<span class="sourceLineNo">372</span>      USER_RO, USER_QUAL);<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    verifyDenied(checkQualifierRead, USER_NONE);<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>    AccessTestAction checkQualifierReadWrite = new AccessTestAction() {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      @Override<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      public Void run() throws Exception {<a name="line.377"></a>
-<span class="sourceLineNo">378</span>        checkTablePerms(TEST_UTIL, TEST_TABLE.getTableName(), TEST_FAMILY, TEST_Q1,<a name="line.378"></a>
-<span class="sourceLineNo">379</span>          Permission.Action.READ, Permission.Action.WRITE);<a name="line.379"></a>
-<span class="sourceLineNo">380</span>        return null;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>      }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    };<a name="line.382"></a>
-<span class="sourceLineNo">383</span><a name="line.383"></a>
-<span class="sourceLineNo">384</span>    verifyAllowed(checkQualifierReadWrite, SUPERUSER, USER_ADMIN, USER_OWNER, USER_CREATE,<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      USER_RW, USER_QUAL);<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    verifyDenied(checkQualifierReadWrite, USER_RO, USER_NONE);<a name="line.386"></a>
-<span class="sourceLineNo">387</span><a name="line.387"></a>
-<span class="sourceLineNo">388</span>    AccessTestAction checkMultiQualifierRead = new AccessTestAction() {<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      @Override<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      public Void run() throws Exception {<a name="line.390"></a>
-<span class="sourceLineNo">391</span>        checkTablePerms(TEST_UTIL, TEST_TABLE.getTableName(), new Permission[] {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>          new TablePermission(TEST_TABLE.getTableName(), TEST_FAMILY, TEST_Q1,<a name="line.392"></a>
-<span class="sourceLineNo">393</span>            Permission.Action.READ),<a name="line.393"></a>
-<span class="sourceLineNo">394</span>          new TablePermission(TEST_TABLE.getTableName(), TEST_FAMILY, TEST_Q2,<a name="line.394"></a>
-<span class="sourceLineNo">395</span>            Permission.Action.READ), });<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>    verifyAllowed(checkMultiQualifierRead, SUPERUSER, USER_ADMIN, USER_OWNER, USER_CREATE,<a name="line.400"></a>
-<span class="sourceLineNo">401</span>      USER_RW, USER_RO);<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    verifyDenied(checkMultiQualifierRead, USER_QUAL, USER_NONE);<a name="line.402"></a>
-<span class="sourceLineNo">403</span><a name="line.403"></a>
-<span class="sourceLineNo">404</span>    AccessTestAction checkMultiQualifierReadWrite = new AccessTestAction() {<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      @Override<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      public Void run() throws Exception {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>        checkTablePerms(TEST_UTIL, TEST_TABLE.getTableName(), new Permission[] {<a name="line.407"></a>
-<span class="sourceLineNo">408</span>            new TablePermission(TEST_TABLE.getTableName(), TEST_FAMILY, TEST_Q1,<a name="line.408"></a>
-<span class="sourceLineNo">409</span>              Permission.Action.READ, Permission.Action.WRITE),<a name="line.409"></a>
-<span class="sourceLineNo">410</span>            new TablePermission(TEST_TABLE.getTableName(), TEST_FAMILY, TEST_Q2,<a name="line.410"></a>
-<span class="sourceLineNo">411</span>              Permission.Action.READ, Permission.Action.WRITE), });<a name="line.411"></a>
-<span class="sourceLineNo">412</span>        return null;<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>    verifyAllowed(checkMultiQualifierReadWrite, SUPERUSER, USER_ADMIN, USER_OWNER, USER_CREATE,<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      USER_RW);<a name="line.417"></a>
-<span class="sourceLineNo">418</span>    verifyDenied(checkMultiQualifierReadWrite, USER_RO, USER_QUAL, USER_NONE);<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>  /** Test grants and revocations with authorization disabled */<a name="line.421"></a>
-<span class="sourceLineNo">422</span>  @Test<a name="line.422"></a>
-<span class="sourceLineNo">423</span>  public void testPassiveGrantRevoke() throws Exception {<a name="line.423"></a>
-<span class="sourceLineNo">424</span><a name="line.424"></a>
-<span class="sourceLineNo">425</span>    // Add a test user<a name="line.425"></a>
-<span class="sourceLineNo">426</span><a name="line.426"></a>
-<span class="sourceLineNo">427</span>    User tblUser = User.createUserForTesting(TEST_UTIL.getConfiguration(), "tbluser",<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      new String[0]);<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span>    // If we check now, the test user won't have permissions<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>    AccessTestAction checkTableRead = new AccessTestAction() {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>      @Override<a name="line.433"></a>
-<span class="sourceLineNo">434</span>      public Void run() throws Exception {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>        checkTablePerms(TEST_UTIL, TEST_TABLE.getTableName(), TEST_FAMILY, null,<a name="line.435"></a>
-<span class="sourceLineNo">436</span>          Permission.Action.READ);<a name="line.436"></a>
-<span class="sourceLineNo">437</span>        return null;<a name="line.437"></a>
-<span class="sourceLineNo">438</span>      }<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    };<a name="line.439"></a>
-<span class="sourceLineNo">440</span><a name="line.440"></a>
-<span class="sourceLineNo">441</span>    verifyDenied(tblUser, checkTableRead);<a name="line.441"></a>
-<span class="sourceLineNo">442</span><a name="line.442"></a>
-<span class="sourceLineNo">443</span>    // An actual read won't be denied<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>    AccessTestAction tableRead = new AccessTestAction() {<a name="line.445"></a>
-<span class="sourceLineNo">446</span>      @Override<a name="line.446"></a>
-<span class="sourceLineNo">447</span>      public Void run() throws Exception {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        try (Connection conn = ConnectionFactory.createConnection(TEST_UTIL.getConfiguration());<a name="line.448"></a>
-<span class="sourceLineNo">449</span>             Table t = conn.getTable(TEST_TABLE.getTableName())) {<a name="line.449"></a>
-<span class="sourceLineNo">450</span>          t.get(new Get(TEST_ROW).addFamily(TEST_FAMILY));<a name="line.450"></a>
-<span class="sourceLineNo">451</span>        }<a name="line.451"></a>
-<span class="sourceLineNo">452</span>        return null;<a name="line.452"></a>
-<span class="sourceLineNo">453</span>      }<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    };<a name="line.454"></a>
-<span class="sourceLineNo">455</span><a name="line.455"></a>
-<span class="sourceLineNo">456</span>    verifyAllowed(tblUser, tableRead);<a name="line.456"></a>
-<span class="sourceLineNo">457</span><a name="line.457"></a>
-<span class="sourceLineNo">458</span>    // Grant read perms to the test user<a name="line.458"></a>
-<span class="sourceLineNo">459</span><a name="line.459"></a>
-<span class="sourceLineNo">460</span>    grantOnTable(TEST_UTIL, tblUser.getShortName(), TEST_TABLE.getTableName(), TEST_FAMILY,<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      null, Permission.Action.READ);<a name="line.461"></a>
-<span class="sourceLineNo">462</span><a name="line.462"></a>
-<span class="sourceLineNo">463</span>    // Now both the permission check and actual op will succeed<a name="line.463"></a>
-<span class="sourceLineNo">464</span><a name="line.464"></a>
-<span class="sourceLineNo">465</span>    verifyAllowed(tblUser, checkTableRead);<a name="line.465"></a>
-<span class="sourceLineNo">466</span>    verifyAllowed(tblUser, tableRead);<a name="line.466"></a>
-<span class="sourceLineNo">467</span><a name="line.467"></a>
-<span class="sourceLineNo">468</span>    // Revoke read perms from the test user<a name="line.468"></a>
-<span class="sourceLineNo">469</span><a name="line.469"></a>
-<span class="sourceLineNo">470</span>    revokeFromTable(TEST_UTIL, tblUser.getShortName(), TEST_TABLE.getTableName(), TEST_FAMILY,<a name="line.470"></a>
-<span class="sourceLineNo">471</span>      null, Permission.Action.READ);<a name="line.471"></a>
-<span class="sourceLineNo">472</span><a name="line.472"></a>
-<span class="sourceLineNo">473</span>    // Now the permission check will indicate revocation but the actual op will still succeed<a name="line.473"></a>
-<span class="sourceLineNo">474</span><a name="line.474"></a>
-<span class="sourceLineNo">475</span>    verifyDenied(tblUser, checkTableRead);<a name="line.475"></a>
-<span class="sourceLineNo">476</span>    verifyAllowed(tblUser, tableRead);<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>  /** Test master observer */<a name="line.479"></a>
-<span class="sourceLineNo">480</span>  @Test<a name="line.480"></a>
-<span class="sourceLineNo">481</span>  public void testPassiveMasterOperations() throws Exception {<a name="line.481"></a>
-<span class="sourceLineNo">482</span><a name="line.482"></a>
-<span class="sourceLineNo">483</span>    // preCreateTable<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    verifyAllowed(new AccessTestAction() {<a name="line.484"></a>
-<span class="sourceLineNo">485</span>      @Override<a name="line.485"></a>
-<span class="sourceLineNo">486</span>      public Object run() throws Exception {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>        HTableDescriptor htd = new HTableDescriptor(TEST_TABLE.getTableName());<a name="line.487"></a>
-<span class="sourceLineNo">488</span>        htd.addFamily(new HColumnDescriptor(TEST_FAMILY));<a name="line.488"></a>
-<span class="sourceLineNo">489</span>        ACCESS_CONTROLLER.preCreateTable(ObserverContext.createAndPrepare(CP_ENV, null), htd,<a name="line.489"></a>
-<span class="sourceLineNo">490</span>          null);<a name="line.490"></a>
-<span class="sourceLineNo">491</span>        return null;<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      }<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, USER_QUAL, USER_NONE);<a name="line.493"></a>
-<span class="sourceLineNo">494</span><a name="line.494"></a>
-<span class="sourceLineNo">495</span>    // preModifyTable<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    verifyAllowed(new AccessTestAction() {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      @Override<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      public Object run() throws Exception {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        HTableDescriptor htd = new HTableDescriptor(TEST_TABLE.getTableName());<a name="line.499"></a>
-<span class="sourceLineNo">500</span>        htd.addFamily(new HColumnDescriptor(TEST_FAMILY));<a name="line.500"></a>
-<span class="sourceLineNo">501</span>        htd.addFamily(new HColumnDescriptor(TEST_FAMILY2));<a name="line.501"></a>
-<span class="sourceLineNo">502</span>        ACCESS_CONTROLLER.preModifyTable(ObserverContext.createAndPrepare(CP_ENV, null),<a name="line.502"></a>
-<span class="sourceLineNo">503</span>          TEST_TABLE.getTableName(), htd);<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>    }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, USER_QUAL, USER_NONE);<a name="line.506"></a>
-<span class="sourceLineNo">507</span><a name="line.507"></a>
-<span class="sourceLineNo">508</span>    // preDeleteTable<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    verifyAllowed(new AccessTestAction() {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      @Override<a name="line.510"></a>
-<span class="sourceLineNo">511</span>      public Object run() throws Exception {<a name="line.511"></a>
-<span class="sourceLineNo">512</span>        ACCESS_CONTROLLER.preDeleteTable(ObserverContext.createAndPrepare(CP_ENV, null),<a name="line.512"></a>
-<span class="sourceLineNo">513</span>          TEST_TABLE.getTableName());<a name="line.513"></a>
-<span class="sourceLineNo">514</span>        return null;<a name="line.514"></a>
-<span class="sourceLineNo">515</span>      }<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, USER_QUAL, USER_NONE);<a name="line.516"></a>
-<span class="sourceLineNo">517</span><a name="line.517"></a>
-<span class="sourceLineNo">518</span>    // preTruncateTable<a name="line.518"></a>
-<span class="sourceLineNo">519</span>    verifyAllowed(new AccessTestAction() {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>      @Override<a name="line.520"></a>
-<span class="sourceLineNo">521</span>      public Object run() throws Exception {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>        ACCESS_CONTROLLER.preTruncateTable(ObserverContext.createAndPrepare(CP_ENV, null),<a name="line.522"></a>
-<span class="sourceLineNo">523</span>          TEST_TABLE.getTableName());<a name="line.523"></a>
-<span class="sourceLineNo">524</span>        return null;<a name="line.524"></a>
-<span class="sourceLineNo">525</span>      }<a name="line.525"></a>
-<span class="sourceLineNo">526</span>    }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, USER_QUAL, USER_NONE);<a name="line.526"></a>
-<span class="sourceLineNo">527</span><a name="line.527"></a>
-<span class="sourceLineNo">528</span>    // preAddColumnFamily<a name="line.528"></a>
-<span class="sourceLineNo">529</span>    verifyAllowed(new AccessTestAction() {<a name="line.529"></a>
-<span class="sourceLineNo">530</span>      @Override<a name="line.530"></a>
-<span class="sourceLineNo">531</span>      public Object run() throws Exception {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>        HColumnDescriptor hcd = new HColumnDescriptor(TEST_FAMILY2);<a name="line.532"></a>
-<span class="sourceLineNo">533</span>        ACCESS_CONTROLLER.preAddColumnFamily(ObserverContext.createAndPrepare(CP_ENV, null),<a name="line.533"></a>
-<span class="sourceLineNo">534</span>          TEST_TABLE.getTableName(), hcd);<a name="line.534"></a>
-<span class="sourceLineNo">535</span>        return null;<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      }<a name="line.536"></a>
-<span class="sourceLineNo">537</span>    }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, USER_QUAL, USER_NONE);<a name="line.537"></a>
-<span class="sourceLineNo">538</span><a name="line.538"></a>
-<span class="sourceLineNo">539</span>    // preModifyColumnFamily<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    verifyAllowed(new AccessTestAction() {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>      @Override<a name="line.541"></a>
-<span class="sourceLineNo">542</span>      public Object run() throws Exception {<a name="line.542"></a>
-<span class="sourceLineNo">543</span>        HColumnDescriptor hcd = new HColumnDescriptor(TEST_FAMILY2);<a name="line.543"></a>
-<span class="sourceLineNo">544</span>        ACCESS_CONTROLLER.preModifyColumnFamily(ObserverContext.createAndPrepare(CP_ENV, null),<a name="line.544"></a>
-<span class="sourceLineNo">545</span>          TEST_TABLE.getTableName(), hcd);<a name="line.545"></a>
-<span class="sourceLineNo">546</span>        return null;<a name="line.546"></a>
-<span class="sourceLineNo">547</span>      }<a name="line.547"></a>
-<span class="sourceLineNo">548</span>    }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, USER_QUAL, USER_NONE);<a name="line.548"></a>
-<span class="sourceLineNo">549</span><a name="line.549"></a>
-<span class="sourceLineNo">550</span>    // preDeleteColumnFamily<a name="line.550"></a>
-<span class="sourceLineNo">551</span>    verifyAllowed(new AccessTestAction() {<a name="line.551"></a>
-<span class="sourceLineNo">552</span>      @Override<a name="line.552"></a>
-<span class="sourceLineNo">553</span>      public Object run() throws Exception {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>        ACCESS_CONTROLLER.preDeleteColumnFamily(ObserverContext.createAndPrepare(CP_ENV, null),<a name="line.554"></a>
-<span class="sourceLineNo">555</span>          TEST_TABLE.getTableName(), TEST_FAMILY2);<a name="line.555"></a>
-<span class="sourceLineNo">556</span>        return null;<a name="line.556"></a>
-<span class="sourceLineNo">557</span>      }<a name="line.557"></a>
-<span class="sourceLineNo">558</span>    }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, USER_QUAL, USER_NONE);<a name="line.558"></a>
-<span class="sourceLineNo">559</span><a name="line.559"></a>
-<span class="sourceLineNo">560</span>    // preEnableTable<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    verifyAllowed(new AccessTestAction() {<a name="line.561"></a>
-<span class="sourceLineNo">562</span>      @Override<a name="line.562"></a>
-<span class="sourceLineNo">563</span>      public Object run() throws Exception {<a name="line.563"></a>
-<span class="sourceLineNo">564</span>        ACCESS_CONTROLLER.preEnableTable(ObserverContext.createAndPrepare(CP_ENV, null),<a name="line.564"></a>
-<span class="sourceLineNo">565</span>          TEST_TABLE.getTableName());<a name="line.565"></a>
-<span class="sourceLineNo">566</span>        return null;<a name="line.566"></a>
-<span class="sourceLineNo">567</span>      }<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, USER_QUAL, USER_NONE);<a name="line.568"></a>
-<span class="sourceLineNo">569</span><a name="line.569"></a>
-<span class="sourceLineNo">570</span>    // preDisableTable<a name="line.570"></a>
-<span class="sourceLineNo">571</span>    verifyAllowed(new AccessTestAction() {<a name="line.571"></a>
-<span class="sourceLineNo">572</span>      @Override<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      public Object run() throws Exception {<a name="line.573"></a>
-<span class="sourceLineNo">574</span>        ACCESS_CONTROLLER.preDisableTable(ObserverContext.createAndPrepare(CP_ENV, null),<a name="line.574"></a>
-<span class="sourceLineNo">575</span>          TEST_TABLE.getTableName());<a name="line.575"></a>
-<span class="sourceLineNo">576</span>        return null;<a name="line.576"></a>
-<span class="sourceLineNo">577</span>      }<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, USER_QUAL, USER_NONE);<a name="line.578"></a>
-<span class="sourceLineNo">579</span><a name="line.579"></a>
-<span class="sourceLineNo">580</span>    // preMove<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    verifyAllowed(new AccessTestAction() {<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      @Override<a name="line.582"></a>
-<span class="sourceLineNo">583</span>      public Object run() throws Exception {<a name="line.583"></a>
-<span class="sourceLineNo">584</span>        HRegionInfo region = new HRegionInfo(TEST_TABLE.getTableName());<a name="line.584"></a>
-<span class="sourceLineNo">585</span>        ServerName srcServer = ServerName.valueOf("1.1.1.1", 1, 0);<a name="line.585"></a>
-<span class="sourceLineNo">586</span>        ServerName destServer = ServerName.valueOf("2.2.2.2", 2, 0);<a name="line.586"></a>
-<span class="sourceLineNo">587</span>        ACCESS_CONTROLLER.preMove(ObserverContext.createAndPrepare(CP_ENV, null), region,<a name="line.587"></a>
-<span class="sourceLineNo">588</span>          srcServer, destServer);<a name="line.588"></a>
-<span class="sourceLineNo">589</span>        return null;<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      }<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, USER_QUAL, USER_NONE);<a name="line.591"></a>
-<span class="sourceLineNo">592</span><a name="line.592"></a>
-<span class="sourceLineNo">593</span>    // preAssign<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    verifyAllowed(new AccessTestAction() {<a name="line.594"></a>
-<span class="sourceLineNo">595</span>      @Override<a name="line.595"></a>
-<span class="sourceLineNo">596</span>      public Object run() throws Exception {<a name="line.596"></a>
-<span class="sourceLineNo">597</span>        HRegionInfo region = new HRegionInfo(TEST_TABLE.getTableName());<a name="line.597"></a>
-<span class="sourceLineNo">598</span>        ACCESS_CONTROLLER.preAssign(ObserverContext.createAndPrepare(CP_ENV, null), region);<a name="line.598"></a>
-<span class="sourceLineNo">599</span>        return null;<a name="line.599"></a>
-<span class="sourceLineNo">600</span>      }<a name="line.600"></a>
-<span class="sourceLineNo">601</span>    }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, USER_QUAL, USER_NONE);<a name="line.601"></a>
-<span class="sourceLineNo">602</span><a name="line.602"></a>
-<span class="sourceLineNo">603</span>    // preUnassign<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    verifyAllowed(new AccessTestAction() {<a name="line.604"></a>
-<span class="sourceLineNo">605</span>      @Override<a name="line.605"></a>
-<span class="sourceLineNo">606</span>      public Object run() throws Exception {<a name="line.606"></a>
-<span class="sourceLineNo">607</span>        HRegionInfo region = new HRegionInfo(TEST_TABLE.getTableName());<a name="line.607"></a>
-<span class="sourceLineNo">608</span>        ACCESS_CONTROLLER.preUnassign(ObserverContext.createAndPrepare(CP_ENV, null), region,<a name="line.608"></a>
-<span class="sourceLineNo">609</span>          true);<a name="line.609"></a>
-<span class="sourceLineNo">610</span>        return null;<a name="line.610"></a>
-<span class="sourceLineNo">611</span>      }<a name="line.611"></a>
-<span class="sourceLineNo">612</span>    }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, USER_QUAL, USER_NONE);<a name="line.612"></a>
-<span class="sourceLineNo">613</span><a name="line.613"></a>
-<span class="sourceLineNo">614</span>    // preBalance<a name="line.614"></a>
-<span class="sourceLineNo">615</span>    verifyAllowed(new AccessTestAction() {<a name="line.615"></a>
-<span class="sourceLineNo">616</span>      @Override<a name="line.616"></a>
-<span class="sourceLineNo">617</span>      public Object run() throws Exception {<a name="line.617"></a>
-<span class="sourceLineNo">618</span>        ACCESS_CONTROLLER.preBalance(ObserverContext.createAndPrepare(CP_ENV, null));<a name="line.618"></a>
-<span class="sourceLineNo">619</span>        return null;<a name="line.619"></a>
-<span class="sourceLineNo">620</span>      }<a name="line.620"></a>
-<span class="sourceLineNo">621</span>    }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, USER_QUAL, USER_NONE);<a name="line.621"></a>
-<span class="sourceLineNo">622</span><a name="line.622"></a>
-<span class="sourceLineNo">623</span>    // preBalanceSwitch<a name="line.623"></a>
-<span class="sourceLineNo">624</span>    verifyAllowed(new AccessTestAction() {<a name="line.624"></a>
-<span class="sourceLineNo">625</span>      @Override<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      public Object run() throws Exception {<a name="line.626"></a>
-<span class="sourceLineNo">627</span>        ACCESS_CONTROLLER.preBalanceSwitch(ObserverContext.createAndPrepare(CP_ENV, null),<a name="line.627"></a>
-<span class="sourceLineNo">628</span>          true);<a name="line.628"></a>
-<span class="sourceLineNo">629</span>        return null;<a name="line.629"></a>
-<span class="sourceLineNo">630</span>      }<a name="line.630"></a>
-<span class="sourceLineNo">631</span>    }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, USER_QUAL, USER_NONE);<a name="line.631"></a>
-<span class="sourceLineNo">632</span><a name="line.632"></a>
-<span class="sourceLineNo">633</span>    // preSnapshot<a name="line.633"></a>
-<span class="sourceLineNo">634</span>    verifyAllowed(new AccessTestAction() {<a name="line.634"></a>
-<span class="sourceLineNo">635</span>      @Override<a name="line.635"></a>
-<span class="sourceLineNo">636</span>      public Object run() throws Exception {<a name="line.636"></a>
-<span class="sourceLineNo">637</span>        SnapshotDescription snapshot = SnapshotDescription.newBuilder()<a name="line.637"></a>
-<span class="sourceLineNo">638</span>          .setName("foo")<a name="line.638"></a>
-<span class="sourceLineNo">639</span>          .build();<a name="line.639"></a>
-<span class="sourceLineNo">640</span>        HTableDescriptor htd = new HTableDescriptor(TEST_TABLE.getTableName());<a name="line.640"></a>
-<span class="sourceLineNo">641</span>        ACCESS_CONTROLLER.preSnapshot(ObserverContext.createAndPrepare(CP_ENV, null),<a name="line.641"></a>
-<span class="sourceLineNo">642</span>          snapshot, htd);<a name="line.642"></a>
-<span class="sourceLineNo">643</span>        return null;<a name="line.643"></a>
-<span class="sourceLineNo">644</span>      }<a name="line.644"></a>
-<span class="sourceLineNo">645</span>    }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, USER_QUAL, USER_NONE);<a name="line.645"></a>
-<span class="sourceLineNo">646</span><a name="line.646"></a>
-<span class="sourceLineNo">647</span>    // preListSnapshot<a name="line.647"></a>
-<span class="sourceLineNo">648</span>    verifyAllowed(new AccessTestAction() {<a name="line.648"></a>
-<span class="sourceLineNo">649</span>      @Override<a name="line.649"></a>
-<span class="sourceLineNo">650</span>      public Object run() throws Exception {<a name="line.650"></a>
-<span class="sourceLineNo">651</span>        SnapshotDescription snapshot = SnapshotDescription.newBuilder()<a name="line.651"></a>
-<span class="sourceLineNo">652</span>          .setName("foo")<a name="line.652"></a>
-<span class="sourceLineNo">653</span>          .build();<a name="line.653"></a>
-<span class="sourceLineNo">654</span>        ACCESS_CONTROLLER.preListSnapshot(ObserverContext.createAndPrepare(CP_ENV, null),<a name="line.654"></a>
-<span class="sourceLineNo">655</span>          snapshot);<a name="line.655"></a>
-<span class="sourceLineNo">656</span>        return null;<a name="line.656"></a>
-<span class="sourceLineNo">657</span>      }<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, USER_QUAL, USER_NONE);<a name="line.658"></a>
-<span class="sourceLineNo">659</span><a name="line.659"></a>
-<span class="sourceLineNo">660</span>    // preCloneSnapshot<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    verifyAllowed(new AccessTestAction() {<a name="line.661"></a>
-<span class="sourceLineNo">662</span>      @Override<a name="line.662"></a>
-<span class="sourceLineNo">663</span>      public Object run() throws Exception {<a name="line.663"></a>
-<span class="sourceLineNo">664</span>        SnapshotDescription snapshot = SnapshotDescription.newBuilder()<a name="line.664"></a>
-<span class="sourceLineNo">665</span>          .setName("foo")<a name="line.665"></a>
-<span class="sourceLineNo">666</span>          .build();<a name="line.666"></a>
-<span class="sourceLineNo">667</span>        HTableDescriptor htd = new HTableDescriptor(TEST_TABLE.getTableName());<a name="line.667"></a>
-<span class="sourceLineNo">668</span>        ACCESS_CONTROLLER.preCloneSnapshot(ObserverContext.createAndPrepare(CP_ENV, null),<a name="line.668"></a>
-<span class="sourceLineNo">669</span>          snapshot, htd);<a name="line.669"></a>
-<span class="sourceLineNo">670</span>        return null;<a name="line.670"></a>
-<span class="sourceLineNo">671</span>      }<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, USER_QUAL, USER_NONE);<a name="line.672"></a>
-<span class="sourceLineNo">673</span><a name="line.673"></a>
-<span class="sourceLineNo">674</span>    // preRestoreSnapshot<a name="line.674"></a>
-<span class="sourceLineNo">675</span>    verifyAllowed(new AccessTestAction() {<a name="line.675"></a>
-<span class="sourceLineNo">676</span>      @Override<a name="line.676"></a>
-<span class="sourceLineNo">677</span>      public Object run() throws Exception {<a name="line.677"></a>
-<span class="sourceLineNo">678</span>        SnapshotDescription snapshot = SnapshotDescription.newBuilder()<a name="line.678"></a>
-<span class="sourceLineNo">679</span>          .setName("foo")<a name="line.679"></a>
-<span class="sourceLineNo">680</span>          .build();<a name="line.680"></a>
-<span class="sourceLineNo">681</span>        HTableDescriptor htd = new HTableDescriptor(TEST_TABLE.getTableName());<a name="line.681"></a>
-<span class="sourceLineNo">682</span>        ACCESS_CONTROLLER.preRestoreSnapshot(ObserverContext.createAndPrepare(CP_ENV, null),<a name="line.682"></a>
-<span class="sourceLineNo">683</span>          snapshot, htd);<a name="line.683"></a>
-<span class="sourceLineNo">684</span>        return null;<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      }<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, USER_QUAL, USER_NONE);<a name="line.686"></a>
-<span class="sourceLineNo">687</span><a name="line.687"></a>
-<span class="sourceLineNo">688</span>    // preDeleteSnapshot<a name="line.688"></a>
-<span class="sourceLineNo">689</span>    verifyAllowed(new AccessTestAction() {<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      @Override<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      public Object run() throws Exception {<a name="line.691"></a>
-<span class="sourceLineNo">692</span>        SnapshotDescription snapshot = SnapshotDescription.newBuilder()<a name="line.692"></a>
-<span class="sourceLineNo">693</span>          .setName("foo")<a name="line.693"></a>
-<span class="sourceLineNo">694</span>          .build();<a name="line.694"></a>
-<span class="sourceLineNo">695</span>        ACCESS_CONTROLLER.preDeleteSnapshot(ObserverContext.createAndPrepare(CP_ENV, null),<a name="line.695"></a>
-<span class="sourceLineNo">696</span>          snapshot);<a name="line.696"></a>
-<span class="sourceLineNo">697</span>        return null;<a name="line.697"></a>
-<span class="sourceLineNo">698</span>      }<a name="line.698"></a>
-<span class="sourceLineNo">699</span>    }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, USER_QUAL, USER_NONE);<a name="line.699"></a>
-<span class="sourceLineNo">700</span><a name="line.700"></a>
-<span class="sourceLineNo">701</span>    // preGetTableDescriptors<a name="line.701"></a>
-<span class="sourceLineNo">702</span>    verifyAllowed(new AccessTestAction() {<a name="line.702"></a>
-<span class="sourceLineNo">703</span>      @Override<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      public Object run() throws Exception {<a name="line.704"></a>
-<span class="sourceLineNo">705</span>        List&lt;TableName&gt; tableNamesList = Lists.newArrayList();<a name="line.705"></a>
-<span class="sourceLineNo">706</span>        tableNamesList.add(TEST_TABLE.getTableName());<a name="line.706"></a>
-<span class="sourceLineNo">707</span>        List&lt;TableDescriptor&gt; descriptors = Lists.newArrayList();<a name="line.707"></a>
-<span class="sourceLineNo">708</span>        ACCESS_CONTROLLER.preGetTableDescriptors(ObserverContext.createAndPrepare(CP_ENV, null),<a name="line.708"></a>
-<span class="sourceLineNo">709</span>          tableNamesList, descriptors, ".+");<a name="line.709"></a>
-<span class="sourceLineNo">710</span>        return null;<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      }<a name="line.711"></a>
-<span class="sourceLineNo">712</span>    }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, USER_QUAL, USER_NONE);<a name="line.712"></a>
-<span class="sourceLineNo">713</span><a name="line.713"></a>
-<span class="sourceLineNo">714</span>    // preGetTableNames<a name="line.714"></a>
-<span class="sourceLineNo">715</span>    verifyAllowed(new AccessTestAction() {<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      @Override<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      public Object run() throws Exception {<a name="line.717"></a>
-<span class="sourceLineNo">718</span>        List&lt;TableDescriptor&gt; descriptors = Lists.newArrayList();<a name="line.718"></a>
-<span class="sourceLineNo">719</span>        ACCESS_CONTROLLER.preGetTableNames(ObserverContext.createAndPrepare(CP_ENV, null),<a name="line.719"></a>
-<span class="sourceLineNo">720</span>          descriptors, ".+");<a name="line.720"></a>
-<span class="sourceLineNo">721</span>        return null;<a name="line.721"></a>
-<span class="sourceLineNo">722</span>      }<a name="line.722"></a>
-<span class="sourceLineNo">723</span>    }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, USER_QUAL, USER_NONE);<a name="line.723"></a>
-<span class="sourceLineNo">724</span><a name="line.724"></a>
-<span class="sourceLineNo">725</span>    // preCreateNamespace<a name="line.725"></a>
-<span class="sourceLineNo">726</span>    verifyAllowed(new AccessTestAction() {<a name="line.726"></a>
-<span class="sourceLineNo">727</span>      @Override<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      public Object run() throws Exception {<a name="line.728"></a>
-<span class="sourceLineNo">729</span>        NamespaceDescriptor ns = NamespaceDescriptor.create("test").build();<a name="line.729"></a>
-<span class="sourceLineNo">730</span>        ACCESS_CONTROLLER.preCreateNamespace(ObserverContext.createAndPrepare(CP_ENV, null),<a name="line.730"></a>
-<span class="sourceLineNo">731</span>          ns);<a name="line.731"></a>
-<span class="sourceLineNo">732</span>        return null;<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      }<a name="line.733"></a>
-<span class="sourceLineNo">734</span>    }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, USER_QUAL, USER_NONE);<a name="line.734"></a>
-<span class="sourceLineNo">735</span><a name="line.735"></a>
-<span class="sourceLineNo">736</span>    // preDeleteNamespace<a name="line.736"></a>
-<span class="sourceLineNo">737</span>    verifyAllowed(new AccessTestAction() {<a name="line.737"></a>
-<span class="sourceLineNo">738</span>      @Override<a name="line.738"></a>
-<span class="sourceLineNo">739</span>      public Object run() throws Exception {<a name="line.739"></a>
-<span class="sourceLineNo">740</span>        ACCESS_CONTROLLER.preDeleteNamespace(ObserverContext.createAndPrepare(CP_ENV, null),<a name="line.740"></a>
-<span class="sourceLineNo">741</span>          "test");<a name="line.741"></a>
-<span class="sourceLineNo">742</span>        return null;<a name="line.742"></a>
-<span class="sourceLineNo">743</span>      }<a name="line.743"></a>
-<span class="sourceLineNo">744</span>    }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, USER_QUAL, USER_NONE);<a name="line.744"></a>
-<span class="sourceLineNo">745</span><a name="line.745"></a>
-<span class="sourceLineNo">746</span>    // preModifyNamespace<a name="line.746"></a>
-<span class="sourceLineNo">747</span>    verifyAllowed(new AccessTestAction() {<a name="line.747"></a>
-<span class="sourceLineNo">748</span>      @Override<a name="line.748"></a>
-<span class="sourceLineNo">749</span>      public Object run() throws Exception {<a name="line.749"></a>
-<span class="sourceLineNo">750</span>        NamespaceDescriptor ns = NamespaceDescriptor.create("test").build();<a name="line.750"></a>
-<span class="sourceLineNo">751</span>        ACCESS_CONTROLLER.preModifyNamespace(ObserverContext.createAndPrepare(CP_ENV, null),<a name="line.751"></a>
-<span class="sourceLineNo">752</span>          ns);<a name="line.752"></a>
-<span class="sourceLineNo">753</span>        return null;<a name="line.753"></a>
-<span class="sourceLineNo">754</span>      }<a name="line.754"></a>
-<span class="sourceLineNo">755</span>    }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, USER_QUAL, USER_NONE);<a name="line.755"></a>
-<span class="sourceLineNo">756</span><a name="line.756"></a>
-<span class="sourceLineNo">757</span>    // preGetNamespaceDescriptor<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    verifyAllowed(new AccessTestAction() {<a name="line.758"></a>
-<span class="sourceLineNo">759</span>      @Override<a name="line.759"></a>
-<span class="sourceLineNo">760</span>      public Object run() throws Exception {<a name="line.760"></a>
-<span class="sourceLineNo">761</span>        ACCESS_CONTROLLER.preGetNamespaceDescriptor(ObserverContext.createAndPrepare(CP_ENV,<a name="line.761"></a>
-<span class="sourceLineNo">762</span>            null),<a name="line.762"></a>
-<span class="sourceLineNo">763</span>          "test");<a name="line.763"></a>
-<span class="sourceLineNo">764</span>        return null;<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      }<a name="line.765"></a>
-<span class="sourceLineNo">766</span>    }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, USER_QUAL, USER_NONE);<a name="line.766"></a>
-<span class="sourceLineNo">767</span><a name="line.767"></a>
-<span class="sourceLineNo">768</span>    // preListNamespaceDescriptors<a name="line.768"></a>
-<span class="sourceLineNo">769</span>    verifyAllowed(new AccessTestAction() {<a name="line.769"></a>
-<span class="sourceLineNo">770</span>      @Override<a name="line.770"></a>
-<span class="sourceLineNo">771</span>      public Object run() throws Exception {<a name="line.771"></a>
-<span class="sourceLineNo">772</span>        List&lt;NamespaceDescriptor&gt; descriptors = Lists.newArrayList();<a name="line.772"></a>
-<span class="sourceLineNo">773</span>        ACCESS_CONTROLLER.preListNamespaceDescriptors(ObserverContext.createAndPrepare(CP_ENV,<a name="line.773"></a>
-<span class="sourceLineNo">774</span>            null),<a name="line.774"></a>
-<span class="sourceLineNo">775</span>          descriptors);<a name="line.775"></a>
-<span class="sourceLineNo">776</span>        return null;<a name="line.776"></a>
-<span class="sourceLineNo">777</span>      }<a name="line.777"></a>
-<span class="sourceLineNo">778</span>    }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, USER_QUAL, USER_NONE);<a name="line.778"></a>
-<span class="sourceLineNo">779</span><a name="line.779"></a>
-<span class="sourceLineNo">780</span>    // preSplit<a name="line.780"></a>
-<span class="sourceLineNo">781</span>    verifyAllowed(new AccessTestAction() {<a name="line.781"></a>
-<span class="sourceLineNo">782</span>      @Override<a name="line.782"></a>
-<span class="sourceLineNo">783</span>      public Object run() throws Exception {<a name="line.783"></a>
-<span class="sourceLineNo">784</span>        ACCESS_CONTROLLER.preSplitRegion(<a name="line.784"></a>
-<span class="sourceLineNo">785</span>          ObserverContext.createAndPrepare(CP_ENV, null),<a name="line.785"></a>
-<span class="sourceLineNo">786</span>          TEST_TABLE.getTableName(),<a name="line.786"></a>
-<span class="sourceLineNo">787</span>          Bytes.toBytes("ss"));<a name="line.787"></a>
-<span class="sourceLineNo">788</span>        return null;<a name="line.788"></a>
-<span class="sourceLineNo">789</span>      }<a name="line.789"></a>
-<span class="sourceLineNo">790</span>    }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, USER_QUAL, USER_NONE);<a name="line.790"></a>
-<span class="sourceLineNo">791</span><a name="line.791"></a>
-<span class="sourceLineNo">792</span>    // preSetUserQuota<a name="line.792"></a>
-<span class="sourceLineNo">793</span>    verifyAllowed(new AccessTestAction() {<a name="line.793"></a>
-<span class="sourceLineNo">794</span>      @Override<a name="line.794"></a>
-<span class="sourceLineNo">795</span>      public Object run() throws Exception {<a name="line.795"></a>
-<span class="sourceLineNo">796</span>        Quotas quotas = Quotas.newBuilder().build();<a name="line.796"></a>
-<span class="sourceLineNo">797</span>        ACCESS_CONTROLLER.preSetUserQuota(ObserverContext.createAndPrepare(CP_ENV, null),<a name="line.797"></a>
-<span class="sourceLineNo">798</span>          "testuser", quotas);<a name="line.798"></a>
-<span class="sourceLineNo">799</span>        return null;<a name="line.799"></a>
-<span class="sourceLineNo">800</span>      }<a name="line.800"></a>
-<span class="sourceLineNo">801</span>    }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, USER_QUAL, USER_NONE);<a name="line.801"></a>
-<span class="sourceLineNo">802</span><a name="line.802"></a>
-<span class="sourceLineNo">803</span>    // preSetTableQuota<a name="line.803"></a>
-<span class="sourceLineNo">804</span>    verifyAllowed(new AccessTestAction() {<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      @Override<a name="line.805"></a>
-<span class="sourceLineNo">806</span>      public Object run() throws Exception {<a name="line.806"></a>
-<span class="sourceLineNo">807</span>        Quotas quotas = Quotas.newBuilder().build();<a name="line.807"></a>
-<span class="sourceLineNo">808</span>        ACCESS_CONTROLLER.preSetTableQuota(ObserverContext.createAndPrepare(CP_ENV, null),<a name="line.808"></a>
-<span class="sourceLineNo">809</span>          TEST_TABLE.getTableName(), quotas);<a name="line.809"></a>
-<span class="sourceLineNo">810</span>        return null;<a name="line.810"></a>
-<span class="sourceLineNo">811</span>      }<a name="line.811"></a>
-<span class="sourceLineNo">812</span>    }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, USER_QUAL, USER_NONE);<a name="line.812"></a>
-<span class="sourceLineNo">813</span><a name="line.813"></a>
-<span class="sourceLineNo">814</span>    // preSetNamespaceQuota<a name="line.814"></a>
-<span class="sourceLineNo">815</span>    verifyAllowed(new AccessTestAction() {<a name="line.815"></a>
-<span class="sourceLineNo">816</span>      @Override<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      public Object run() throws Exception {<a name="line.817"></a>
-<span class="sourceLineNo">818</span>        Quotas quotas = Quotas.newBuilder().build();<a name="line.818"></a>
-<span class="sourceLineNo">819</span>        ACCESS_CONTROLLER.preSetNamespaceQuota(ObserverContext.createAndPrepare(CP_ENV, null),<a name="line.819"></a>
-<span class="sourceLineNo">820</span>          "test", quotas);<a name="line.820"></a>
-<span class="sourceLineNo">821</span>        return null;<a name="line.821"></a>
-<span class="sourceLineNo">822</span>      }<a name="line.822"></a>
-<span class="sourceLineNo">823</span>    }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, USER_QUAL, USER_NONE);<a name="line.823"></a>
-<span class="sourceLineNo">824</span><a name="line.824"></a>
-<span class="sourceLineNo">825</span>  }<a name="line.825"></a>
-<span class="sourceLineNo">826</span><a name="line.826"></a>
-<span class="sourceLineNo">827</span>  /** Test region server observer */<a name="line.827"></a>
-<span class="sourceLineNo">828</span>  @Test<a name="line.828"></a>
-<span class="sourceLineNo">829</span>  public void testPassiveRegionServerOperations() throws Exception {<a name="line.829"></a>
-<span class="sourceLineNo">830</span>    // preStopRegionServer<a name="line.830"></a>
-<span class="sourceLineNo">831</span>    verifyAllowed(new AccessTestAction() {<a name="line.831"></a>
-<span class="sourceLineNo">832</span>      @Override<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      public Object run() throws Exception {<a name="line.833"></a>
-<span class="sourceLineNo">834</span>        ACCESS_CONTROLLER.preStopRegionServer(ObserverContext.createAndPrepare(RSCP_ENV, null));<a name="line.834"></a>
-<span class="sourceLineNo">835</span>        return null;<a name="line.835"></a>
-<span class="sourceLineNo">836</span>      }<a name="line.836"></a>
-<span class="sourceLineNo">837</span>    }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, USER_QUAL, USER_NONE);<a name="line.837"></a>
-<span class="sourceLineNo">838</span><a name="line.838"></a>
-<span class="sourceLineNo">839</span>    // preRollWALWriterRequest<a name="line.839"></a>
-<span class="sourceLineNo">840</span>    verifyAllowed(new AccessTestAction() {<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      @Override<a name="line.841"></a>
-<span class="sourceLineNo">842</span>      public Object run() throws Exception {<a name="line.842"></a>
-<span class="sourceLineNo">843</span>        ACCESS_CONTROLLER.preRollWALWriterRequest(ObserverContext.createAndPrepare(RSCP_ENV,<a name="line.843"></a>
-<span class="sourceLineNo">844</span>          null));<a name="line.844"></a>
-<span class="sourceLineNo">845</span>        return null;<a name="line.845"></a>
-<span class="sourceLineNo">846</span>      }<a name="line.846"></a>
-<span class="sourceLineNo">847</span>    }, SUPERUSER, USER_ADMIN, USER_RW, USER_RO, USER_OWNER, USER_CREATE, USER_QUAL, USER_NONE);<a name="line.847"></a>
-<span class="sourceLineNo">848</span><a name="line.848"></a>
-<span class="sourceLineNo">849</span>  }<a name="line.849"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.regionserver.Region;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.regionserver.RegionScanner;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.regionserver.RegionServerCoprocessorHost;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.wal.WALEdit;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.security.User;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.security.access.Permission.Action;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.testclassification.LargeTests;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.testclassification.SecurityTests;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.TestTableName;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.log4j.Level;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.log4j.Logger;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.junit.After;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.junit.AfterClass;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.junit.Before;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.junit.BeforeClass;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.junit.Rule;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.junit.Test;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.junit.experimental.categories.Category;<a name="line.82"></a>
+<span class="sourceLineNo">083</span><a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.com.google.common.collect.Lists;<a name="line.84"></a>
+<span class="sourceLineNo">085</span><a name="line.85"></a>
+<span class="sourceLineNo">086</span>@Category({SecurityTests.class, LargeTests.class})<a name="line.86"></a>
+<span class="sourceLineNo">087</span>public class TestWithDisabledAuthorization extends SecureTestUtil {<a name="line.87"></a>
+<span class="sourceLineNo">088</span>  private static final Log LOG = LogFactory.getLog(TestWithDisabledAuthorization.class);<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>    Logger.getLogger(AccessController.class).setLevel(Level.TRACE);<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    Logger.getLogger(AccessControlFilter.class).setLevel(Level.TRACE);<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    Logger.getLogger(TableAuthManager.class).setLevel(Level.TRACE);<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>  private static final HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();<a name="line.96"></a>
+<span class="sourceLineNo">097</span><a name="line.97"></a>
+<span class="sourceLineNo">098</span>  private static final byte[] TEST_FAMILY = Bytes.toBytes("f1");<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  private static final byte[] TEST_FAMILY2 = Bytes.toBytes("f2");<a name="line.99"></a>
+<span class="sourceLineNo">100</span>  private static final byte[] TEST_ROW = Bytes.toBytes("testrow");<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  private static final byte[] TEST_Q1 = Bytes.toBytes("q1");<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  private static final byte[] TEST_Q2 = Bytes.toBytes("q2");<a name="line.102"></a>
+<span class="sourceLineNo">103</span>  private static final byte[] TEST_Q3 = Bytes.toBytes("q3");<a name="line.103"></a>
+<span class="sourceLineNo">104</span>  private static final byte[] TEST_Q4 = Bytes.toBytes("q4");<a name="line.104"></a>
+<span class="sourceLineNo">105</span>  private static final byte[] ZERO = Bytes.toBytes(0L);<a name="line.105"></a>
+<span class="sourceLineNo">106</span><a name="line.106"></a>
+<span class="sourceLineNo">107</span>  private static MasterCoprocessorEnvironment CP_ENV;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  private static AccessController ACCESS_CONTROLLER;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  private static RegionServerCoprocessorEnvironment RSCP_ENV;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>  private RegionCoprocessorEnvironment RCP_ENV;<a name="line.110"></a>
+<span class="sourceLineNo">111</span><a name="line.111"></a>
+<span class="sourceLineNo">112</span>  @Rule public TestTableName TEST_TABLE = new TestTableName();<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>  // default users<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  <a name="line.115"></a>
+<span class="sourceLineNo">116</span>  // superuser<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  private static User SUPERUSER;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>  // user granted with all global permission<a name="line.118"></a>
+<span class="sourceLineNo">119</span>  private static User USER_ADMIN;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  // user with rw permissions on column family.<a name="line.120"></a>
+<span class="sourceLineNo">121</span>  private static User USER_RW;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>  // user with read-only permissions<a name="line.122"></a>
+<span class="sourceLineNo">123</span>  private static User USER_RO;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>  // user is table owner. will have all permissions on table<a name="line.124"></a>
+<span class="sourceLineNo">125</span>  private static User USER_OWNER;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>  // user with create table permissions alone<a name="line.126"></a>
+<span class="sourceLineNo">127</span>  private static User USER_CREATE;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>  // user with no permissions<a name="line.128"></a>
+<span class="sourceLineNo">129</span>  private static User USER_NONE;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  // user with only partial read-write perms (on family:q1 only)<a name="line.130"></a>
+<span class="sourceLineNo">131</span>  private static User USER_QUAL;<a name="line.131"></a>
+<span class="sourceLineNo">132</span><a name="line.132"></a>
+<span class="sourceLineNo">133</span>  @BeforeClass<a name="line.133"></a>
+<span class="sourceLineNo">134</span>  public static void setupBeforeClass() throws Exception {<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    Configuration conf = TEST_UTIL.getConfiguration();<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    // Up the handlers; this test needs more than usual.<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    TEST_UTIL.getConfiguration().setInt(HConstants.REGION_SERVER_HIGH_PRIORITY_HANDLER_COUNT, 10);<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    // Enable security<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    enableSecurity(conf);<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    // We expect 0.98 cell ACL semantics<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    conf.setBoolean(AccessControlConstants.CF_ATTRIBUTE_EARLY_OUT, false);<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    // Enable EXEC permission checking<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    conf.setBoolean(AccessControlConstants.EXEC_PERMISSION_CHECKS_KEY, true);<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    // Verify enableSecurity sets up what we require<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    verifyConfiguration(conf);<a name="line.145"></a>
+<span class="sourceLineNo">146</span><a name="line.146"></a>
+<span class="sourceLineNo">147</span>    // Now, DISABLE only active authorization<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    conf.setBoolean(User.HBASE_SECURITY_AUTHORIZATION_CONF_KEY, false);<a name="line.148"></a>
+<span class="sourceLineNo">149</span><a name="line.149"></a>
+<span class="sourceLineNo">150</span>    // Start the minicluster<a name="line.150"></a>
+<span class="

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html
index bc0c3a0..fe00c09 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html
@@ -68,12 +68,12 @@
 <span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.procedure2.Procedure;<a name="line.60"></a>
 <span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.61"></a>
 <span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.regionserver.HRegionServer;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.68"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.quotas.GlobalQuotaSettings;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.regionserver.HRegionServer;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.68"></a>
 <span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription;<a name="line.69"></a>
 <span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.testclassification.CoprocessorTests;<a name="line.70"></a>
 <span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.testclassification.MediumTests;<a name="line.71"></a>
@@ -1267,801 +1267,805 @@
 <span class="sourceLineNo">1259</span><a name="line.1259"></a>
 <span class="sourceLineNo">1260</span>    @Override<a name="line.1260"></a>
 <span class="sourceLineNo">1261</span>    public void preSetUserQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span>        final String userName, final Quotas quotas) throws IOException {<a name="line.1262"></a>
+<span class="sourceLineNo">1262</span>        final String userName, final GlobalQuotaSettings quotas) throws IOException {<a name="line.1262"></a>
 <span class="sourceLineNo">1263</span>    }<a name="line.1263"></a>
 <span class="sourceLineNo">1264</span><a name="line.1264"></a>
 <span class="sourceLineNo">1265</span>    @Override<a name="line.1265"></a>
 <span class="sourceLineNo">1266</span>    public void postSetUserQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1266"></a>
-<span class="sourceLineNo">1267</span>        final String userName, final Quotas quotas) throws IOException {<a name="line.1267"></a>
+<span class="sourceLineNo">1267</span>        final String userName, final GlobalQuotaSettings quotas) throws IOException {<a name="line.1267"></a>
 <span class="sourceLineNo">1268</span>    }<a name="line.1268"></a>
 <span class="sourceLineNo">1269</span><a name="line.1269"></a>
 <span class="sourceLineNo">1270</span>    @Override<a name="line.1270"></a>
 <span class="sourceLineNo">1271</span>    public void preSetUserQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1271"></a>
-<span class="sourceLineNo">1272</span>        final String userName, final TableName tableName, final Quotas quotas) throws IOException {<a name="line.1272"></a>
-<span class="sourceLineNo">1273</span>    }<a name="line.1273"></a>
-<span class="sourceLineNo">1274</span><a name="line.1274"></a>
-<span class="sourceLineNo">1275</span>    @Override<a name="line.1275"></a>
-<span class="sourceLineNo">1276</span>    public void postSetUserQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1276"></a>
-<span class="sourceLineNo">1277</span>        final String userName, final TableName tableName, final Quotas quotas) throws IOException {<a name="line.1277"></a>
-<span class="sourceLineNo">1278</span>    }<a name="line.1278"></a>
-<span class="sourceLineNo">1279</span><a name="line.1279"></a>
-<span class="sourceLineNo">1280</span>    @Override<a name="line.1280"></a>
-<span class="sourceLineNo">1281</span>    public void preSetUserQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1281"></a>
-<span class="sourceLineNo">1282</span>        final String userName, final String namespace, final Quotas quotas) throws IOException {<a name="line.1282"></a>
-<span class="sourceLineNo">1283</span>    }<a name="line.1283"></a>
-<span class="sourceLineNo">1284</span><a name="line.1284"></a>
-<span class="sourceLineNo">1285</span>    @Override<a name="line.1285"></a>
-<span class="sourceLineNo">1286</span>    public void postSetUserQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1286"></a>
-<span class="sourceLineNo">1287</span>        final String userName, final String namespace, final Quotas quotas) throws IOException {<a name="line.1287"></a>
-<span class="sourceLineNo">1288</span>    }<a name="line.1288"></a>
-<span class="sourceLineNo">1289</span><a name="line.1289"></a>
-<span class="sourceLineNo">1290</span>    @Override<a name="line.1290"></a>
-<span class="sourceLineNo">1291</span>    public void preSetTableQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1291"></a>
-<span class="sourceLineNo">1292</span>        final TableName tableName, final Quotas quotas) throws IOException {<a name="line.1292"></a>
-<span class="sourceLineNo">1293</span>    }<a name="line.1293"></a>
-<span class="sourceLineNo">1294</span><a name="line.1294"></a>
-<span class="sourceLineNo">1295</span>    @Override<a name="line.1295"></a>
-<span class="sourceLineNo">1296</span>    public void postSetTableQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1296"></a>
-<span class="sourceLineNo">1297</span>        final TableName tableName, final Quotas quotas) throws IOException {<a name="line.1297"></a>
-<span class="sourceLineNo">1298</span>    }<a name="line.1298"></a>
-<span class="sourceLineNo">1299</span><a name="line.1299"></a>
-<span class="sourceLineNo">1300</span>    @Override<a name="line.1300"></a>
-<span class="sourceLineNo">1301</span>    public void preSetNamespaceQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1301"></a>
-<span class="sourceLineNo">1302</span>        final String namespace, final Quotas quotas) throws IOException {<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span>    }<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span><a name="line.1304"></a>
-<span class="sourceLineNo">1305</span>    @Override<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span>    public void postSetNamespaceQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1306"></a>
-<span class="sourceLineNo">1307</span>        final String namespace, final Quotas quotas) throws IOException {<a name="line.1307"></a>
-<span class="sourceLineNo">1308</span>    }<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span><a name="line.1309"></a>
-<span class="sourceLineNo">1310</span>    @Override<a name="line.1310"></a>
-<span class="sourceLineNo">1311</span>    public void preMoveServersAndTables(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1311"></a>
-<span class="sourceLineNo">1312</span>        Set&lt;Address&gt; servers, Set&lt;TableName&gt; tables, String targetGroup) throws IOException {<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span>    }<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span><a name="line.1314"></a>
-<span class="sourceLineNo">1315</span>    @Override<a name="line.1315"></a>
-<span class="sourceLineNo">1316</span>    public void postMoveServersAndTables(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1316"></a>
-<span class="sourceLineNo">1317</span>        Set&lt;Address&gt; servers, Set&lt;TableName&gt; tables,String targetGroup) throws IOException {<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span>    }<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span><a name="line.1319"></a>
-<span class="sourceLineNo">1320</span>    @Override<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span>    public void preMoveServers(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1321"></a>
-<span class="sourceLineNo">1322</span>                               Set&lt;Address&gt; servers, String targetGroup) throws IOException {<a name="line.1322"></a>
-<span class="sourceLineNo">1323</span>    }<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span><a name="line.1324"></a>
-<span class="sourceLineNo">1325</span>    @Override<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span>    public void postMoveServers(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span>                                Set&lt;Address&gt; servers, String targetGroup) throws IOException {<a name="line.1327"></a>
-<span class="sourceLineNo">1328</span>    }<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span><a name="line.1329"></a>
-<span class="sourceLineNo">1330</span>    @Override<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span>    public void preMoveTables(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span>                              Set&lt;TableName&gt; tables, String targetGroupGroup) throws IOException {<a name="line.1332"></a>
-<span class="sourceLineNo">1333</span>    }<a name="line.1333"></a>
-<span class="sourceLineNo">1334</span><a name="line.1334"></a>
-<span class="sourceLineNo">1335</span>    @Override<a name="line.1335"></a>
-<span class="sourceLineNo">1336</span>    public void postMoveTables(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span>                               Set&lt;TableName&gt; tables, String targetGroup) throws IOException {<a name="line.1337"></a>
-<span class="sourceLineNo">1338</span>    }<a name="line.1338"></a>
-<span class="sourceLineNo">1339</span><a name="line.1339"></a>
-<span class="sourceLineNo">1340</span>    @Override<a name="line.1340"></a>
-<span class="sourceLineNo">1341</span>    public void preAddRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span>                              String name) throws IOException {<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span>    }<a name="line.1343"></a>
-<span class="sourceLineNo">1344</span><a name="line.1344"></a>
-<span class="sourceLineNo">1345</span>    @Override<a name="line.1345"></a>
-<span class="sourceLineNo">1346</span>    public void postAddRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1346"></a>
-<span class="sourceLineNo">1347</span>                               String name) throws IOException {<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span>    }<a name="line.1348"></a>
-<span class="sourceLineNo">1349</span><a name="line.1349"></a>
-<span class="sourceLineNo">1350</span>    @Override<a name="line.1350"></a>
-<span class="sourceLineNo">1351</span>    public void preRemoveRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span>                                 String name) throws IOException {<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span>    }<a name="line.1353"></a>
-<span class="sourceLineNo">1354</span><a name="line.1354"></a>
-<span class="sourceLineNo">1355</span>    @Override<a name="line.1355"></a>
-<span class="sourceLineNo">1356</span>    public void postRemoveRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1356"></a>
-<span class="sourceLineNo">1357</span>                                  String name) throws IOException {<a name="line.1357"></a>
-<span class="sourceLineNo">1358</span>    }<a name="line.1358"></a>
-<span class="sourceLineNo">1359</span><a name="line.1359"></a>
-<span class="sourceLineNo">1360</span>    @Override<a name="line.1360"></a>
-<span class="sourceLineNo">1361</span>    public void preBalanceRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1361"></a>
-<span class="sourceLineNo">1362</span>                                  String groupName) throws IOException {<a name="line.1362"></a>
-<span class="sourceLineNo">1363</span>    }<a name="line.1363"></a>
-<span class="sourceLineNo">1364</span><a name="line.1364"></a>
-<span class="sourceLineNo">1365</span>    @Override<a name="line.1365"></a>
-<span class="sourceLineNo">1366</span>    public void postBalanceRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1366"></a>
-<span class="sourceLineNo">1367</span>        String groupName, boolean balancerRan) throws IOException {<a name="line.1367"></a>
-<span class="sourceLineNo">1368</span>    }<a name="line.1368"></a>
-<span class="sourceLineNo">1369</span><a name="line.1369"></a>
-<span class="sourceLineNo">1370</span>    @Override<a name="line.1370"></a>
-<span class="sourceLineNo">1371</span>    public void preRequestLock(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, String namespace,<a name="line.1371"></a>
-<span class="sourceLineNo">1372</span>        TableName tableName, RegionInfo[] regionInfos, LockType type,<a name="line.1372"></a>
-<span class="sourceLineNo">1373</span>        String description) throws IOException {<a name="line.1373"></a>
-<span class="sourceLineNo">1374</span>      preRequestLockCalled = true;<a name="line.1374"></a>
-<span class="sourceLineNo">1375</span>    }<a name="line.1375"></a>
-<span class="sourceLineNo">1376</span><a name="line.1376"></a>
-<span class="sourceLineNo">1377</span>    @Override<a name="line.1377"></a>
-<span class="sourceLineNo">1378</span>    public void postRequestLock(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, String namespace,<a name="line.1378"></a>
-<span class="sourceLineNo">1379</span>        TableName tableName, RegionInfo[] regionInfos, LockType type,<a name="line.1379"></a>
-<span class="sourceLineNo">1380</span>        String description) throws IOException {<a name="line.1380"></a>
-<span class="sourceLineNo">1381</span>      postRequestLockCalled = true;<a name="line.1381"></a>
-<span class="sourceLineNo">1382</span>    }<a name="line.1382"></a>
-<span class="sourceLineNo">1383</span><a name="line.1383"></a>
-<span class="sourceLineNo">1384</span>    @Override<a name="line.1384"></a>
-<span class="sourceLineNo">1385</span>    public void preLockHeartbeat(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1385"></a>
-<span class="sourceLineNo">1386</span>        LockProcedure proc, boolean keepAlive) throws IOException {<a name="line.1386"></a>
-<span class="sourceLineNo">1387</span>      preLockHeartbeatCalled = true;<a name="line.1387"></a>
-<span class="sourceLineNo">1388</span>    }<a name="line.1388"></a>
-<span class="sourceLineNo">1389</span><a name="line.1389"></a>
-<span class="sourceLineNo">1390</span>    @Override<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span>    public void postLockHeartbeat(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1391"></a>
-<span class="sourceLineNo">1392</span>        LockProcedure proc, boolean keepAlive) throws IOException {<a name="line.1392"></a>
-<span class="sourceLineNo">1393</span>      postLockHeartbeatCalled = true;<a name="line.1393"></a>
-<span class="sourceLineNo">1394</span>    }<a name="line.1394"></a>
-<span class="sourceLineNo">1395</span><a name="line.1395"></a>
-<span class="sourceLineNo">1396</span>    public boolean preAndPostForQueueLockAndHeartbeatLockCalled() {<a name="line.1396"></a>
-<span class="sourceLineNo">1397</span>      return preRequestLockCalled &amp;&amp; postRequestLockCalled &amp;&amp; preLockHeartbeatCalled &amp;&amp;<a name="line.1397"></a>
-<span class="sourceLineNo">1398</span>          postLockHeartbeatCalled;<a name="line.1398"></a>
-<span class="sourceLineNo">1399</span>    }<a name="line.1399"></a>
-<span class="sourceLineNo">1400</span><a name="line.1400"></a>
-<span class="sourceLineNo">1401</span>    @Override<a name="line.1401"></a>
-<span class="sourceLineNo">1402</span>    public void preSplitRegion(<a name="line.1402"></a>
-<span class="sourceLineNo">1403</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; c,<a name="line.1403"></a>
-<span class="sourceLineNo">1404</span>        final TableName tableName,<a name="line.1404"></a>
-<span class="sourceLineNo">1405</span>        final byte[] splitRow) throws IOException {<a name="line.1405"></a>
-<span class="sourceLineNo">1406</span>    }<a name="line.1406"></a>
-<span class="sourceLineNo">1407</span><a name="line.1407"></a>
-<span class="sourceLineNo">1408</span>    @Override<a name="line.1408"></a>
-<span class="sourceLineNo">1409</span>    public void preSplitRegionAction(<a name="line.1409"></a>
-<span class="sourceLineNo">1410</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; c,<a name="line.1410"></a>
-<span class="sourceLineNo">1411</span>        final TableName tableName,<a name="line.1411"></a>
-<span class="sourceLineNo">1412</span>        final byte[] splitRow) throws IOException {<a name="line.1412"></a>
-<span class="sourceLineNo">1413</span>    }<a name="line.1413"></a>
-<span class="sourceLineNo">1414</span><a name="line.1414"></a>
-<span class="sourceLineNo">1415</span>    @Override<a name="line.1415"></a>
-<span class="sourceLineNo">1416</span>    public void postCompletedSplitRegionAction(<a name="line.1416"></a>
-<span class="sourceLineNo">1417</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; c,<a name="line.1417"></a>
-<span class="sourceLineNo">1418</span>        final RegionInfo regionInfoA,<a name="line.1418"></a>
-<span class="sourceLineNo">1419</span>        final RegionInfo regionInfoB) throws IOException {<a name="line.1419"></a>
-<span class="sourceLineNo">1420</span>    }<a name="line.1420"></a>
-<span class="sourceLineNo">1421</span><a name="line.1421"></a>
-<span class="sourceLineNo">1422</span>    @Override<a name="line.1422"></a>
-<span class="sourceLineNo">1423</span>    public void preSplitRegionBeforePONRAction(<a name="line.1423"></a>
-<span class="sourceLineNo">1424</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1424"></a>
-<span class="sourceLineNo">1425</span>        final byte[] splitKey,<a name="line.1425"></a>
-<span class="sourceLineNo">1426</span>        final List&lt;Mutation&gt; metaEntries) throws IOException {<a name="line.1426"></a>
-<span class="sourceLineNo">1427</span>    }<a name="line.1427"></a>
-<span class="sourceLineNo">1428</span><a name="line.1428"></a>
-<span class="sourceLineNo">1429</span>    @Override<a name="line.1429"></a>
-<span class="sourceLineNo">1430</span>    public void preSplitRegionAfterPONRAction(<a name="line.1430"></a>
-<span class="sourceLineNo">1431</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1431"></a>
-<span class="sourceLineNo">1432</span>    }<a name="line.1432"></a>
-<span class="sourceLineNo">1433</span><a name="line.1433"></a>
-<span class="sourceLineNo">1434</span>    @Override<a name="line.1434"></a>
-<span class="sourceLineNo">1435</span>    public void postRollBackSplitRegionAction(<a name="line.1435"></a>
-<span class="sourceLineNo">1436</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1436"></a>
-<span class="sourceLineNo">1437</span>    }<a name="line.1437"></a>
-<span class="sourceLineNo">1438</span><a name="line.1438"></a>
-<span class="sourceLineNo">1439</span>    @Override<a name="line.1439"></a>
-<span class="sourceLineNo">1440</span>    public void preMergeRegionsAction(<a name="line.1440"></a>
-<span class="sourceLineNo">1441</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1441"></a>
-<span class="sourceLineNo">1442</span>        final RegionInfo[] regionsToMerge) throws IOException {<a name="line.1442"></a>
-<span class="sourceLineNo">1443</span>    }<a name="line.1443"></a>
-<span class="sourceLineNo">1444</span><a name="line.1444"></a>
-<span class="sourceLineNo">1445</span>    @Override<a name="line.1445"></a>
-<span class="sourceLineNo">1446</span>    public void postCompletedMergeRegionsAction(<a name="line.1446"></a>
-<span class="sourceLineNo">1447</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; c,<a name="line.1447"></a>
-<span class="sourceLineNo">1448</span>        final RegionInfo[] regionsToMerge,<a name="line.1448"></a>
-<span class="sourceLineNo">1449</span>        final RegionInfo mergedRegion) throws IOException {<a name="line.1449"></a>
-<span class="sourceLineNo">1450</span>    }<a name="line.1450"></a>
-<span class="sourceLineNo">1451</span><a name="line.1451"></a>
-<span class="sourceLineNo">1452</span>    @Override<a name="line.1452"></a>
-<span class="sourceLineNo">1453</span>    public void preMergeRegionsCommitAction(<a name="line.1453"></a>
-<span class="sourceLineNo">1454</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1454"></a>
-<span class="sourceLineNo">1455</span>        final RegionInfo[] regionsToMerge,<a name="line.1455"></a>
-<span class="sourceLineNo">1456</span>        final List&lt;Mutation&gt; metaEntries) throws IOException {<a name="line.1456"></a>
-<span class="sourceLineNo">1457</span>    }<a name="line.1457"></a>
-<span class="sourceLineNo">1458</span><a name="line.1458"></a>
-<span class="sourceLineNo">1459</span>    @Override<a name="line.1459"></a>
-<span class="sourceLineNo">1460</span>    public void postMergeRegionsCommitAction(<a name="line.1460"></a>
-<span class="sourceLineNo">1461</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1461"></a>
-<span class="sourceLineNo">1462</span>        final RegionInfo[] regionsToMerge,<a name="line.1462"></a>
-<span class="sourceLineNo">1463</span>        final RegionInfo mergedRegion) throws IOException {<a name="line.1463"></a>
-<span class="sourceLineNo">1464</span>    }<a name="line.1464"></a>
-<span class="sourceLineNo">1465</span><a name="line.1465"></a>
-<span class="sourceLineNo">1466</span>    @Override<a name="line.1466"></a>
-<span class="sourceLineNo">1467</span>    public void postRollBackMergeRegionsAction(<a name="line.1467"></a>
-<span class="sourceLineNo">1468</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1468"></a>
-<span class="sourceLineNo">1469</span>        final RegionInfo[] regionsToMerge) throws IOException {<a name="line.1469"></a>
-<span class="sourceLineNo">1470</span>    }<a name="line.1470"></a>
-<span class="sourceLineNo">1471</span>  }<a name="line.1471"></a>
-<span class="sourceLineNo">1472</span><a name="line.1472"></a>
-<span class="sourceLineNo">1473</span>  private static HBaseTestingUtility UTIL = new HBaseTestingUtility();<a name="line.1473"></a>
-<span class="sourceLineNo">1474</span>  private static byte[] TEST_SNAPSHOT = Bytes.toBytes("observed_snapshot");<a name="line.1474"></a>
-<span class="sourceLineNo">1475</span>  private static TableName TEST_CLONE = TableName.valueOf("observed_clone");<a name="line.1475"></a>
-<span class="sourceLineNo">1476</span>  private static byte[] TEST_FAMILY = Bytes.toBytes("fam1");<a name="line.1476"></a>
-<span class="sourceLineNo">1477</span>  private static byte[] TEST_FAMILY2 = Bytes.toBytes("fam2");<a name="line.1477"></a>
-<span class="sourceLineNo">1478</span>  @Rule public TestName name = new TestName();<a name="line.1478"></a>
-<span class="sourceLineNo">1479</span><a name="line.1479"></a>
-<span class="sourceLineNo">1480</span>  @BeforeClass<a name="line.1480"></a>
-<span class="sourceLineNo">1481</span>  public static void setupBeforeClass() throws Exception {<a name="line.1481"></a>
-<span class="sourceLineNo">1482</span>    Configuration conf = UTIL.getConfiguration();<a name="line.1482"></a>
-<span class="sourceLineNo">1483</span>    conf.set(CoprocessorHost.MASTER_COPROCESSOR_CONF_KEY,<a name="line.1483"></a>
-<span class="sourceLineNo">1484</span>        CPMasterObserver.class.getName());<a name="line.1484"></a>
-<span class="sourceLineNo">1485</span>    // We need more than one data server on this test<a name="line.1485"></a>
-<span class="sourceLineNo">1486</span>    UTIL.startMiniCluster(2);<a name="line.1486"></a>
-<span class="sourceLineNo">1487</span>  }<a name="line.1487"></a>
-<span class="sourceLineNo">1488</span><a name="line.1488"></a>
-<span class="sourceLineNo">1489</span>  @AfterClass<a name="line.1489"></a>
-<span class="sourceLineNo">1490</span>  public static void tearDownAfterClass() throws Exception {<a name="line.1490"></a>
-<span class="sourceLineNo">1491</span>    UTIL.shutdownMiniCluster();<a name="line.1491"></a>
-<span class="sourceLineNo">1492</span>  }<a name="line.1492"></a>
-<span class="sourceLineNo">1493</span><a name="line.1493"></a>
-<span class="sourceLineNo">1494</span>  @Test (timeout=180000)<a name="line.1494"></a>
-<span class="sourceLineNo">1495</span>  public void testStarted() throws Exception {<a name="line.1495"></a>
-<span class="sourceLineNo">1496</span>    MiniHBaseCluster cluster = UTIL.getHBaseCluster();<a name="line.1496"></a>
+<span class="sourceLineNo">1272</span>        final String userName, final TableName tableName, final GlobalQuotaSettings quotas)<a name="line.1272"></a>
+<span class="sourceLineNo">1273</span>            throws IOException {<a name="line.1273"></a>
+<span class="sourceLineNo">1274</span>    }<a name="line.1274"></a>
+<span class="sourceLineNo">1275</span><a name="line.1275"></a>
+<span class="sourceLineNo">1276</span>    @Override<a name="line.1276"></a>
+<span class="sourceLineNo">1277</span>    public void postSetUserQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1277"></a>
+<span class="sourceLineNo">1278</span>        final String userName, final TableName tableName, final GlobalQuotaSettings quotas)<a name="line.1278"></a>
+<span class="sourceLineNo">1279</span>            throws IOException {<a name="line.1279"></a>
+<span class="sourceLineNo">1280</span>    }<a name="line.1280"></a>
+<span class="sourceLineNo">1281</span><a name="line.1281"></a>
+<span class="sourceLineNo">1282</span>    @Override<a name="line.1282"></a>
+<span class="sourceLineNo">1283</span>    public void preSetUserQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1283"></a>
+<span class="sourceLineNo">1284</span>        final String userName, final String namespace, final GlobalQuotaSettings quotas)<a name="line.1284"></a>
+<span class="sourceLineNo">1285</span>            throws IOException {<a name="line.1285"></a>
+<span class="sourceLineNo">1286</span>    }<a name="line.1286"></a>
+<span class="sourceLineNo">1287</span><a name="line.1287"></a>
+<span class="sourceLineNo">1288</span>    @Override<a name="line.1288"></a>
+<span class="sourceLineNo">1289</span>    public void postSetUserQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1289"></a>
+<span class="sourceLineNo">1290</span>        final String userName, final String namespace, final GlobalQuotaSettings quotas)<a name="line.1290"></a>
+<span class="sourceLineNo">1291</span>            throws IOException {<a name="line.1291"></a>
+<span class="sourceLineNo">1292</span>    }<a name="line.1292"></a>
+<span class="sourceLineNo">1293</span><a name="line.1293"></a>
+<span class="sourceLineNo">1294</span>    @Override<a name="line.1294"></a>
+<span class="sourceLineNo">1295</span>    public void preSetTableQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1295"></a>
+<span class="sourceLineNo">1296</span>        final TableName tableName, final GlobalQuotaSettings quotas) throws IOException {<a name="line.1296"></a>
+<span class="sourceLineNo">1297</span>    }<a name="line.1297"></a>
+<span class="sourceLineNo">1298</span><a name="line.1298"></a>
+<span class="sourceLineNo">1299</span>    @Override<a name="line.1299"></a>
+<span class="sourceLineNo">1300</span>    public void postSetTableQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1300"></a>
+<span class="sourceLineNo">1301</span>        final TableName tableName, final GlobalQuotaSettings quotas) throws IOException {<a name="line.1301"></a>
+<span class="sourceLineNo">1302</span>    }<a name="line.1302"></a>
+<span class="sourceLineNo">1303</span><a name="line.1303"></a>
+<span class="sourceLineNo">1304</span>    @Override<a name="line.1304"></a>
+<span class="sourceLineNo">1305</span>    public void preSetNamespaceQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1305"></a>
+<span class="sourceLineNo">1306</span>        final String namespace, final GlobalQuotaSettings quotas) throws IOException {<a name="line.1306"></a>
+<span class="sourceLineNo">1307</span>    }<a name="line.1307"></a>
+<span class="sourceLineNo">1308</span><a name="line.1308"></a>
+<span class="sourceLineNo">1309</span>    @Override<a name="line.1309"></a>
+<span class="sourceLineNo">1310</span>    public void postSetNamespaceQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1310"></a>
+<span class="sourceLineNo">1311</span>        final String namespace, final GlobalQuotaSettings quotas) throws IOException {<a name="line.1311"></a>
+<span class="sourceLineNo">1312</span>    }<a name="line.1312"></a>
+<span class="sourceLineNo">1313</span><a name="line.1313"></a>
+<span class="sourceLineNo">1314</span>    @Override<a name="line.1314"></a>
+<span class="sourceLineNo">1315</span>    public void preMoveServersAndTables(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1315"></a>
+<span class="sourceLineNo">1316</span>        Set&lt;Address&gt; servers, Set&lt;TableName&gt; tables, String targetGroup) throws IOException {<a name="line.1316"></a>
+<span class="sourceLineNo">1317</span>    }<a name="line.1317"></a>
+<span class="sourceLineNo">1318</span><a name="line.1318"></a>
+<span class="sourceLineNo">1319</span>    @Override<a name="line.1319"></a>
+<span class="sourceLineNo">1320</span>    public void postMoveServersAndTables(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1320"></a>
+<span class="sourceLineNo">1321</span>        Set&lt;Address&gt; servers, Set&lt;TableName&gt; tables,String targetGroup) throws IOException {<a name="line.1321"></a>
+<span class="sourceLineNo">1322</span>    }<a name="line.1322"></a>
+<span class="sourceLineNo">1323</span><a name="line.1323"></a>
+<span class="sourceLineNo">1324</span>    @Override<a name="line.1324"></a>
+<span class="sourceLineNo">1325</span>    public void preMoveServers(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1325"></a>
+<span class="sourceLineNo">1326</span>                               Set&lt;Address&gt; servers, String targetGroup) throws IOException {<a name="line.1326"></a>
+<span class="sourceLineNo">1327</span>    }<a name="line.1327"></a>
+<span class="sourceLineNo">1328</span><a name="line.1328"></a>
+<span class="sourceLineNo">1329</span>    @Override<a name="line.1329"></a>
+<span class="sourceLineNo">1330</span>    public void postMoveServers(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1330"></a>
+<span class="sourceLineNo">1331</span>                                Set&lt;Address&gt; servers, String targetGroup) throws IOException {<a name="line.1331"></a>
+<span class="sourceLineNo">1332</span>    }<a name="line.1332"></a>
+<span class="sourceLineNo">1333</span><a name="line.1333"></a>
+<span class="sourceLineNo">1334</span>    @Override<a name="line.1334"></a>
+<span class="sourceLineNo">1335</span>    public void preMoveTables(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1335"></a>
+<span class="sourceLineNo">1336</span>                              Set&lt;TableName&gt; tables, String targetGroupGroup) throws IOException {<a name="line.1336"></a>
+<span class="sourceLineNo">1337</span>    }<a name="line.1337"></a>
+<span class="sourceLineNo">1338</span><a name="line.1338"></a>
+<span class="sourceLineNo">1339</span>    @Override<a name="line.1339"></a>
+<span class="sourceLineNo">1340</span>    public void postMoveTables(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1340"></a>
+<span class="sourceLineNo">1341</span>                               Set&lt;TableName&gt; tables, String targetGroup) throws IOException {<a name="line.1341"></a>
+<span class="sourceLineNo">1342</span>    }<a name="line.1342"></a>
+<span class="sourceLineNo">1343</span><a name="line.1343"></a>
+<span class="sourceLineNo">1344</span>    @Override<a name="line.1344"></a>
+<span class="sourceLineNo">1345</span>    public void preAddRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1345"></a>
+<span class="sourceLineNo">1346</span>                              String name) throws IOException {<a name="line.1346"></a>
+<span class="sourceLineNo">1347</span>    }<a name="line.1347"></a>
+<span class="sourceLineNo">1348</span><a name="line.1348"></a>
+<span class="sourceLineNo">1349</span>    @Override<a name="line.1349"></a>
+<span class="sourceLineNo">1350</span>    public void postAddRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1350"></a>
+<span class="sourceLineNo">1351</span>                               String name) throws IOException {<a name="line.1351"></a>
+<span class="sourceLineNo">1352</span>    }<a name="line.1352"></a>
+<span class="sourceLineNo">1353</span><a name="line.1353"></a>
+<span class="sourceLineNo">1354</span>    @Override<a name="line.1354"></a>
+<span class="sourceLineNo">1355</span>    public void preRemoveRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1355"></a>
+<span class="sourceLineNo">1356</span>                                 String name) throws IOException {<a name="line.1356"></a>
+<span class="sourceLineNo">1357</span>    }<a name="line.1357"></a>
+<span class="sourceLineNo">1358</span><a name="line.1358"></a>
+<span class="sourceLineNo">1359</span>    @Override<a name="line.1359"></a>
+<span class="sourceLineNo">1360</span>    public void postRemoveRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1360"></a>
+<span class="sourceLineNo">1361</span>                                  String name) throws IOException {<a name="line.1361"></a>
+<span class="sourceLineNo">1362</span>    }<a name="line.1362"></a>
+<span class="sourceLineNo">1363</span><a name="line.1363"></a>
+<span class="sourceLineNo">1364</span>    @Override<a name="line.1364"></a>
+<span class="sourceLineNo">1365</span>    public void preBalanceRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1365"></a>
+<span class="sourceLineNo">1366</span>                                  String groupName) throws IOException {<a name="line.1366"></a>
+<span class="sourceLineNo">1367</span>    }<a name="line.1367"></a>
+<span class="sourceLineNo">1368</span><a name="line.1368"></a>
+<span class="sourceLineNo">1369</span>    @Override<a name="line.1369"></a>
+<span class="sourceLineNo">1370</span>    public void postBalanceRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1370"></a>
+<span class="sourceLineNo">1371</span>        String groupName, boolean balancerRan) throws IOException {<a name="line.1371"></a>
+<span class="sourceLineNo">1372</span>    }<a name="line.1372"></a>
+<span class="sourceLineNo">1373</span><a name="line.1373"></a>
+<span class="sourceLineNo">1374</span>    @Override<a name="line.1374"></a>
+<span class="sourceLineNo">1375</span>    public void preRequestLock(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, String namespace,<a name="line.1375"></a>
+<span class="sourceLineNo">1376</span>        TableName tableName, RegionInfo[] regionInfos, LockType type,<a name="line.1376"></a>
+<span class="sourceLineNo">1377</span>        String description) throws IOException {<a name="line.1377"></a>
+<span class="sourceLineNo">1378</span>      preRequestLockCalled = true;<a name="line.1378"></a>
+<span class="sourceLineNo">1379</span>    }<a name="line.1379"></a>
+<span class="sourceLineNo">1380</span><a name="line.1380"></a>
+<span class="sourceLineNo">1381</span>    @Override<a name="line.1381"></a>
+<span class="sourceLineNo">1382</span>    public void postRequestLock(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, String namespace,<a name="line.1382"></a>
+<span class="sourceLineNo">1383</span>        TableName tableName, RegionInfo[] regionInfos, LockType type,<a name="line.1383"></a>
+<span class="sourceLineNo">1384</span>        String description) throws IOException {<a name="line.1384"></a>
+<span class="sourceLineNo">1385</span>      postRequestLockCalled = true;<a name="line.1385"></a>
+<span class="sourceLineNo">1386</span>    }<a name="line.1386"></a>
+<span class="sourceLineNo">1387</span><a name="line.1387"></a>
+<span class="sourceLineNo">1388</span>    @Override<a name="line.1388"></a>
+<span class="sourceLineNo">1389</span>    public void preLockHeartbeat(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1389"></a>
+<span class="sourceLineNo">1390</span>        LockProcedure proc, boolean keepAlive) throws IOException {<a name="line.1390"></a>
+<span class="sourceLineNo">1391</span>      preLockHeartbeatCalled = true;<a name="line.1391"></a>
+<span class="sourceLineNo">1392</span>    }<a name="line.1392"></a>
+<span class="sourceLineNo">1393</span><a name="line.1393"></a>
+<span class="sourceLineNo">1394</span>    @Override<a name="line.1394"></a>
+<span class="sourceLineNo">1395</span>    public void postLockHeartbeat(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1395"></a>
+<span class="sourceLineNo">1396</span>        LockProcedure proc, boolean keepAlive) throws IOException {<a name="line.1396"></a>
+<span class="sourceLineNo">1397</span>      postLockHeartbeatCalled = true;<a name="line.1397"></a>
+<span class="sourceLineNo">1398</span>    }<a name="line.1398"></a>
+<span class="sourceLineNo">1399</span><a name="line.1399"></a>
+<span class="sourceLineNo">1400</span>    public boolean preAndPostForQueueLockAndHeartbeatLockCalled() {<a name="line.1400"></a>
+<span class="sourceLineNo">1401</span>      return preRequestLockCalled &amp;&amp; postRequestLockCalled &amp;&amp; preLockHeartbeatCalled &amp;&amp;<a name="line.1401"></a>
+<span class="sourceLineNo">1402</span>          postLockHeartbeatCalled;<a name="line.1402"></a>
+<span class="sourceLineNo">1403</span>    }<a name="line.1403"></a>
+<span class="sourceLineNo">1404</span><a name="line.1404"></a>
+<span class="sourceLineNo">1405</span>    @Override<a name="line.1405"></a>
+<span class="sourceLineNo">1406</span>    public void preSplitRegion(<a name="line.1406"></a>
+<span class="sourceLineNo">1407</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; c,<a name="line.1407"></a>
+<span class="sourceLineNo">1408</span>        final TableName tableName,<a name="line.1408"></a>
+<span class="sourceLineNo">1409</span>        final byte[] splitRow) throws IOException {<a name="line.1409"></a>
+<span class="sourceLineNo">1410</span>    }<a name="line.1410"></a>
+<span class="sourceLineNo">1411</span><a name="line.1411"></a>
+<span class="sourceLineNo">1412</span>    @Override<a name="line.1412"></a>
+<span class="sourceLineNo">1413</span>    public void preSplitRegionAction(<a name="line.1413"></a>
+<span class="sourceLineNo">1414</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; c,<a name="line.1414"></a>
+<span class="sourceLineNo">1415</span>        final TableName tableName,<a name="line.1415"></a>
+<span class="sourceLineNo">1416</span>        final byte[] splitRow) throws IOException {<a name="line.1416"></a>
+<span class="sourceLineNo">1417</span>    }<a name="line.1417"></a>
+<span class="sourceLineNo">1418</span><a name="line.1418"></a>
+<span class="sourceLineNo">1419</span>    @Override<a name="line.1419"></a>
+<span class="sourceLineNo">1420</span>    public void postCompletedSplitRegionAction(<a name="line.1420"></a>
+<span class="sourceLineNo">1421</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; c,<a name="line.1421"></a>
+<span class="sourceLineNo">1422</span>        final RegionInfo regionInfoA,<a name="line.1422"></a>
+<span class="sourceLineNo">1423</span>        final RegionInfo regionInfoB) throws IOException {<a name="line.1423"></a>
+<span class="sourceLineNo">1424</span>    }<a name="line.1424"></a>
+<span class="sourceLineNo">1425</span><a name="line.1425"></a>
+<span class="sourceLineNo">1426</span>    @Override<a name="line.1426"></a>
+<span class="sourceLineNo">1427</span>    public void preSplitRegionBeforePONRAction(<a name="line.1427"></a>
+<span class="sourceLineNo">1428</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1428"></a>
+<span class="sourceLineNo">1429</span>        final byte[] splitKey,<a name="line.1429"></a>
+<span class="sourceLineNo">1430</span>        final List&lt;Mutation&gt; metaEntries) throws IOException {<a name="line.1430"></a>
+<span class="sourceLineNo">1431</span>    }<a name="line.1431"></a>
+<span class="sourceLineNo">1432</span><a name="line.1432"></a>
+<span class="sourceLineNo">1433</span>    @Override<a name="line.1433"></a>
+<span class="sourceLineNo">1434</span>    public void preSplitRegionAfterPONRAction(<a name="line.1434"></a>
+<span class="sourceLineNo">1435</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1435"></a>
+<span class="sourceLineNo">1436</span>    }<a name="line.1436"></a>
+<span class="sourceLineNo">1437</span><a name="line.1437"></a>
+<span class="sourceLineNo">1438</span>    @Override<a name="line.1438"></a>
+<span class="sourceLineNo">1439</span>    public void postRollBackSplitRegionAction(<a name="line.1439"></a>
+<span class="sourceLineNo">1440</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1440"></a>
+<span class="sourceLineNo">1441</span>    }<a name="line.1441"></a>
+<span class="sourceLineNo">1442</span><a name="line.1442"></a>
+<span class="sourceLineNo">1443</span>    @Override<a name="line.1443"></a>
+<span class="sourceLineNo">1444</span>    public void preMergeRegionsAction(<a name="line.1444"></a>
+<span class="sourceLineNo">1445</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1445"></a>
+<span class="sourceLineNo">1446</span>        final RegionInfo[] regionsToMerge) throws IOException {<a name="line.1446"></a>
+<span class="sourceLineNo">1447</span>    }<a name="line.1447"></a>
+<span class="sourceLineNo">1448</span><a name="line.1448"></a>
+<span class="sourceLineNo">1449</span>    @Override<a name="line.1449"></a>
+<span class="sourceLineNo">1450</span>    public void postCompletedMergeRegionsAction(<a name="line.1450"></a>
+<span class="sourceLineNo">1451</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; c,<a name="line.1451"></a>
+<span class="sourceLineNo">1452</span>        final RegionInfo[] regionsToMerge,<a name="line.1452"></a>
+<span class="sourceLineNo">1453</span>        final RegionInfo mergedRegion) throws IOException {<a name="line.1453"></a>
+<span class="sourceLineNo">1454</span>    }<a name="line.1454"></a>
+<span class="sourceLineNo">1455</span><a name="line.1455"></a>
+<span class="sourceLineNo">1456</span>    @Override<a name="line.1456"></a>
+<span class="sourceLineNo">1457</span>    public void preMergeRegionsCommitAction(<a name="line.1457"></a>
+<span class="sourceLineNo">1458</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1458"></a>
+<span class="sourceLineNo">1459</span>        final RegionInfo[] regionsToMerge,<a name="line.1459"></a>
+<span class="sourceLineNo">1460</span>        final List&lt;Mutation&gt; metaEntries) throws IOException {<a name="line.1460"></a>
+<span class="sourceLineNo">1461</span>    }<a name="line.1461"></a>
+<span class="sourceLineNo">1462</span><a name="line.1462"></a>
+<span class="sourceLineNo">1463</span>    @Override<a name="line.1463"></a>
+<span class="sourceLineNo">1464</span>    public void postMergeRegionsCommitAction(<a name="line.1464"></a>
+<span class="sourceLineNo">1465</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1465"></a>
+<span class="sourceLineNo">1466</span>        final RegionInfo[] regionsToMerge,<a name="line.1466"></a>
+<span class="sourceLineNo">1467</span>        final RegionInfo mergedRegion) throws IOException {<a name="line.1467"></a>
+<span class="sourceLineNo">1468</span>    }<a name="line.1468"></a>
+<span class="sourceLineNo">1469</span><a name="line.1469"></a>
+<span class="sourceLineNo">1470</span>    @Override<a name="line.1470"></a>
+<span class="sourceLineNo">1471</span>    public void postRollBackMergeRegionsAction(<a name="line.1471"></a>
+<span class="sourceLineNo">1472</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1472"></a>
+<span class="sourceLineNo">1473</span>        final RegionInfo[] regionsToMerge) throws IOException {<a name="line.1473"></a>
+<span class="sourceLineNo">1474</span>    }<a name="line.1474"></a>
+<span class="sourceLineNo">1475</span>  }<a name="line.1475"></a>
+<span class="sourceLineNo">1476</span><a name="line.1476"></a>
+<span class="sourceLineNo">1477</span>  private static HBaseTestingUtility UTIL = new HBaseTestingUtility();<a name="line.1477"></a>
+<span class="sourceLineNo">1478</span>  private static byte[] TEST_SNAPSHOT = Bytes.toBytes("observed_snapshot");<a name="line.1478"></a>
+<span class="sourceLineNo">1479</span>  private static TableName TEST_CLONE = TableName.valueOf("observed_clone");<a name="line.1479"></a>
+<span class="sourceLineNo">1480</span>  private static byte[] TEST_FAMILY = Bytes.toBytes("fam1");<a name="line.1480"></a>
+<span class="sourceLineNo">1481</span>  private static byte[] TEST_FAMILY2 = Bytes.toBytes("fam2");<a name="line.1481"></a>
+<span class="sourceLineNo">1482</span>  @Rule public TestName name = new TestName();<a name="line.1482"></a>
+<span class="sourceLineNo">1483</span><a name="line.1483"></a>
+<span class="sourceLineNo">1484</span>  @BeforeClass<a name="line.1484"></a>
+<span class="sourceLineNo">1485</span>  public static void setupBeforeClass() throws Exception {<a name="line.1485"></a>
+<span class="sourceLineNo">1486</span>    Configuration conf = UTIL.getConfiguration();<a name="line.1486"></a>
+<span class="sourceLineNo">1487</span>    conf.set(CoprocessorHost.MASTER_COPROCESSOR_CONF_KEY,<a name="line.1487"></a>
+<span class="sourceLineNo">1488</span>        CPMasterObserver.class.getName());<a name="line.1488"></a>
+<span class="sourceLineNo">1489</span>    // We need more than one data server on this test<a name="line.1489"></a>
+<span class="sourceLineNo">1490</span>    UTIL.startMiniCluster(2);<a name="line.1490"></a>
+<span class="sourceLineNo">1491</span>  }<a name="line.1491"></a>
+<span class="sourceLineNo">1492</span><a name="line.1492"></a>
+<span class="sourceLineNo">1493</span>  @AfterClass<a name="line.1493"></a>
+<span class="sourceLineNo">1494</span>  public static void tearDownAfterClass() throws Exception {<a name="line.1494"></a>
+<span class="sourceLineNo">1495</span>    UTIL.shutdownMiniCluster();<a name="line.1495"></a>
+<span class="sourceLineNo">1496</span>  }<a name="line.1496"></a>
 <span class="sourceLineNo">1497</span><a name="line.1497"></a>
-<span class="sourceLineNo">1498</span>    HMaster master = cluster.getMaster();<a name="line.1498"></a>
-<span class="sourceLineNo">1499</span>    assertTrue("Master should be active", master.isActiveMaster());<a name="line.1499"></a>
-<span class="sourceLineNo">1500</span>    MasterCoprocessorHost host = master.getMasterCoprocessorHost();<a name="line.1500"></a>
-<span class="sourceLineNo">1501</span>    assertNotNull("CoprocessorHost should not be null", host);<a name="line.1501"></a>
-<span class="sourceLineNo">1502</span>    CPMasterObserver cp = (CPMasterObserver)host.findCoprocessor(<a name="line.1502"></a>
-<span class="sourceLineNo">1503</span>        CPMasterObserver.class.getName());<a name="line.1503"></a>
-<span class="sourceLineNo">1504</span>    assertNotNull("CPMasterObserver coprocessor not found or not installed!", cp);<a name="line.1504"></a>
-<span class="sourceLineNo">1505</span><a name="line.1505"></a>
-<span class="sourceLineNo">1506</span>    // check basic lifecycle<a name="line.1506"></a>
-<span class="sourceLineNo">1507</span>    assertTrue("MasterObserver should have been started", cp.wasStarted());<a name="line.1507"></a>
-<span class="sourceLineNo">1508</span>    assertTrue("preMasterInitialization() hook should have been called",<a name="line.1508"></a>
-<span class="sourceLineNo">1509</span>        cp.wasMasterInitializationCalled());<a name="line.1509"></a>
-<span class="sourceLineNo">1510</span>    assertTrue("postStartMaster() hook should have been called",<a name="line.1510"></a>
-<span class="sourceLineNo">1511</span>        cp.wasStartMasterCalled());<a name="line.1511"></a>
-<span class="sourceLineNo">1512</span>  }<a name="line.1512"></a>
-<span class="sourceLineNo">1513</span><a name="line.1513"></a>
-<span class="sourceLineNo">1514</span>  @Test (timeout=180000)<a name="line.1514"></a>
-<span class="sourceLineNo">1515</span>  public void testTableOperations() throws Exception {<a name="line.1515"></a>
-<span class="sourceLineNo">1516</span>    MiniHBaseCluster cluster = UTIL.getHBaseCluster();<a name="line.1516"></a>
-<span class="sourceLineNo">1517</span>    final TableName tableName = TableName.valueOf(name.getMethodName());<a name="line.1517"></a>
-<span class="sourceLineNo">1518</span>    HMaster master = cluster.getMaster();<a name="line.1518"></a>
-<span class="sourceLineNo">1519</span>    MasterCoprocessorHost host = master.getMasterCoprocessorHost();<a name="line.1519"></a>
-<span class="sourceLineNo">1520</span>    CPMasterObserver cp = (CPMasterObserver)host.findCoprocessor(<a name="line.1520"></a>
-<span class="sourceLineNo">1521</span>        CPMasterObserver.class.getName());<a name="line.1521"></a>
-<span class="sourceLineNo">1522</span>    cp.enableBypass(true);<a name="line.1522"></a>
-<span class="sourceLineNo">1523</span>    cp.resetStates();<a name="line.1523"></a>
-<span class="sourceLineNo">1524</span>    assertFalse("No table created yet", cp.wasCreateTableCalled());<a name="line.1524"></a>
-<span class="sourceLineNo">1525</span><a name="line.1525"></a>
-<span class="sourceLineNo">1526</span>    // create a table<a name="line.1526"></a>
-<span class="sourceLineNo">1527</span>    HTableDescriptor htd = new HTableDescriptor(tableName);<a name="line.1527"></a>
-<span class="sourceLineNo">1528</span>    htd.addFamily(new HColumnDescriptor(TEST_FAMILY));<a name="line.1528"></a>
-<span class="sourceLineNo">1529</span>    try(Connection connection = ConnectionFactory.createConnection(UTIL.getConfiguration());<a name="line.1529"></a>
-<span class="sourceLineNo">1530</span>        Admin admin = connection.getAdmin()) {<a name="line.1530"></a>
-<span class="sourceLineNo">1531</span>      tableCreationLatch = new CountDownLatch(1);<a name="line.1531"></a>
-<span class="sourceLineNo">1532</span>      admin.createTable(htd, Arrays.copyOfRange(HBaseTestingUtility.KEYS,<a name="line.1532"></a>
-<span class="sourceLineNo">1533</span>        1, HBaseTestingUtility.KEYS.length));<a name="line.1533"></a>
-<span class="sourceLineNo">1534</span><a name="line.1534"></a>
-<span class="sourceLineNo">1535</span>      // preCreateTable can't bypass default action.<a name="line.1535"></a>
-<span class="sourceLineNo">1536</span>      assertTrue("Test table should be created", cp.wasCreateTableCalled());<a name="line.1536"></a>
-<span class="sourceLineNo">1537</span>      tableCreationLatch.await();<a name="line.1537"></a>
-<span class="sourceLineNo">1538</span>      assertTrue("Table pre create handler called.", cp<a name="line.1538"></a>
-<span class="sourceLineNo">1539</span>        .wasPreCreateTableActionCalled());<a name="line.1539"></a>
-<span class="sourceLineNo">1540</span>      assertTrue("Table create handler should be called.",<a name="line.1540"></a>
-<span class="sourceLineNo">1541</span>        cp.wasCreateTableActionCalled());<a name="line.1541"></a>
-<span class="sourceLineNo">1542</span><a name="line.1542"></a>
-<span class="sourceLineNo">1543</span>      RegionLocator regionLocator = connection.getRegionLocator(htd.getTableName());<a name="line.1543"></a>
-<span class="sourceLineNo">1544</span>      List&lt;HRegionLocation&gt; regions = regionLocator.getAllRegionLocations();<a name="line.1544"></a>
-<span class="sourceLineNo">1545</span><a name="line.1545"></a>
-<span class="sourceLineNo">1546</span>      admin.mergeRegionsAsync(regions.get(0).getRegionInfo().getEncodedNameAsBytes(),<a name="line.1546"></a>
-<span class="sourceLineNo">1547</span>        regions.get(1).getRegionInfo().getEncodedNameAsBytes(), true);<a name="line.1547"></a>
-<span class="sourceLineNo">1548</span>      assertTrue("Coprocessor should have been called on region merge",<a name="line.1548"></a>
-<span class="sourceLineNo">1549</span>        cp.wasMergeRegionsCalled());<a name="line.1549"></a>
-<span class="sourceLineNo">1550</span><a name="line.1550"></a>
-<span class="sourceLineNo">1551</span>      tableCreationLatch = new CountDownLatch(1);<a name="line.1551"></a>
-<span class="sourceLineNo">1552</span>      admin.disableTable(tableName);<a name="line.1552"></a>
-<span class="sourceLineNo">1553</span>      assertTrue(admin.isTableDisabled(tableName));<a name="line.1553"></a>
-<span class="sourceLineNo">1554</span>      // preDisableTable can't bypass default action.<a name="line.1554"></a>
-<span class="sourceLineNo">1555</span>      assertTrue("Coprocessor should have been called on table disable",<a name="line.1555"></a>
-<span class="sourceLineNo">1556</span>        cp.wasDisableTableCalled());<a name="line.1556"></a>
-<span class="sourceLineNo">1557</span>      assertTrue("Disable table handler should be called.",<a name="line.1557"></a>
-<span class="sourceLineNo">1558</span>        cp.wasDisableTableActionCalled());<a name="line.1558"></a>
-<span class="sourceLineNo">1559</span><a name="line.1559"></a>
-<span class="sourceLineNo">1560</span>      // enable<a name="line.1560"></a>
-<span class="sourceLineNo">1561</span>      assertFalse(cp.wasEnableTableCalled());<a name="line.1561"></a>
-<span class="sourceLineNo">1562</span>      admin.enableTable(tableName);<a name="line.1562"></a>
-<span class="sourceLineNo">1563</span>      assertTrue(admin.isTableEnabled(tableName));<a name="line.1563"></a>
-<span class="sourceLineNo">1564</span>      // preEnableTable can't bypass default action.<a name="line.1564"></a>
-<span class="sourceLineNo">1565</span>      assertTrue("Coprocessor should have been called on table enable",<a name="line.1565"></a>
-<span class="sourceLineNo">1566</span>        cp.wasEnableTableCalled());<a name="line.1566"></a>
-<span class="sourceLineNo">1567</span>      assertTrue("Enable table handler should be called.",<a name="line.1567"></a>
-<span class="sourceLineNo">1568</span>        cp.wasEnableTableActionCalled());<a name="line.1568"></a>
-<span class="sourceLineNo">1569</span><a name="line.1569"></a>
-<span class="sourceLineNo">1570</span>      admin.disableTable(tableName);<a name="line.1570"></a>
-<span class="sourceLineNo">1571</span>      assertTrue(admin.isTableDisabled(tableName));<a name="line.1571"></a>
-<span class="sourceLineNo">1572</span><a name="line.1572"></a>
-<span class="sourceLineNo">1573</span>      // modify table<a name="line.1573"></a>
-<span class="sourceLineNo">1574</span>      htd.setMaxFileSize(512 * 1024 * 1024);<a name="line.1574"></a>
-<span class="sourceLineNo">1575</span>      modifyTableSync(admin, tableName, htd);<a name="line.1575"></a>
-<span class="sourceLineNo">1576</span>      // preModifyTable can't bypass default action.<a name="line.1576"></a>
-<span class="sourceLineNo">1577</span>      assertTrue("Test table should have been modified",<a name="line.1577"></a>
-<span class="sourceLineNo">1578</span>        cp.wasModifyTableCalled());<a name="line.1578"></a>
-<span class="sourceLineNo">1579</span><a name="line.1579"></a>
-<span class="sourceLineNo">1580</span>      // add a column family<a name="line.1580"></a>
-<span class="sourceLineNo">1581</span>      admin.addColumnFamily(tableName, new HColumnDescriptor(TEST_FAMILY2));<a name="line.1581"></a>
-<span class="sourceLineNo">1582</span>      assertTrue("New column family shouldn't have been added to test table",<a name="line.1582"></a>
-<span class="sourceLineNo">1583</span>        cp.preAddColumnCalledOnly());<a name="line.1583"></a>
-<span class="sourceLineNo">1584</span><a name="line.1584"></a>
-<span class="sourceLineNo">1585</span>      // modify a column family<a name="line.1585"></a>
-<span class="sourceLineNo">1586</span>      HColumnDescriptor hcd1 = new HColumnDescriptor(TEST_FAMILY2);<a name="line.1586"></a>
-<span class="sourceLineNo">1587</span>      hcd1.setMaxVersions(25);<a name="line.1587"></a>
-<span class="sourceLineNo">1588</span>      admin.modifyColumnFamily(tableName, hcd1);<a name="line.1588"></a>
-<span class="sourceLineNo">1589</span>      assertTrue("Second column family should be modified",<a name="line.1589"></a>
-<span class="sourceLineNo">1590</span>        cp.preModifyColumnCalledOnly());<a name="line.1590"></a>
-<span class="sourceLineNo">1591</span><a name="line.1591"></a>
-<span class="sourceLineNo">1592</span>      // truncate table<a name="line.1592"></a>
-<span class="sourceLineNo">1593</span>      admin.truncateTable(tableName, false);<a name="line.1593"></a>
-<span class="sourceLineNo">1594</span><a name="line.1594"></a>
-<span class="sourceLineNo">1595</span>      // delete table<a name="line.1595"></a>
-<span class="sourceLineNo">1596</span>      admin.disableTable(tableName);<a name="line.1596"></a>
-<span class="sourceLineNo">1597</span>      assertTrue(admin.isTableDisabled(tableName));<a name="line.1597"></a>
-<span class="sourceLineNo">1598</span>      deleteTable(admin, tableName);<a name="line.1598"></a>
-<span class="sourceLineNo">1599</span>      assertFalse("Test table should have been deleted",<a name="line.1599"></a>
-<span class="sourceLineNo">1600</span>        admin.tableExists(tableName));<a name="line.1600"></a>
-<span class="sourceLineNo">1601</span>      // preDeleteTable can't bypass default action.<a name="line.1601"></a>
-<span class="sourceLineNo">1602</span>      assertTrue("Coprocessor should have been called on table delete",<a name="line.1602"></a>
-<span class="sourceLineNo">1603</span>        cp.wasDeleteTableCalled());<a name="line.1603"></a>
-<span class="sourceLineNo">1604</span>      assertTrue("Delete table handler should be called.",<a name="line.1604"></a>
-<span class="sourceLineNo">1605</span>        cp.wasDeleteTableActionCalled());<a name="line.1605"></a>
-<span class="sourceLineNo">1606</span><a name="line.1606"></a>
-<span class="sourceLineNo">1607</span>      // turn off bypass, run the tests again<a name="line.1607"></a>
-<span class="sourceLineNo">1608</span>      cp.enableBypass(false);<a name="line.1608"></a>
-<span class="sourceLineNo">1609</span>      cp.resetStates();<a name="line.1609"></a>
+<span class="sourceLineNo">1498</span>  @Test (timeout=180000)<a name="line.1498"></a>
+<span class="sourceLineNo">1499</span>  public void testStarted() throws Exception {<a name="line.1499"></a>
+<span class="sourceLineNo">1500</span>    MiniHBaseCluster cluster = UTIL.getHBaseCluster();<a name="line.1500"></a>
+<span class="sourceLineNo">1501</span><a name="line.1501"></a>
+<span class="sourceLineNo">1502</span>    HMaster master = cluster.getMaster();<a name="line.1502"></a>
+<span class="sourceLineNo">1503</span>    assertTrue("Master should be active", master.isActiveMaster());<a name="line.1503"></a>
+<span class="sourceLineNo">1504</span>    MasterCoprocessorHost host = master.getMasterCoprocessorHost();<a name="line.1504"></a>
+<span class="sourceLineNo">1505</span>    assertNotNull("CoprocessorHost should not be null", host);<a name="line.1505"></a>
+<span class="sourceLineNo">1506</span>    CPMasterObserver cp = (CPMasterObserver)host.findCoprocessor(<a name="line.1506"></a>
+<span class="sourceLineNo">1507</span>        CPMasterObserver.class.getName());<a name="line.1507"></a>
+<span class="sourceLineNo">1508</span>    assertNotNull("CPMasterObserver coprocessor not found or not installed!", cp);<a name="line.1508"></a>
+<span class="sourceLineNo">1509</span><a name="line.1509"></a>
+<span class="sourceLineNo">1510</span>    // check basic lifecycle<a name="line.1510"></a>
+<span class="sourceLineNo">1511</span>    assertTrue("MasterObserver should have been started", cp.wasStarted());<a name="line.1511"></a>
+<span class="sourceLineNo">1512</span>    assertTrue("preMasterInitialization() hook should have been called",<a name="line.1512"></a>
+<span class="sourceLineNo">1513</span>        cp.wasMasterInitializationCalled());<a name="line.1513"></a>
+<span class="sourceLineNo">1514</span>    assertTrue("postStartMaster() hook should have been called",<a name="line.1514"></a>
+<span class="sourceLineNo">1515</span>        cp.wasStartMasterCalled());<a name="line.1515"></a>
+<span class="sourceLineNo">1516</span>  }<a name="line.1516"></a>
+<span class="sourceLineNo">1517</span><a name="line.1517"></a>
+<span class="sourceLineNo">1518</span>  @Test (timeout=180000)<a name="line.1518"></a>
+<span class="sourceLineNo">1519</span>  public void testTableOperations() throws Exception {<a name="line.1519"></a>
+<span class="sourceLineNo">1520</span>    MiniHBaseCluster cluster = UTIL.getHBaseCluster();<a name="line.1520"></a>
+<span class="sourceLineNo">1521</span>    final TableName tableName = TableName.valueOf(name.getMethodName());<a name="line.1521"></a>
+<span class="sourceLineNo">1522</span>    HMaster master = cluster.getMaster();<a name="line.1522"></a>
+<span class="sourceLineNo">1523</span>    MasterCoprocessorHost host = master.getMasterCoprocessorHost();<a name="line.1523"></a>
+<span class="sourceLineNo">1524</span>    CPMasterObserver cp = (CPMasterObserver)host.findCoprocessor(<a name="line.1524"></a>
+<span class="sourceLineNo">1525</span>        CPMasterObserver.class.getName());<a name="line.1525"></a>
+<span class="sourceLineNo">1526</span>    cp.enableBypass(true);<a name="line.1526"></a>
+<span class="sourceLineNo">1527</span>    cp.resetStates();<a name="line.1527"></a>
+<span class="sourceLineNo">1528</span>    assertFalse("No table created yet", cp.wasCreateTableCalled());<a name="line.1528"></a>
+<span class="sourceLineNo">1529</span><a name="line.1529"></a>
+<span class="sourceLineNo">1530</span>    // create a table<a name="line.1530"></a>
+<span class="sourceLineNo">1531</span>    HTableDescriptor htd = new HTableDescriptor(tableName);<a name="line.1531"></a>
+<span class="sourceLineNo">1532</span>    htd.addFamily(new HColumnDescriptor(TEST_FAMILY));<a name="line.1532"></a>
+<span class="sourceLineNo">1533</span>    try(Connection connection = ConnectionFactory.createConnection(UTIL.getConfiguration());<a name="line.1533"></a>
+<span class="sourceLineNo">1534</span>        Admin admin = connection.getAdmin()) {<a name="line.1534"></a>
+<span class="sourceLineNo">1535</span>      tableCreationLatch = new CountDownLatch(1);<a name="line.1535"></a>
+<span class="sourceLineNo">1536</span>      admin.createTable(htd, Arrays.copyOfRange(HBaseTestingUtility.KEYS,<a name="line.1536"></a>
+<span class="sourceLineNo">1537</span>        1, HBaseTestingUtility.KEYS.length));<a name="line.1537"></a>
+<span class="sourceLineNo">1538</span><a name="line.1538"></a>
+<span class="sourceLineNo">1539</span>      // preCreateTable can't bypass default action.<a name="line.1539"></a>
+<span class="sourceLineNo">1540</span>      assertTrue("Test table should be created", cp.wasCreateTableCalled());<a name="line.1540"></a>
+<span class="sourceLineNo">1541</span>      tableCreationLatch.await();<a name="line.1541"></a>
+<span class="sourceLineNo">1542</span>      assertTrue("Table pre create handler called.", cp<a name="line.1542"></a>
+<span class="sourceLineNo">1543</span>        .wasPreCreateTableActionCalled());<a name="line.1543"></a>
+<span class="sourceLineNo">1544</span>      assertTrue("Table create handler should be called.",<a name="line.1544"></a>
+<span class="sourceLineNo">1545</span>        cp.wasCreateTableActionCalled());<a name="line.1545"></a>
+<span class="sourceLineNo">1546</span><a name="line.1546"></a>
+<span class="sourceLineNo">1547</span>      RegionLocator regionLocator = connection.getRegionLocator(htd.getTableName());<a name="line.1547"></a>
+<span class="sourceLineNo">1548</span>      List&lt;HRegionLocation&gt; regions = regionLocator.getAllRegionLocations();<a name="line.1548"></a>
+<span class="sourceLineNo">1549</span><a name="line.1549"></a>
+<span class="sourceLineNo">1550</span>      admin.mergeRegionsAsync(regions.get(0).getRegionInfo().getEncodedNameAsBytes(),<a name="line.1550"></a>
+<span class="sourceLineNo">1551</span>        regions.get(1).getRegionInfo().getEncodedNameAsBytes(), true);<a name="line.1551"></a>
+<span class="sourceLineNo">1552</span>      assertTrue("Coprocessor should have been called on region merge",<a name="line.1552"></a>
+<span class="sourceLineNo">1553</span>        cp.wasMergeRegionsCalled());<a name="line.1553"></a>
+<span class="sourceLineNo">1554</span><a name="line.1554"></a>
+<span class="sourceLineNo">1555</span>      tableCreationLatch = new CountDownLatch(1);<a name="line.1555"></a>
+<span class="sourceLineNo">1556</span>      admin.disableTable(tableName);<a name="line.1556"></a>
+<span class="sourceLineNo">1557</span>      assertTrue(admin.isTableDisabled(tableName));<a name="line.1557"></a>
+<span class="sourceLineNo">1558</span>      // preDisableTable can't bypass default action.<a name="line.1558"></a>
+<span class="sourceLineNo">1559</span>      assertTrue("Coprocessor should have been called on table disable",<a name="line.1559"></a>
+<span class="sourceLineNo">1560</span>        cp.wasDisableTableCalled());<a name="line.1560"></a>
+<span class="sourceLineNo">1561</span>      assertTrue("Disable table handler should be called.",<a name="line.1561"></a>
+<span class="sourceLineNo">1562</span>        cp.wasDisableTableActionCalled());<a name="line.1562"></a>
+<span class="sourceLineNo">1563</span><a name="line.1563"></a>
+<span class="sourceLineNo">1564</span>      // enable<a name="line.1564"></a>
+<span class="sourceLineNo">1565</span>      assertFalse(cp.wasEnableTableCalled());<a name="line.1565"></a>
+<span class="sourceLineNo">1566</span>      admin.enableTable(tableName);<a name="line.1566"></a>
+<span class="sourceLineNo">1567</span>      assertTrue(admin.isTableEnabled(tableName));<a name="line.1567"></a>
+<span class="sourceLineNo">1568</span>      // preEnableTable can't bypass default action.<a name="line.1568"></a>
+<span class="sourceLineNo">1569</span>      assertTrue("Coprocessor should have been called on table enable",<a name="line.1569"></a>
+<span class="sourceLineNo">1570</span>        cp.wasEnableTableCalled());<a name="line.1570"></a>
+<span class="sourceLineNo">1571</span>      assertTrue("Enable table handler should be called.",<a name="line.1571"></a>
+<span class="sourceLineNo">1572</span>        cp.wasEnableTableActionCalled());<a name="line.1572"></a>
+<span class="sourceLineNo">1573</span><a name="line.1573"></a>
+<span class="sourceLineNo">1574</span>      admin.disableTable(tableName);<a name="line.1574"></a>
+<span class="sourceLineNo">1575</span>      assertTrue(admin.isTableDisabled(tableName));<a name="line.1575"></a>
+<span class="sourceLineNo">1576</span><a name="line.1576"></a>
+<span class="sourceLineNo">1577</span>      // modify table<a name="line.1577"></a>
+<span class="sourceLineNo">1578</span>      htd.setMaxFileSize(512 * 1024 * 1024);<a name="line.1578"></a>
+<span class="sourceLineNo">1579</span>      modifyTableSync(admin, tableName, htd);<a name="line.1579"></a>
+<span class="sourceLineNo">1580</span>      // preModifyTable can't bypass default action.<a name="line.1580"></a>
+<span class="sourceLineNo">1581</span>      assertTrue("Test table should have been modified",<a name="line.1581"></a>
+<span class="sourceLineNo">1582</span>        cp.wasModifyTableCalled());<a name="line.1582"></a>
+<span class="sourceLineNo">1583</span><a name="line.1583"></a>
+<span class="sourceLineNo">1584</span>      // add a column family<a name="line.1584"></a>
+<span class="sourceLineNo">1585</span>      admin.addColumnFamily(tableName, new HColumnDescriptor(TEST_FAMILY2));<a name="line.1585"></a>
+<span class="sourceLineNo">1586</span>      assertTrue("New column family shouldn't have been added to test table",<a name="line.1586"></a>
+<span class="sourceLineNo">1587</span>        cp.preAddColumnCalledOnly());<a name="line.1587"></a>
+<span class="sourceLineNo">1588</span><a name="line.1588"></a>
+<span class="sourceLineNo">1589</span>      // modify a column family<a name="line.1589"></a>
+<span class="sourceLineNo">1590</span>      HColumnDescriptor hcd1 = new HColumnDescriptor(TEST_FAMILY2);<a name="line.1590"></a>
+<span class="sourceLineNo">1591</span>      hcd1.setMaxVersions(25);<a name="line.1591"></a>
+<span class="sourceLineNo">1592</span>      admin.modifyColumnFamily(tableName, hcd1);<a name="line.1592"></a>
+<span class="sourceLineNo">1593</span>      assertTrue("Second column family should be modified",<a name="line.1593"></a>
+<span class="sourceLineNo">1594</span>        cp.preModifyColumnCalledOnly());<a name="line.1594"></a>
+<span class="sourceLineNo">1595</span><a name="line.1595"></a>
+<span class="sourceLineNo">1596</span>      // truncate table<a name="line.1596"></a>
+<span class="sourceLineNo">1597</span>      admin.truncateTable(tableName, false);<a name="line.1597"></a>
+<span class="sourceLineNo">1598</span><a name="line.1598"></a>
+<span class="sourceLineNo">1599</span>      // delete table<a name="line.1599"></a>
+<span class="sourceLineNo">1600</span>      admin.disableTable(tableName);<a name="line.1600"></a>
+<span class="sourceLineNo">1601</span>      assertTrue(admin.isTableDisabled(tableName));<a name="line.1601"></a>
+<span class="sourceLineNo">1602</span>      deleteTable(admin, tableName);<a name="line.1602"></a>
+<span class="sourceLineNo">1603</span>      assertFalse("Test table should have been deleted",<a name="line.1603"></a>
+<span class="sourceLineNo">1604</span>        admin.tableExists(tableName));<a name="line.1604"></a>
+<span class="sourceLineNo">1605</span>      // preDeleteTable can't bypass default action.<a name="line.1605"></a>
+<span class="sourceLineNo">1606</span>      assertTrue("Coprocessor should have been called on table delete",<a name="line.1606"></a>
+<span class="sourceLineNo">1607</span>        cp.wasDeleteTableCalled());<a name="line.1607"></a>
+<span class="sourceLineNo">1608</span>      assertTrue("Delete table handler should be called.",<a name="line.1608"></a>
+<span class="sourceLineNo">1609</span>        cp.wasDeleteTableActionCalled());<a name="line.1609"></a>
 <span class="sourceLineNo">1610</span><a name="line.1610"></a>
-<span class="sourceLineNo">1611</span>      admin.createTable(htd);<a name="line.1611"></a>
-<span class="sourceLineNo">1612</span>      assertTrue("Test table should be created", cp.wasCreateTableCalled());<a name="line.1612"></a>
-<span class="sourceLineNo">1613</span>      tableCreationLatch.await();<a name="line.1613"></a>
-<span class="sourceLineNo">1614</span>      assertTrue("Table pre create handler called.", cp<a name="line.1614"></a>
-<span class="sourceLineNo">1615</span>        .wasPreCreateTableActionCalled());<a name="line.1615"></a>
-<span class="sourceLineNo">1616</span>      assertTrue("Table create handler should be called.",<a name="line.1616"></a>
-<span class="sourceLineNo">1617</span>        cp.wasCreateTableActionCalled());<a name="line.1617"></a>
-<span class="sourceLineNo">1618</span><a name="line.1618"></a>
-<span class="sourceLineNo">1619</span>      // disable<a name="line.1619"></a>
-<span class="sourceLineNo">1620</span>      assertFalse(cp.wasDisableTableCalled());<a name="line.1620"></a>
-<span class="sourceLineNo">1621</span>      assertFalse(cp.wasDisableTableActionCalled());<a name="line.1621"></a>
-<span class="sourceLineNo">1622</span>      admin.disableTable(tableName);<a name="line.1622"></a>
-<span class="sourceLineNo">1623</span>      assertTrue(admin.isTableDisabled(tableName));<a name="line.1623"></a>
-<span class="sourceLineNo">1624</span>      assertTrue("Coprocessor should have been called on table disable",<a name="line.1624"></a>
-<span class="sourceLineNo">1625</span>        cp.wasDisableTableCalled());<a name="line.1625"></a>
-<span class="sourceLineNo">1626</span>      assertTrue("Disable table handler should be called.",<a name="line.1626"></a>
-<span class="sourceLineNo">1627</span>        cp.wasDisableTableActionCalled());<a name="line.1627"></a>
-<span class="sourceLineNo">1628</span><a name="line.1628"></a>
-<span class="sourceLineNo">1629</span>      // modify table<a name="line.1629"></a>
-<span class="sourceLineNo">1630</span>      htd.setMaxFileSize(512 * 1024 * 1024);<a name="line.1630"></a>
-<span class="sourceLineNo">1631</span>      modifyTableSync(admin, tableName, htd);<a name="line.1631"></a>
-<span class="sourceLineNo">1632</span>      assertTrue("Test table should have been modified",<a name="line.1632"></a>
-<span class="sourceLineNo">1633</span>        cp.wasModifyTableCalled());<a name="line.1633"></a>
-<span class="sourceLineNo">1634</span>      // add a column family<a name="line.1634"></a>
-<span class="sourceLineNo">1635</span>      admin.addColumnFamily(tableName, new HColumnDescriptor(TEST_FAMILY2));<a name="line.1635"></a>
-<span class="sourceLineNo">1636</span>      assertTrue("New column family should have been added to test table",<a name="line.1636"></a>
-<span class="sourceLineNo">1637</span>        cp.wasAddColumnCalled());<a name="line.1637"></a>
-<span class="sourceLineNo">1638</span>      assertTrue("Add column handler should be called.",<a name="line.1638"></a>
-<span class="sourceLineNo">1639</span>        cp.wasAddColumnFamilyActionCalled());<a name="line.1639"></a>
-<span class="sourceLineNo">1640</span><a name="line.1640"></a>
-<span class="sourceLineNo">1641</span>      // modify a column family<a name="line.1641"></a>
-<span class="sourceLineNo">1642</span>      HColumnDescriptor hcd = new HColumnDescriptor(TEST_FAMILY2);<a name="line.1642"></a>
-<span class="sourceLineNo">1643</span>      hcd.setMaxVersions(25);<a name="line.1643"></a>
-<span class="sourceLineNo">1644</span>      admin.modifyColumnFamily(tableName, hcd);<a name="line.1644"></a>
-<span class="sourceLineNo">1645</span>      assertTrue("Second column family should be modified",<a name="line.1645"></a>
-<span class="sourceLineNo">1646</span>        cp.wasModifyColumnCalled());<a name="line.1646"></a>
-<span class="sourceLineNo">1647</span>      assertTrue("Modify table handler should be called.",<a name="line.1647"></a>
-<span class="sourceLineNo">1648</span>        cp.wasModifyColumnFamilyActionCalled());<a name="line.1648"></a>
-<span class="sourceLineNo">1649</span><a name="line.1649"></a>
-<span class="sourceLineNo">1650</span>      // enable<a name="line.1650"></a>
-<span class="sourceLineNo">1651</span>      assertFalse(cp.wasEnableTableCalled());<a name="line.1651"></a>
-<span class="sourceLineNo">1652</span>      assertFalse(cp.wasEnableTableActionCalled());<a name="line.1652"></a>
-<span class="sourceLineNo">1653</span>      admin.enableTable(tableName);<a name="line.1653"></a>
-<span class="sourceLineNo">1654</span>      assertTrue(admin.isTableEnabled(tableName));<a name="line.1654"></a>
-<span class="sourceLineNo">1655</span>      assertTrue("Coprocessor should have been called on table enable",<a name="line.1655"></a>
-<span class="sourceLineNo">1656</span>        cp.wasEnableTableCalled());<a name="line.1656"></a>
-<span class="sourceLineNo">1657</span>      assertTrue("Enable table handler should be called.",<a name="line.1657"></a>
-<span class="sourceLineNo">1658</span>        cp.wasEnableTableActionCalled());<a name="line.1658"></a>
-<span class="sourceLineNo">1659</span><a name="line.1659"></a>
-<span class="sourceLineNo">1660</span>      // disable again<a name="line.1660"></a>
-<span class="sourceLineNo">1661</span>      admin.disableTable(tableName);<a name="line.1661"></a>
-<span class="sourceLineNo">1662</span>      assertTrue(admin.isTableDisabled(tableName));<a name="line.1662"></a>
+<span class="sourceLineNo">1611</span>      // turn off bypass, run the tests again<a name="line.1611"></a>
+<span class="sourceLineNo">1612</span>      cp.enableBypass(false);<a name="line.1612"></a>
+<span class="sourceLineNo">1613</span>      cp.resetStates();<a name="line.1613"></a>
+<span class="sourceLineNo">1614</span><a name="line.1614"></a>
+<span class="sourceLineNo">1615</span>      admin.createTable(htd);<a name="line.1615"></a>
+<span class="sourceLineNo">1616</span>      assertTrue("Test table should be created", cp.wasCreateTableCalled());<a name="line.1616"></a>
+<span class="sourceLineNo">1617</span>      tableCreationLatch.await();<a name="line.1617"></a>
+<span class="sourceLineNo">1618</span>      assertTrue("Table pre create handler called.", cp<a name="line.1618"></a>
+<span class="sourceLineNo">1619</span>        .wasPreCreateTableActionCalled());<a name="line.1619"></a>
+<span class="sourceLineNo">1620</span>      assertTrue("Table create handler should be called.",<a name="line.1620"></a>
+<span class="sourceLineNo">1621</span>        cp.wasCreateTableActionCalled());<a name="line.1621"></a>
+<span class="sourceLineNo">1622</span><a name="line.1622"></a>
+<span class="sourceLineNo">1623</span>      // disable<a name="line.1623"></a>
+<span class="sourceLineNo">1624</span>      assertFalse(cp.wasDisableTableCalled());<a name="line.1624"></a>
+<span class="sourceLineNo">1625</span>      assertFalse(cp.wasDisableTableActionCalled());<a name="line.1625"></a>
+<span class="sourceLineNo">1626</span>      admin.disableTable(tableName);<a name="line.1626"></a>
+<span class="sourceLineNo">1627</span>      assertTrue(admin.isTableDisabled(tableName));<a name="line.1627"></a>
+<span class="sourceLineNo">1628</span>      assertTrue("Coprocessor should have been called on table disable",<a name="line.1628"></a>
+<span class="sourceLineNo">1629</span>        cp.wasDisableTableCalled());<a name="line.1629"></a>
+<span class="sourceLineNo">1630</span>      assertTrue("Disable table handler should be called.",<a name="line.1630"></a>
+<span class="sourceLineNo">1631</span>        cp.wasDisableTableActionCalled());<a name="line.1631"></a>
+<span class="sourceLineNo">1632</span><a name="line.1632"></a>
+<span class="sourceLineNo">1633</span>      // modify table<a name="line.1633"></a>
+<span class="sourceLineNo">1634</span>      htd.setMaxFileSize(512 * 1024 * 1024);<a name="line.1634"></a>
+<span class="sourceLineNo">1635</span>      modifyTableSync(admin, tableName, htd);<a name="line.1635"></a>
+<span class="sourceLineNo">1636</span>      assertTrue("Test table should have been modified",<a name="line.1636"></a>
+<span class="sourceLineNo">1637</span>        cp.wasModifyTableCalled());<a name="line.1637"></a>
+<span class="sourceLineNo">1638</span>      // add a column family<a name="line.1638"></a>
+<span class="sourceLineNo">1639</span>      admin.addColumnFamily(tableName, new HColumnDescriptor(TEST_FAMILY2));<a name="line.1639"></a>
+<span class="sourceLineNo">1640</span>      assertTrue("New column family should have been added to test table",<a name="line.1640"></a>
+<span class="sourceLineNo">1641</span>        cp.wasAddColumnCalled());<a name="line.1641"></a>
+<span class="sourceLineNo">1642</span>      assertTrue("Add column handler should be called.",<a name="line.1642"></a>
+<span class="sourceLineNo">1643</span>        cp.wasAddColumnFamilyActionCalled());<a name="line.1643"></a>
+<span class="sourceLineNo">1644</span><a name="line.1644"></a>
+<span class="sourceLineNo">1645</span>      // modify a column family<a name="line.1645"></a>
+<span class="sourceLineNo">1646</span>      HColumnDescriptor hcd = new HColumnDescriptor(TEST_FAMILY2);<a name="line.1646"></a>
+<span class="sourceLineNo">1647</span>      hcd.setMaxVersions(25);<a name="line.1647"></a>
+<span class="sourceLineNo">1648</span>      admin.modifyColumnFamily(tableName, hcd);<a name="line.1648"></a>
+<span class="sourceLineNo">1649</span>      assertTrue("Second column family should be modified",<a name="line.1649"></a>
+<span class="sourceLineNo">1650</span>        cp.wasModifyColumnCalled());<a name="line.1650"></a>
+<span class="sourceLineNo">1651</span>      assertTrue("Modify table handler should be called.",<a name="line.1651"></a>
+<span class="sourceLineNo">1652</span>        cp.wasModifyColumnFamilyActionCalled());<a name="line.1652"></a>
+<span class="sourceLineNo">1653</span><a name="line.1653"></a>
+<span class="sourceLineNo">1654</span>      // enable<a name="line.1654"></a>
+<span class="sourceLineNo">1655</span>      assertFalse(cp.wasEnableTableCalled());<a name="line.1655"></a>
+<span class="sourceLineNo">1656</span>      assertFalse(cp.wasEnableTableActionCalled());<a name="line.1656"></a>
+<span class="sourceLineNo">1657</span>      admin.enableTable(tableName);<a name="line.1657"></a>
+<span class="sourceLineNo">1658</span>      assertTrue(admin.isTableEnabled(tableName));<a name="line.1658"></a>
+<span class="sourceLineNo">1659</span>      assertTrue("Coprocessor should have been called on table enable",<a name="line.1659"></a>
+<span class="sourceLineNo">1660</span>        cp.wasEnableTableCalled());<a name="line.1660"></a>
+<span class="sourceLineNo">1661</span>      assertTrue("Enable table handler should be called.",<a name="line.1661"></a>
+<span class="sourceLineNo">1662</span>        cp.wasEnableTableActionCalled());<a name="line.1662"></a>
 <span class="sourceLineNo">1663</span><a name="line.1663"></a>
-<span class="sourceLineNo">1664</span>      // delete column<a name="line.1664"></a>
-<span class="sourceLineNo">1665</span>      assertFalse("No column family deleted yet", cp.wasDeleteColumnCalled());<a name="line.1665"></a>
-<span class="sourceLineNo">1666</span>      assertFalse("Delete table column handler should not be called.",<a name="line.1666"></a>
-<span class="sourceLineNo">1667</span>        cp.wasDeleteColumnFamilyActionCalled());<a name="line.1667"></a>
-<span class="sourceLineNo">1668</span>      admin.deleteColumnFamily(tableName, TEST_FAMILY2);<a name="line.1668"></a>
-<span class="sourceLineNo">1669</span>      HTableDescriptor tableDesc = admin.getTableDescriptor(tableName);<a name="line.1669"></a>
-<span class="sourceLineNo">1670</span>      assertNull("'"+Bytes.toString(TEST_FAMILY2)+"' should have been removed",<a name="line.1670"></a>
-<span class="sourceLineNo">1671</span>        tableDesc.getFamily(TEST_FAMILY2));<a name="line.1671"></a>
-<span class="sourceLineNo">1672</span>      assertTrue("Coprocessor should have been called on column delete",<a name="line.1672"></a>
-<span class="sourceLineNo">1673</span>        cp.wasDeleteColumnCalled());<a name="line.1673"></a>
-<span class="sourceLineNo">1674</span>      assertTrue("Delete table column handler should be called.",<a name="line.1674"></a>
-<span class="sourceLineNo">1675</span>        cp.wasDeleteColumnFamilyActionCalled());<a name="line.1675"></a>
-<span class="sourceLineNo">1676</span><a name="line.1676"></a>
-<span class="sourceLineNo">1677</span>      // delete table<a name="line.1677"></a>
-<span class="sourceLineNo">1678</span>      assertFalse("No table deleted yet", cp.wasDeleteTableCalled());<a name="line.1678"></a>
-<span class="sourceLineNo">1679</span>      assertFalse("Delete table handler should not be called.",<a name="line.1679"></a>
-<span class="sourceLineNo">1680</span>        cp.wasDeleteTableActionCalled());<a name="line.1680"></a>
-<span class="sourceLineNo">1681</span>      deleteTable(admin, tableName);<a name="line.1681"></a>
-<span class="sourceLineNo">1682</span>      assertFalse("Test table should have been deleted",<a name="line.1682"></a>
-<span class="sourceLineNo">1683</span>        admin.tableExists(tableName));<a name="line.1683"></a>
-<span class="sourceLineNo">1684</span>      assertTrue("Coprocessor should have been called on table delete",<a name="line.1684"></a>
-<span class="sourceLineNo">1685</span>        cp.wasDeleteTableCalled());<a name="line.1685"></a>
-<span class="sourceLineNo">1686</span>      assertTrue("Delete table handler should be called.",<a name="line.1686"></a>
-<span class="sourceLineNo">1687</span>        cp.wasDeleteTableActionCalled());<a name="line.1687"></a>
-<span class="sourceLineNo">1688</span>    }<a name="line.1688"></a>
-<span class="sourceLineNo">1689</span>  }<a name="line.1689"></a>
-<span class="sourceLineNo">1690</span><a name="line.1690"></a>
-<span class="sourceLineNo">1691</span>  @Test (timeout=180000)<a name="line.1691"></a>
-<span class="sourceLineNo">1692</span>  public void testSnapshotOperations() throws Exception {<a name="line.1692"></a>
-<span class="sourceLineNo">1693</span>    final TableName tableName = TableName.valueOf(name.getMethodName());<a name="line.1693"></a>
-<span class="sourceLineNo">1694</span>    MiniHBaseCluster cluster = UTIL.getHBaseCluster();<a name="line.1694"></a>
-<span class="sourceLineNo">1695</span>    HMaster master = cluster.getMaster();<a name="line.1695"></a>
-<span class="sourceLineNo">1696</span>    MasterCoprocessorHost host = master.getMasterCoprocessorHost();<a name="line.1696"></a>
-<span class="sourceLineNo">1697</span>    CPMasterObserver cp = (CPMasterObserver)host.findCoprocessor(<a name="line.1697"></a>
-<span class="sourceLineNo">1698</span>        CPMasterObserver.class.getName());<a name="line.1698"></a>
-<span class="sourceLineNo">1699</span>    cp.resetStates();<a name="line.1699"></a>
-<span class="sourceLineNo">1700</span><a name="line.1700"></a>
-<span class="sourceLineNo">1701</span>    // create a table<a name="line.1701"></a>
-<span class="sourceLineNo">1702</span>    HTableDescriptor htd = new HTableDescriptor(tableName);<a name="line.1702"></a>
-<span class="sourceLineNo">1703</span>    htd.addFamily(new HColumnDescriptor(TEST_FAMILY));<a name="line.1703"></a>
-<span class="sourceLineNo">1704</span>    Admin admin = UTIL.getAdmin();<a name="line.1704"></a>
-<span class="sourceLineNo">1705<

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/coprocessor/MasterObserver.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/coprocessor/MasterObserver.html b/devapidocs/org/apache/hadoop/hbase/coprocessor/MasterObserver.html
index 03c5fbd..e2c4c67 100644
--- a/devapidocs/org/apache/hadoop/hbase/coprocessor/MasterObserver.html
+++ b/devapidocs/org/apache/hadoop/hbase/coprocessor/MasterObserver.html
@@ -623,9 +623,9 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 </tr>
 <tr id="i58" class="altColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetNamespaceQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetNamespaceQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-                     org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+                     <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called after the quota for the namespace is stored.</div>
 </td>
 </tr>
@@ -639,35 +639,35 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 </tr>
 <tr id="i60" class="altColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetTableQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetTableQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                  <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-                 org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+                 <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called after the quota for the table is stored.</div>
 </td>
 </tr>
 <tr id="i61" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
-                org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+                <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called after the quota for the user is stored.</div>
 </td>
 </tr>
 <tr id="i62" class="altColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-                org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+                <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called after the quota for the user on the specified namespace is stored.</div>
 </td>
 </tr>
 <tr id="i63" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                 <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-                org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+                <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called after the quota for the user on the specified table is stored.</div>
 </td>
 </tr>
@@ -1134,9 +1134,9 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 </tr>
 <tr id="i125" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetNamespaceQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetNamespaceQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-                    org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+                    <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called before the quota for the namespace is stored.</div>
 </td>
 </tr>
@@ -1150,35 +1150,35 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 </tr>
 <tr id="i127" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetTableQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetTableQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-                org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+                <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called before the quota for the table is stored.</div>
 </td>
 </tr>
 <tr id="i128" class="altColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
-               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+               <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called before the quota for the user is stored.</div>
 </td>
 </tr>
 <tr id="i129" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+               <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called before the quota for the user on the specified namespace is stored.</div>
 </td>
 </tr>
 <tr id="i130" class="altColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+               <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called before the quota for the user on the specified table is stored.</div>
 </td>
 </tr>
@@ -3297,7 +3297,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 </dl>
 </li>
 </ul>
-<a name="preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
@@ -3305,20 +3305,20 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 <h4>preSetUserQuota</h4>
 <pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1080">preSetUserQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
-                             org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+                             <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called before the quota for the user is stored.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>ctx</code> - the environment to interact with the framework and master</dd>
 <dd><code>userName</code> - the name of user</dd>
-<dd><code>quotas</code> - the quota settings</dd>
+<dd><code>quotas</code> - the current quota for the user</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>
 </li>
 </ul>
-<a name="postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
@@ -3326,20 +3326,20 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 <h4>postSetUserQuota</h4>
 <pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1089">postSetUserQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
-                              org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+                              <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)
                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called after the quota for the user is stored.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>ctx</code> - the environment to interact with the framework and master</dd>
 <dd><code>userName</code> - the name of user</dd>
-<dd><code>quotas</code> - the quota settings</dd>
+<dd><code>quotas</code> - the resulting quota for the user</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>
 </li>
 </ul>
-<a name="preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
@@ -3348,7 +3348,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 <pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1099">preSetUserQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                              <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-                             org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+                             <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called before the quota for the user on the specified table is stored.</div>
 <dl>
@@ -3356,22 +3356,22 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 <dd><code>ctx</code> - the environment to interact with the framework and master</dd>
 <dd><code>userName</code> - the name of user</dd>
 <dd><code>tableName</code> - the name of the table</dd>
-<dd><code>quotas</code> - the quota settings</dd>
+<dd><code>quotas</code> - the current quota for the user on the table</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>
 </li>
 </ul>
-<a name="postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>postSetUserQuota</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1109">postSetUserQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1110">postSetUserQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                               <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-                              org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+                              <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)
                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called after the quota for the user on the specified table is stored.</div>
 <dl>
@@ -3379,22 +3379,22 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 <dd><code>ctx</code> - the environment to interact with the framework and master</dd>
 <dd><code>userName</code> - the name of user</dd>
 <dd><code>tableName</code> - the name of the table</dd>
-<dd><code>quotas</code> - the quota settings</dd>
+<dd><code>quotas</code> - the resulting quota for the user on the table</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>
 </li>
 </ul>
-<a name="preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>preSetUserQuota</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1119">preSetUserQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1121">preSetUserQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-                             org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+                             <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called before the quota for the user on the specified namespace is stored.</div>
 <dl>
@@ -3402,22 +3402,22 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 <dd><code>ctx</code> - the environment to interact with the framework and master</dd>
 <dd><code>userName</code> - the name of user</dd>
 <dd><code>namespace</code> - the name of the namespace</dd>
-<dd><code>quotas</code> - the quota settings</dd>
+<dd><code>quotas</code> - the current quota for the user on the namespace</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>
 </li>
 </ul>
-<a name="postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>postSetUserQuota</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1129">postSetUserQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1132">postSetUserQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-                              org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+                              <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)
                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called after the quota for the user on the specified namespace is stored.</div>
 <dl>
@@ -3425,91 +3425,91 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 <dd><code>ctx</code> - the environment to interact with the framework and master</dd>
 <dd><code>userName</code> - the name of user</dd>
 <dd><code>namespace</code> - the name of the namespace</dd>
-<dd><code>quotas</code> - the quota settings</dd>
+<dd><code>quotas</code> - the resulting quota for the user on the namespace</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>
 </li>
 </ul>
-<a name="preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>preSetTableQuota</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1138">preSetTableQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1142">preSetTableQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                               <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-                              org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+                              <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)
                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called before the quota for the table is stored.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>ctx</code> - the environment to interact with the framework and master</dd>
 <dd><code>tableName</code> - the name of the table</dd>
-<dd><code>quotas</code> - the quota settings</dd>
+<dd><code>quotas</code> - the current quota for the table</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>
 </li>
 </ul>
-<a name="postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>postSetTableQuota</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1147">postSetTableQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1151">postSetTableQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-                               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+                               <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)
                         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called after the quota for the table is stored.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>ctx</code> - the environment to interact with the framework and master</dd>
 <dd><code>tableName</code> - the name of the table</dd>
-<dd><code>quotas</code> - the quota settings</dd>
+<dd><code>quotas</code> - the resulting quota for the table</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>
 </li>
 </ul>
-<a name="preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>preSetNamespaceQuota</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1156">preSetNamespaceQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1160">preSetNamespaceQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                   <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-                                  org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+                                  <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)
                            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called before the quota for the namespace is stored.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>ctx</code> - the environment to interact with the framework and master</dd>
 <dd><code>namespace</code> - the name of the namespace</dd>
-<dd><code>quotas</code> - the quota settings</dd>
+<dd><code>quotas</code> - the current quota for the namespace</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>
 </li>
 </ul>
-<a name="postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>postSetNamespaceQuota</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1165">postSetNamespaceQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1169">postSetNamespaceQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-                                   org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+                                   <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)
                             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called after the quota for the namespace is stored.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>ctx</code> - the environment to interact with the framework and master</dd>
 <dd><code>namespace</code> - the name of the namespace</dd>
-<dd><code>quotas</code> - the quota settings</dd>
+<dd><code>quotas</code> - the resulting quota for the namespace</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>
@@ -3521,7 +3521,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 <ul class="blockList">
 <li class="blockList">
 <h4>preMergeRegions</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1174">preMergeRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1178">preMergeRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                              <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called before merge regions request.
@@ -3541,7 +3541,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 <ul class="blockList">
 <li class="blockList">
 <h4>postMergeRegions</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1183">postMergeRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;c,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1187">postMergeRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;c,
                               <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge)
                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">called after merge regions request.</div>
@@ -3560,7 +3560,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 <ul class="blockList">
 <li class="blockList">
 <h4>preMoveServersAndTables</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1193">preMoveServersAndTables</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1197">preMoveServersAndTables</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                      <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;servers,
                                      <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tables,
                                      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;targetGroup)
@@ -3582,7 +3582,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 <ul class="blockList">
 <li class="blockList">
 <h4>postMoveServersAndTables</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1202">postMoveServersAndTables</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1206">postMoveServersAndTables</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                       <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;servers,
                                       <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tables,
                                       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;targetGroup)
@@ -3604,7 +3604,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 <ul class="blockList">
 <li class="blockList">
 <h4>preMoveServers</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1211">preMoveServers</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1215">preMoveServers</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;servers,
                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;targetGroup)
                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -3625,7 +3625,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 <ul class="blockList">
 <li class="blockList">
 <h4>postMoveServers</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1220">postMoveServers</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1224">postMoveServers</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;servers,
                              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;targetGroup)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -3646,7 +3646,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 <ul class="blockList">
 <li class="blockList">
 <h4>preMoveTables</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1229">preMoveTables</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1233">preMoveTables</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tables,
                            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;targetGroup)
                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -3667,7 +3667,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 <ul class="blockList">
 <li class="blockList">
 <h4>postMoveTables</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1238">postMoveTables</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1242">postMoveTables</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tables,
                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;targetGroup)
                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -3688,7 +3688,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 <ul class="blockList">
 <li class="blockList">
 <h4>preAddRSGroup</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1246">preAddRSGroup</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1250">preAddRSGroup</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called before a new region server group is added</div>
@@ -3707,7 +3707,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 <ul class="blockList">
 <li class="blockList">
 <h4>postAddRSGroup</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1254">postAddRSGroup</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1258">postAddRSGroup</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called after a new region server group is added</div>
@@ -3726,7 +3726,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 <ul class="blockList">
 <li class="blockList">
 <h4>preRemoveRSGroup</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1262">preRemoveRSGroup</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1266">preRemoveRSGroup</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called before a region server group is removed</div>
@@ -3745,7 +3745,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 <ul class="blockList">
 <li class="blockList">
 <h4>postRemoveRSGroup</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1270">postRemoveRSGroup</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1274">postRemoveRSGroup</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
                         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called after a region server group is removed</div>
@@ -3764,7 +3764,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 <ul class="blockList">
 <li class="blockList">
 <h4>preBalanceRSGroup</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1278">preBalanceRSGroup</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1282">preBalanceRSGroup</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;groupName)
                         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called before a region server group is removed</div>
@@ -3783,7 +3783,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 <ul class="blockList">
 <li class="blockList">
 <h4>postBalanceRSGroup</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1286">postBalanceRSGroup</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1290">postBalanceRSGroup</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;groupName,
                                 boolean&nbsp;balancerRan)
                          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -3803,7 +3803,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 <ul class="blockList">
 <li class="blockList">
 <h4>preAddReplicationPeer</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1295">preAddReplicationPeer</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1299">preAddReplicationPeer</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
                                    <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig)
                             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -3824,7 +3824,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 <ul class="blockList">
 <li class="blockList">
 <h4>postAddReplicationPeer</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1304">postAddReplicationPeer</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1308">postAddReplicationPeer</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
                                     <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig)
                              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -3845,7 +3845,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 <ul class="blockList">
 <li class="blockList">
 <h4>preRemoveReplicationPeer</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1312">preRemoveReplicationPeer</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1316">preRemoveReplicationPeer</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
                                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called before remove a replication peer</div>
@@ -3864,7 +3864,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 <ul class="blockList">
 <li class="blockList">
 <h4>postRemoveReplicationPeer</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1320">postRemoveReplicationPeer</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1324">postRemoveReplicationPeer</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
                                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called after remove a replication peer</div>
@@ -3883,7 +3883,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 <ul class="blockList">
 <li class="blockList">
 <h4>preEnableReplicationPeer</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1328">preEnableReplicationPeer</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1332">preEnableReplicationPeer</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
                                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called before enable a replication peer</div>
@@ -3902,7 +3902,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 <ul class="blockList">
 <li class="blockList">
 <h4>postEnableReplicationPeer</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1336">postEnableReplicationPeer</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1340">postEnableReplicationPeer</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
                                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called after enable a replication peer</div>
@@ -3921,7 +3921,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 <ul class="blockList">
 <li class="blockList">
 <h4>preDisableReplicationPeer</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1344">preDisableReplicationPeer</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1348">preDisableReplicationPeer</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
                                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called before disable a replication peer</div>
@@ -3940,7 +3940,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 <ul class="blockList">
 <li class="blockList">
 <h4>postDisableReplicationPeer</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1352">postDisableReplicationPeer</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1356">postDisableReplicationPeer</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
                                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called after disable a replication peer</div>
@@ -3959,7 +3959,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Coprocessor.html" title=
 <ul class="blockList">
 <li class="blockList">
 <h4>preGetReplicationPeerConfig</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1360">preGetReplicationPeerConfig</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html#line.1364">preGetReplicationPeerConfig</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
                                   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called before get the confi

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/quotas/QuotaSettings.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/QuotaSettings.html b/devapidocs/org/apache/hadoop/hbase/quotas/QuotaSettings.html
index 7086ada..b1999f4 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/QuotaSettings.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/QuotaSettings.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":10,"i2":6,"i3":10,"i4":10,"i5":10,"i6":6,"i7":9,"i8":9};
+var methods = {"i0":9,"i1":9,"i2":10,"i3":6,"i4":10,"i5":10,"i6":6,"i7":10,"i8":6,"i9":9,"i10":9,"i11":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -109,12 +109,12 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <dl>
 <dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettingsFactory.QuotaGlobalsSettingsBypass</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html" title="class in org.apache.hadoop.hbase.quotas">SpaceLimitSettings</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleSettings.html" title="class in org.apache.hadoop.hbase.quotas">ThrottleSettings</a></dd>
+<dd><a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettingsFactory.QuotaGlobalsSettingsBypass</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html" title="class in org.apache.hadoop.hbase.quotas">SpaceLimitSettings</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleSettings.html" title="class in org.apache.hadoop.hbase.quotas">ThrottleSettings</a></dd>
 </dl>
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.28">QuotaSettings</a>
+public abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.33">QuotaSettings</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -183,32 +183,45 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#buildFromProto-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest-">buildFromProto</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest&nbsp;request)</code>
+<div class="block">Converts the protocol buffer request into a QuotaSetting POJO.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code>static org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#buildSetQuotaRequestProto-org.apache.hadoop.hbase.quotas.QuotaSettings-">buildSetQuotaRequestProto</a></span>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;settings)</code>
 <div class="block">Convert a QuotaSettings to a protocol buffer SetQuotaRequest.</div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#getNamespace--">getNamespace</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas">QuotaType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#getQuotaType--">getQuotaType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#getTableName--">getTableName</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#getUserName--">getUserName</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>(package private) abstract <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#merge-org.apache.hadoop.hbase.quotas.QuotaSettings-">merge</a></span>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;newSettings)</code>
+<div class="block">Merges the provided settings with <code>this</code> and returns a new settings
+ object to the caller if the merged settings differ from the original.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#ownerToString--">ownerToString</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>protected abstract void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#setupSetQuotaRequest-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest.Builder-">setupSetQuotaRequest</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest.Builder&nbsp;builder)</code>
 <div class="block">Called by toSetQuotaRequestProto()
@@ -216,14 +229,20 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
  properties.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>protected static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#sizeToString-long-">sizeToString</a></span>(long&nbsp;size)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>protected static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#timeToString-java.util.concurrent.TimeUnit-">timeToString</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;timeUnit)</code>&nbsp;</td>
 </tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>(package private) void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#validateQuotaTarget-org.apache.hadoop.hbase.quotas.QuotaSettings-">validateQuotaTarget</a></span>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;mergee)</code>
+<div class="block">Validates that settings being merged into <code>this</code> is targeting the same "subject", e.g.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -252,7 +271,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>userName</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.29">userName</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.34">userName</a></pre>
 </li>
 </ul>
 <a name="namespace">
@@ -261,7 +280,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>namespace</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.30">namespace</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.35">namespace</a></pre>
 </li>
 </ul>
 <a name="tableName">
@@ -270,7 +289,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>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/quotas/QuotaSettings.html#line.31">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/quotas/QuotaSettings.html#line.36">tableName</a></pre>
 </li>
 </ul>
 </li>
@@ -287,7 +306,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>QuotaSettings</h4>
-<pre>protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.33">QuotaSettings</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+<pre>protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.38">QuotaSettings</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                         <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</pre>
 </li>
@@ -306,7 +325,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getQuotaType</h4>
-<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas">QuotaType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.40">getQuotaType</a>()</pre>
+<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas">QuotaType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.45">getQuotaType</a>()</pre>
 </li>
 </ul>
 <a name="getUserName--">
@@ -315,7 +334,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getUserName</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.42">getUserName</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.47">getUserName</a>()</pre>
 </li>
 </ul>
 <a name="getTableName--">
@@ -324,7 +343,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableName</h4>
-<pre>public&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/quotas/QuotaSettings.html#line.46">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/quotas/QuotaSettings.html#line.51">getTableName</a>()</pre>
 </li>
 </ul>
 <a name="getNamespace--">
@@ -333,7 +352,26 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getNamespace</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.50">getNamespace</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.55">getNamespace</a>()</pre>
+</li>
+</ul>
+<a name="buildFromProto-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>buildFromProto</h4>
+<pre>@InterfaceAudience.Private
+public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.68">buildFromProto</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest&nbsp;request)</pre>
+<div class="block">Converts the protocol buffer request into a QuotaSetting POJO. Arbitrarily
+ enforces that the request only contain one "limit", despite the message
+ allowing multiple. The public API does not allow such use of the message.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>request</code> - The protocol buffer request.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><code>QuotaSettings</code></a> POJO.</dd>
+</dl>
 </li>
 </ul>
 <a name="buildSetQuotaRequestProto-org.apache.hadoop.hbase.quotas.QuotaSettings-">
@@ -343,7 +381,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <li class="blockList">
 <h4>buildSetQuotaRequestProto</h4>
 <pre>@InterfaceAudience.Private
-public static&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.60">buildSetQuotaRequestProto</a>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;settings)</pre>
+public static&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.115">buildSetQuotaRequestProto</a>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;settings)</pre>
 <div class="block">Convert a QuotaSettings to a protocol buffer SetQuotaRequest.
  This is used internally by the Admin client to serialize the quota settings
  and send them to the master.</div>
@@ -356,7 +394,7 @@ public static&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProto
 <li class="blockList">
 <h4>setupSetQuotaRequest</h4>
 <pre>@InterfaceAudience.Private
-protected abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.81">setupSetQuotaRequest</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest.Builder&nbsp;builder)</pre>
+protected abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.136">setupSetQuotaRequest</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest.Builder&nbsp;builder)</pre>
 <div class="block">Called by toSetQuotaRequestProto()
  the subclass should implement this method to set the specific SetQuotaRequest
  properties.</div>
@@ -368,7 +406,7 @@ protected abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/ha
 <ul class="blockList">
 <li class="blockList">
 <h4>ownerToString</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.83">ownerToString</a>()</pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.138">ownerToString</a>()</pre>
 </li>
 </ul>
 <a name="sizeToString-long-">
@@ -377,16 +415,53 @@ protected abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/ha
 <ul class="blockList">
 <li class="blockList">
 <h4>sizeToString</h4>
-<pre>protected static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.103">sizeToString</a>(long&nbsp;size)</pre>
+<pre>protected static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.158">sizeToString</a>(long&nbsp;size)</pre>
 </li>
 </ul>
 <a name="timeToString-java.util.concurrent.TimeUnit-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>timeToString</h4>
-<pre>protected static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.112">timeToString</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;timeUnit)</pre>
+<pre>protected static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.167">timeToString</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;timeUnit)</pre>
+</li>
+</ul>
+<a name="merge-org.apache.hadoop.hbase.quotas.QuotaSettings-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>merge</h4>
+<pre>abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.187">merge</a>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;newSettings)
+                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Merges the provided settings with <code>this</code> and returns a new settings
+ object to the caller if the merged settings differ from the original.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>newSettings</code> - The new settings to merge in.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The merged <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><code>QuotaSettings</code></a> object or null if the quota should be deleted.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="validateQuotaTarget-org.apache.hadoop.hbase.quotas.QuotaSettings-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>validateQuotaTarget</h4>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.196">validateQuotaTarget</a>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;mergee)</pre>
+<div class="block">Validates that settings being merged into <code>this</code> is targeting the same "subject", e.g.
+ user, table, namespace.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>mergee</code> - The quota settings to be merged into <code>this</code>.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the subjects are not equal.</dd>
+</dl>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html b/devapidocs/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html
index 72a489b..b2005c6 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.34">QuotaSettingsFactory.QuotaGlobalsSettingsBypass</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.36">QuotaSettingsFactory.QuotaGlobalsSettingsBypass</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></pre>
 </li>
 </ul>
@@ -178,10 +178,21 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html#getBypass--">getBypass</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas">QuotaType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html#getQuotaType--">getQuotaType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettingsFactory.QuotaGlobalsSettingsBypass</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html#merge-org.apache.hadoop.hbase.quotas.QuotaSettings-">merge</a></span>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;newSettings)</code>
+<div class="block">Merges the provided settings with <code>this</code> and returns a new settings
+ object to the caller if the merged settings differ from the original.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html#setupSetQuotaRequest-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest.Builder-">setupSetQuotaRequest</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest.Builder&nbsp;builder)</code>
 <div class="block">Called by toSetQuotaRequestProto()
@@ -189,7 +200,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
  properties.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -199,7 +210,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#buildSetQuotaRequestProto-org.apache.hadoop.hbase.quotas.QuotaSettings-">buildSetQuotaRequestProto</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#getNamespace--">getNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#getTableName--">getTableName</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#getUserName--">getUserName</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#ownerToString--">ownerToString</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#sizeToString-long-">sizeToString</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#timeToString-java.util.concurrent.TimeUnit-">timeToString</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#buildFromProto-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest-">buildFromProto</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#buildSetQuotaRequestProto-org.apache.hadoop.hbase.quotas.QuotaSettings-">buildSetQuotaRequestProto</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#getNamespace--">getNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#getTableName--">getTableName</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#getUserName--">getUserName</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#ownerToString--">ownerToString</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#sizeToString-long-">sizeToString</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#timeT
 oString-java.util.concurrent.TimeUnit-">timeToString</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#validateQuotaTarget-org.apache.hadoop.hbase.quotas.QuotaSettings-">validateQuotaTarget</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -228,7 +239,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
 <ul class="blockListLast">
 <li class="blockList">
 <h4>bypassGlobals</h4>
-<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html#line.35">bypassGlobals</a></pre>
+<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html#line.37">bypassGlobals</a></pre>
 </li>
 </ul>
 </li>
@@ -245,7 +256,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
 <ul class="blockListLast">
 <li class="blockList">
 <h4>QuotaGlobalsSettingsBypass</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html#line.37">QuotaGlobalsSettingsBypass</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html#line.39">QuotaGlobalsSettingsBypass</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                            <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                            boolean&nbsp;bypassGlobals)</pre>
@@ -265,7 +276,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>getQuotaType</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas">QuotaType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html#line.44">getQuotaType</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas">QuotaType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html#line.46">getQuotaType</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#getQuotaType--">getQuotaType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></dd>
@@ -278,7 +289,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>setupSetQuotaRequest</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html#line.49">setupSetQuotaRequest</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest.Builder&nbsp;builder)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html#line.51">setupSetQuotaRequest</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest.Builder&nbsp;builder)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#setupSetQuotaRequest-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest.Builder-">QuotaSettings</a></code></span></div>
 <div class="block">Called by toSetQuotaRequestProto()
  the subclass should implement this method to set the specific SetQuotaRequest
@@ -292,16 +303,48 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html#line.54">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html#line.56">toString</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
 </dl>
 </li>
 </ul>
+<a name="getBypass--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getBypass</h4>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html#line.60">getBypass</a>()</pre>
+</li>
+</ul>
+<a name="merge-org.apache.hadoop.hbase.quotas.QuotaSettings-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>merge</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettingsFactory.QuotaGlobalsSettingsBypass</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html#line.65">merge</a>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;newSettings)
+                                                         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#merge-org.apache.hadoop.hbase.quotas.QuotaSettings-">QuotaSettings</a></code></span></div>
+<div class="block">Merges the provided settings with <code>this</code> and returns a new settings
+ object to the caller if the merged settings differ from the original.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#merge-org.apache.hadoop.hbase.quotas.QuotaSettings-">merge</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>newSettings</code> - The new settings to merge in.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The merged <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><code>QuotaSettings</code></a> object or null if the quota should be deleted.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html b/devapidocs/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html
index 17bd3b4..8b0ba79 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.33">QuotaSettingsFactory</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.35">QuotaSettingsFactory</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -368,7 +368,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>QuotaSettingsFactory</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.33">QuotaSettingsFactory</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.35">QuotaSettingsFactory</a>()</pre>
 </li>
 </ul>
 </li>
@@ -385,7 +385,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>fromUserQuotas</h4>
-<pre>static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.62">fromUserQuotas</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+<pre>static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.82">fromUserQuotas</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                                           org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</pre>
 </li>
 </ul>
@@ -395,7 +395,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>fromUserQuotas</h4>
-<pre>static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.66">fromUserQuotas</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+<pre>static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.86">fromUserQuotas</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                                           <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                           org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</pre>
 </li>
@@ -406,7 +406,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>fromUserQuotas</h4>
-<pre>static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.71">fromUserQuotas</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+<pre>static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.91">fromUserQuotas</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                                           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                                           org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</pre>
 </li>
@@ -417,7 +417,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>fromTableQuotas</h4>
-<pre>static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.76">fromTableQuotas</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.96">fromTableQuotas</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                            org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</pre>
 </li>
 </ul>
@@ -427,7 +427,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>fromNamespaceQuotas</h4>
-<pre>static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.80">fromNamespaceQuotas</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+<pre>static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.100">fromNamespaceQuotas</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                                                org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</pre>
 </li>
 </ul>
@@ -437,7 +437,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>fromQuotas</h4>
-<pre>private static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.84">fromQuotas</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+<pre>private static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.104">fromQuotas</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                                               <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                                               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</pre>
@@ -449,7 +449,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>fromThrottle</h4>
-<pre>private static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.99">fromThrottle</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+<pre>private static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.119">fromThrottle</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                                                 <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                                                 org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Throttle&nbsp;throttle)</pre>
@@ -461,7 +461,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>fromSpace</h4>
-<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.129">fromSpace</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.149">fromSpace</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/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                                org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota&nbsp;protoQuota)</pre>
 </li>
@@ -472,7 +472,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>throttleUser</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.155">throttleUser</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.184">throttleUser</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                                          <a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottleType</a>&nbsp;type,
                                          long&nbsp;limit,
                                          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;timeUnit)</pre>
@@ -494,7 +494,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>throttleUser</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.170">throttleUser</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.199">throttleUser</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                                          <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/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottleType</a>&nbsp;type,
                                          long&nbsp;limit,
@@ -518,7 +518,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>throttleUser</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.185">throttleUser</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.214">throttleUser</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                                          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                                          <a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottleType</a>&nbsp;type,
                                          long&nbsp;limit,
@@ -542,7 +542,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>unthrottleUser</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.196">unthrottleUser</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.225">unthrottleUser</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName)</pre>
 <div class="block">Remove the throttling for the specified user.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -558,7 +558,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>unthrottleUser</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.207">unthrottleUser</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.236">unthrottleUser</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                                            <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <div class="block">Remove the throttling for the specified user on the specified table.</div>
 <dl>
@@ -576,7 +576,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>unthrottleUser</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.218">unthrottleUser</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.247">unthrottleUser</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                                            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</pre>
 <div class="block">Remove the throttling for the specified user on the specified namespace.</div>
 <dl>
@@ -594,7 +594,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>throttleTable</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.231">throttleTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.260">throttleTable</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/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottleType</a>&nbsp;type,
                                           long&nbsp;limit,
                                           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;timeUnit)</pre>
@@ -616,7 +616,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>unthrottleTable</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.242">unthrottleTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.271">unthrottleTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <div class="block">Remove the throttling for the specified table.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -632,7 +632,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>throttleNamespace</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.255">throttleNamespace</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.284">throttleNamespace</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                                               <a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottleType</a>&nbsp;type,
                                               long&nbsp;limit,
                                               <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;timeUnit)</pre>
@@ -654,7 +654,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>unthrottleNamespace</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.266">unthrottleNamespace</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.295">unthrottleNamespace</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</pre>
 <div class="block">Remove the throttling for the specified namespace.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -670,7 +670,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>throttle</h4>
-<pre>private static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.271">throttle</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+<pre>private static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.300">throttle</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                                       <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                                       <a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottleType</a>&nbsp;type,
@@ -684,7 +684,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>bypassGlobals</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.295">bypassGlobals</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.324">bypassGlobals</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                                           boolean&nbsp;bypassGlobals)</pre>
 <div class="block">Set the "bypass global settings" for the specified user</div>
 <dl>
@@ -702,7 +702,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>limitTableSpace</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.313">limitTableSpace</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.342">limitTableSpace</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                             long&nbsp;sizeLimit,
                                             <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html" title="enum in org.apache.hadoop.hbase.quotas">SpaceViolationPolicy</a>&nbsp;violationPolicy)</pre>
 <div class="block">Creates a <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><code>QuotaSettings</code></a> object to limit the FileSystem space usage for the given table
@@ -724,7 +724,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>removeTableSpaceLimit</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.325">removeTableSpaceLimit</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.354">removeTableSpaceLimit</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <div class="block">Creates a <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><code>QuotaSettings</code></a> object to remove the FileSystem space quota for the given
  table.</div>
 <dl>
@@ -741,7 +741,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>limitNamespaceSpace</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.339">limitNamespaceSpace</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.368">limitNamespaceSpace</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                                                 long&nbsp;sizeLimit,
                                                 <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html" title="enum in org.apache.hadoop.hbase.quotas">SpaceViolationPolicy</a>&nbsp;violationPolicy)</pre>
 <div class="block">Creates a <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><code>QuotaSettings</code></a> object to limit the FileSystem space usage for the given
@@ -763,7 +763,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>removeNamespaceSpaceLimit</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.351">removeNamespaceSpaceLimit</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.380">removeNamespaceSpaceLimit</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</pre>
 <div class="block">Creates a <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><code>QuotaSettings</code></a> object to remove the FileSystem space quota for the given
  namespace.</div>
 <dl>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/coprocessor/example/ExampleMasterObserverWithMetrics.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/coprocessor/example/ExampleMasterObserverWithMetrics.html b/devapidocs/org/apache/hadoop/hbase/coprocessor/example/ExampleMasterObserverWithMetrics.html
index b05b907..b2d4ede 100644
--- a/devapidocs/org/apache/hadoop/hbase/coprocessor/example/ExampleMasterObserverWithMetrics.html
+++ b/devapidocs/org/apache/hadoop/hbase/coprocessor/example/ExampleMasterObserverWithMetrics.html
@@ -273,7 +273,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postAbortProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postAddColumnFamily</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postAddReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postAddRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAs
 sign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postAssign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postBalance</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-boolean-">postBalanceRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-boolean-">postBalanceSwitch</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postClearDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCloneSnapshot-org.apache.hado
 op.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postCloneSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedAddColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postCompletedAddColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCompletedCreateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-b
 yte:A-">postCompletedDeleteColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDeleteTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDisableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedEnableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.h
 base.client.RegionInfo-">postCompletedMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postCompletedModifyColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/copro
 cessor/MasterObserver.html#postCompletedTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedTruncateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postCreateNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">postDeleteColumnFamily</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDeleteNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org
 .apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">postDeleteSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDeleteTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDisableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDisableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postEnableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hb
 ase/coprocessor/MasterObserver.html#postEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postEnableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postGetLocks</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postGetNamespaceDescriptor</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postGetProcedures</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postGetReplicationPeerConfig</a>, <a 
 href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">postGetTableDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">postGetTableNames</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postListDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postListNamespaceDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverCont
 ext-java.lang.String-">postListReplicationPeers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">postListSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.master.locking.LockProcedure-boolean-">postLockHeartbeat</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postMergeRegions</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoo
 p.hbase.client.RegionInfo-">postMergeRegionsCommitAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postModifyColumnFamily</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Reg
 ionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">postMove</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">postMoveServersAndTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postRegionOffline</a>, <a href="../../../../../../org/apache/
 hadoop/hbase/coprocessor/MasterObserver.html#postRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.procedure2.LockType-java.lang.String-">postRequestLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postRestor
 eSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postRollBackMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postRollBackSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetNamespaceQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">postSetSplitOrMergeEnabled</a>, <a href=
 "../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetTableQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.had
 oop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postStartMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postStartMaster</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTableFlush</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTruncateTab
 le</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">postUnassign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postUpdateReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.procedure2.ProcedureExecutor-long-">preAbortProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preAddColu
 mnFamily</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preAddColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preAddReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preAddRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preAssign</a>, <a href="../../../../../../org/apache/hadoop/hbase/
 coprocessor/MasterObserver.html#preBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preBalance</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preBalanceRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-">preBalanceSwitch</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preClearDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preCloneSnapshot</a>, <a href="../../
 ../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preCreateNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preDeleteColumnFamily</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preDeleteColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hb
 ase/coprocessor/MasterObserver.html#preDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDeleteNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">preDeleteSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext
 -java.lang.String-">preDisableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preEnableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetLock
 s-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetLocks</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetNamespaceDescriptor</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetProcedures</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">preGetTableDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preG
 etTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">preGetTableNames</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preListDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">preListNamespaceDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preListReplicationPeers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">preListSnapshot</a>, <a href="../../..
 /../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.master.locking.LockProcedure-boolean-">preLockHeartbeat</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMasterInitialization-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preMasterInitialization</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegions</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsCommitAction-org.apache.hadoop.hbase.copr
 ocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-java.util.List-">preMergeRegionsCommitAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preModifyColumnFamily</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preModifyColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTab
 le-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">preMove</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServersAndT
 ables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">preMoveServersAndTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preRegionOffline</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveRSGroup</a>, <a href="../../../../../../org/apache/hado
 op/hbase/coprocessor/MasterObserver.html#preRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.procedure2.LockType-java.lang.String-">preRequestLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preRestoreSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetNamespaceQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetSplitOrMergeEnabled-org.apache.hadoop.hb
 ase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">preSetSplitOrMergeEnabled</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetTableQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocess
 or/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preShutdown-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preShutdown</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegion-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegion</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#pre
 SplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAfterPONRAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preSplitRegionAfterPONRAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionBeforePONRAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-byte:A-java.util.List-">preSplitRegionBeforePONRAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preStopMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preStopMaster</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTableFlush</a>, <a href="../../../../../../org/apache/hadoop/hbase/copro
 cessor/MasterObserver.html#preTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">preUnassign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preUpdateReplicationPeerConfig</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postAbortProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postAddColumnFamily</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postAddReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postAddRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAs
 sign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postAssign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postBalance</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-boolean-">postBalanceRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-boolean-">postBalanceSwitch</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postClearDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCloneSnapshot-org.apache.hado
 op.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postCloneSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedAddColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postCompletedAddColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCompletedCreateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-b
 yte:A-">postCompletedDeleteColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDeleteTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDisableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedEnableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.h
 base.client.RegionInfo-">postCompletedMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postCompletedModifyColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/copro
 cessor/MasterObserver.html#postCompletedTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedTruncateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postCreateNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">postDeleteColumnFamily</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDeleteNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org
 .apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">postDeleteSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDeleteTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDisableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDisableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postEnableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hb
 ase/coprocessor/MasterObserver.html#postEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postEnableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postGetLocks</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postGetNamespaceDescriptor</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postGetProcedures</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postGetReplicationPeerConfig</a>, <a 
 href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">postGetTableDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">postGetTableNames</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postListDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postListNamespaceDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverCont
 ext-java.lang.String-">postListReplicationPeers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">postListSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.master.locking.LockProcedure-boolean-">postLockHeartbeat</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postMergeRegions</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoo
 p.hbase.client.RegionInfo-">postMergeRegionsCommitAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postModifyColumnFamily</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Reg
 ionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">postMove</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">postMoveServersAndTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postRegionOffline</a>, <a href="../../../../../../org/apache/
 hadoop/hbase/coprocessor/MasterObserver.html#postRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.procedure2.LockType-java.lang.String-">postRequestLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postRestor
 eSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postRollBackMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postRollBackSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetNamespaceQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">postSetSplitOrMergeEnabled</a>, <a href="../../../../../..
 /org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetTableQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-"
 >postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postStartMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postStartMaster</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTableFlush</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTruncateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html
 #postUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">postUnassign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postUpdateReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.procedure2.ProcedureExecutor-long-">preAbortProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preAddColumnFamily</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserve
 r.html#preAddColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preAddColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preAddReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preAddRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preAssign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalance-org.apache.hadoop.hbase.coprocessor.ObserverCon
 text-">preBalance</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preBalanceRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-">preBalanceSwitch</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preClearDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preCloneSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateNamespace-org
 .apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preCreateNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preDeleteColumnFamily</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preDeleteColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteNamespace-org.apache.hadoop.hbase.coprocessor
 .ObserverContext-java.lang.String-">preDeleteNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">preDeleteSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDisableReplicationPeer</a>, <a href="../../../../../../org/apache/h
 adoop/hbase/coprocessor/MasterObserver.html#preDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preEnableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetLocks</a>, <a href="../../..
 /../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetNamespaceDescriptor</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetProcedures</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">preGetTableDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.
 String-">preGetTableNames</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preListDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">preListNamespaceDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preListReplicationPeers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">preListSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preLockHeartbeat-org.apa
 che.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.master.locking.LockProcedure-boolean-">preLockHeartbeat</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMasterInitialization-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preMasterInitialization</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegions</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-java.util.List-">preMe
 rgeRegionsCommitAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preModifyColumnFamily</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preModifyColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-o
 rg.apache.hadoop.hbase.client.TableDescriptor-">preModifyTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">preMove</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java
 .lang.String-">preMoveServersAndTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preRegionOffline</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRequestLock-org.apache.hadoop.hbase.coprocesso
 r.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.procedure2.LockType-java.lang.String-">preRequestLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preRestoreSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetNamespaceQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">preSetSplitOrMerge
 Enabled</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetTableQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hb
 ase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preShutdown-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preShutdown</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegion-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegion</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegionAction</a>, <a href="../../../../../../org/apache/had
 oop/hbase/coprocessor/MasterObserver.html#preSplitRegionAfterPONRAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preSplitRegionAfterPONRAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionBeforePONRAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-byte:A-java.util.List-">preSplitRegionBeforePONRAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preStopMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preStopMaster</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTableFlush</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTable</a>, <a href="../../../../../..
 /org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">preUnassign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preUpdateReplicationPeerConfig</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.Coprocessor">

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

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

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

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperation.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperation.html b/devapidocs/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperation.html
index 48e688d..69475a8 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperation.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperation.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private abstract static class <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1406">MasterCoprocessorHost.CoprocessorOperation</a>
+<pre>private abstract static class <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1416">MasterCoprocessorHost.CoprocessorOperation</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;</pre>
 </li>
 </ul>
@@ -206,7 +206,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverCont
 <ul class="blockList">
 <li class="blockList">
 <h4>CoprocessorOperation</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperation.html#line.1408">CoprocessorOperation</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperation.html#line.1418">CoprocessorOperation</a>()</pre>
 </li>
 </ul>
 <a name="CoprocessorOperation-org.apache.hadoop.hbase.security.User-">
@@ -215,7 +215,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverCont
 <ul class="blockListLast">
 <li class="blockList">
 <h4>CoprocessorOperation</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperation.html#line.1412">CoprocessorOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperation.html#line.1422">CoprocessorOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)</pre>
 </li>
 </ul>
 </li>
@@ -232,7 +232,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverCont
 <ul class="blockList">
 <li class="blockList">
 <h4>call</h4>
-<pre>public abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperation.html#line.1416">call</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a>&nbsp;oserver,
+<pre>public abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperation.html#line.1426">call</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a>&nbsp;oserver,
                           <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx)
                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -247,7 +247,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverCont
 <ul class="blockListLast">
 <li class="blockList">
 <h4>postEnvCall</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperation.html#line.1419">postEnvCall</a>(<a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.MasterEnvironment.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost.MasterEnvironment</a>&nbsp;env)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperation.html#line.1429">postEnvCall</a>(<a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.MasterEnvironment.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost.MasterEnvironment</a>&nbsp;env)</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperationWithResult.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperationWithResult.html b/devapidocs/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperationWithResult.html
index 05c408e..4d7d275 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperationWithResult.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperationWithResult.html
@@ -123,7 +123,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private abstract static class <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1423">MasterCoprocessorHost.CoprocessorOperationWithResult</a>&lt;T&gt;
+<pre>private abstract static class <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1433">MasterCoprocessorHost.CoprocessorOperationWithResult</a>&lt;T&gt;
 extends <a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperation.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost.CoprocessorOperation</a></pre>
 </li>
 </ul>
@@ -231,7 +231,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessor
 <ul class="blockListLast">
 <li class="blockList">
 <h4>result</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperationWithResult.html" title="type parameter in MasterCoprocessorHost.CoprocessorOperationWithResult">T</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperationWithResult.html#line.1424">result</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperationWithResult.html" title="type parameter in MasterCoprocessorHost.CoprocessorOperationWithResult">T</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperationWithResult.html#line.1434">result</a></pre>
 </li>
 </ul>
 </li>
@@ -248,7 +248,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessor
 <ul class="blockListLast">
 <li class="blockList">
 <h4>CoprocessorOperationWithResult</h4>
-<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperationWithResult.html#line.1423">CoprocessorOperationWithResult</a>()</pre>
+<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperationWithResult.html#line.1433">CoprocessorOperationWithResult</a>()</pre>
 </li>
 </ul>
 </li>
@@ -267,7 +267,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessor
 <ul class="blockList">
 <li class="blockList">
 <h4>setResult</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperationWithResult.html#line.1425">setResult</a>(<a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperationWithResult.html" title="type parameter in MasterCoprocessorHost.CoprocessorOperationWithResult">T</a>&nbsp;result)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperationWithResult.html#line.1435">setResult</a>(<a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperationWithResult.html" title="type parameter in MasterCoprocessorHost.CoprocessorOperationWithResult">T</a>&nbsp;result)</pre>
 </li>
 </ul>
 <a name="getResult--">
@@ -276,7 +276,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessor
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getResult</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperationWithResult.html" title="type parameter in MasterCoprocessorHost.CoprocessorOperationWithResult">T</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperationWithResult.html#line.1426">getResult</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperationWithResult.html" title="type parameter in MasterCoprocessorHost.CoprocessorOperationWithResult">T</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperationWithResult.html#line.1436">getResult</a>()</pre>
 </li>
 </ul>
 </li>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/apidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html b/apidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html
index f6e5737..7c465b8 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html
@@ -25,341 +25,370 @@
 <span class="sourceLineNo">017</span> */<a name="line.17"></a>
 <span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.quotas;<a name="line.18"></a>
 <span class="sourceLineNo">019</span><a name="line.19"></a>
-<span class="sourceLineNo">020</span>import java.util.ArrayList;<a name="line.20"></a>
-<span class="sourceLineNo">021</span>import java.util.List;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.util.concurrent.TimeUnit;<a name="line.22"></a>
-<span class="sourceLineNo">023</span><a name="line.23"></a>
-<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.TableName;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota;<a name="line.30"></a>
-<span class="sourceLineNo">031</span><a name="line.31"></a>
-<span class="sourceLineNo">032</span>@InterfaceAudience.Public<a name="line.32"></a>
-<span class="sourceLineNo">033</span>public class QuotaSettingsFactory {<a name="line.33"></a>
-<span class="sourceLineNo">034</span>  static class QuotaGlobalsSettingsBypass extends QuotaSettings {<a name="line.34"></a>
-<span class="sourceLineNo">035</span>    private final boolean bypassGlobals;<a name="line.35"></a>
-<span class="sourceLineNo">036</span><a name="line.36"></a>
-<span class="sourceLineNo">037</span>    QuotaGlobalsSettingsBypass(final String userName, final TableName tableName,<a name="line.37"></a>
-<span class="sourceLineNo">038</span>      final String namespace, final boolean bypassGlobals) {<a name="line.38"></a>
-<span class="sourceLineNo">039</span>      super(userName, tableName, namespace);<a name="line.39"></a>
-<span class="sourceLineNo">040</span>      this.bypassGlobals = bypassGlobals;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>    }<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span>    @Override<a name="line.43"></a>
-<span class="sourceLineNo">044</span>    public QuotaType getQuotaType() {<a name="line.44"></a>
-<span class="sourceLineNo">045</span>      return QuotaType.GLOBAL_BYPASS;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>    }<a name="line.46"></a>
-<span class="sourceLineNo">047</span><a name="line.47"></a>
-<span class="sourceLineNo">048</span>    @Override<a name="line.48"></a>
-<span class="sourceLineNo">049</span>    protected void setupSetQuotaRequest(SetQuotaRequest.Builder builder) {<a name="line.49"></a>
-<span class="sourceLineNo">050</span>      builder.setBypassGlobals(bypassGlobals);<a name="line.50"></a>
-<span class="sourceLineNo">051</span>    }<a name="line.51"></a>
-<span class="sourceLineNo">052</span><a name="line.52"></a>
-<span class="sourceLineNo">053</span>    @Override<a name="line.53"></a>
-<span class="sourceLineNo">054</span>    public String toString() {<a name="line.54"></a>
-<span class="sourceLineNo">055</span>      return "GLOBAL_BYPASS =&gt; " + bypassGlobals;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>    }<a name="line.56"></a>
-<span class="sourceLineNo">057</span>  }<a name="line.57"></a>
-<span class="sourceLineNo">058</span><a name="line.58"></a>
-<span class="sourceLineNo">059</span>  /* ==========================================================================<a name="line.59"></a>
-<span class="sourceLineNo">060</span>   *  QuotaSettings from the Quotas object<a name="line.60"></a>
-<span class="sourceLineNo">061</span>   */<a name="line.61"></a>
-<span class="sourceLineNo">062</span>  static List&lt;QuotaSettings&gt; fromUserQuotas(final String userName, final Quotas quotas) {<a name="line.62"></a>
-<span class="sourceLineNo">063</span>    return fromQuotas(userName, null, null, quotas);<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>  static List&lt;QuotaSettings&gt; fromUserQuotas(final String userName, final TableName tableName,<a name="line.66"></a>
-<span class="sourceLineNo">067</span>      final Quotas quotas) {<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    return fromQuotas(userName, tableName, null, quotas);<a name="line.68"></a>
-<span class="sourceLineNo">069</span>  }<a name="line.69"></a>
+<span class="sourceLineNo">020</span>import java.io.IOException;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import java.util.ArrayList;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.util.List;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.util.concurrent.TimeUnit;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.TableName;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.26"></a>
+<span class="sourceLineNo">027</span><a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota;<a name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>@InterfaceAudience.Public<a name="line.34"></a>
+<span class="sourceLineNo">035</span>public class QuotaSettingsFactory {<a name="line.35"></a>
+<span class="sourceLineNo">036</span>  static class QuotaGlobalsSettingsBypass extends QuotaSettings {<a name="line.36"></a>
+<span class="sourceLineNo">037</span>    private final boolean bypassGlobals;<a name="line.37"></a>
+<span class="sourceLineNo">038</span><a name="line.38"></a>
+<span class="sourceLineNo">039</span>    QuotaGlobalsSettingsBypass(final String userName, final TableName tableName,<a name="line.39"></a>
+<span class="sourceLineNo">040</span>      final String namespace, final boolean bypassGlobals) {<a name="line.40"></a>
+<span class="sourceLineNo">041</span>      super(userName, tableName, namespace);<a name="line.41"></a>
+<span class="sourceLineNo">042</span>      this.bypassGlobals = bypassGlobals;<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>    @Override<a name="line.45"></a>
+<span class="sourceLineNo">046</span>    public QuotaType getQuotaType() {<a name="line.46"></a>
+<span class="sourceLineNo">047</span>      return QuotaType.GLOBAL_BYPASS;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>    }<a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span>    @Override<a name="line.50"></a>
+<span class="sourceLineNo">051</span>    protected void setupSetQuotaRequest(SetQuotaRequest.Builder builder) {<a name="line.51"></a>
+<span class="sourceLineNo">052</span>      builder.setBypassGlobals(bypassGlobals);<a name="line.52"></a>
+<span class="sourceLineNo">053</span>    }<a name="line.53"></a>
+<span class="sourceLineNo">054</span><a name="line.54"></a>
+<span class="sourceLineNo">055</span>    @Override<a name="line.55"></a>
+<span class="sourceLineNo">056</span>    public String toString() {<a name="line.56"></a>
+<span class="sourceLineNo">057</span>      return "GLOBAL_BYPASS =&gt; " + bypassGlobals;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    }<a name="line.58"></a>
+<span class="sourceLineNo">059</span><a name="line.59"></a>
+<span class="sourceLineNo">060</span>    protected boolean getBypass() {<a name="line.60"></a>
+<span class="sourceLineNo">061</span>      return bypassGlobals;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>    }<a name="line.62"></a>
+<span class="sourceLineNo">063</span><a name="line.63"></a>
+<span class="sourceLineNo">064</span>    @Override<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    protected QuotaGlobalsSettingsBypass merge(QuotaSettings newSettings) throws IOException {<a name="line.65"></a>
+<span class="sourceLineNo">066</span>      if (newSettings instanceof QuotaGlobalsSettingsBypass) {<a name="line.66"></a>
+<span class="sourceLineNo">067</span>        QuotaGlobalsSettingsBypass other = (QuotaGlobalsSettingsBypass) newSettings;<a name="line.67"></a>
+<span class="sourceLineNo">068</span><a name="line.68"></a>
+<span class="sourceLineNo">069</span>        validateQuotaTarget(other);<a name="line.69"></a>
 <span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span>  static List&lt;QuotaSettings&gt; fromUserQuotas(final String userName, final String namespace,<a name="line.71"></a>
-<span class="sourceLineNo">072</span>      final Quotas quotas) {<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    return fromQuotas(userName, null, namespace, quotas);<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>  static List&lt;QuotaSettings&gt; fromTableQuotas(final TableName tableName, final Quotas quotas) {<a name="line.76"></a>
-<span class="sourceLineNo">077</span>    return fromQuotas(null, tableName, null, quotas);<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>  static List&lt;QuotaSettings&gt; fromNamespaceQuotas(final String namespace, final Quotas quotas) {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    return fromQuotas(null, null, namespace, quotas);<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>  private static List&lt;QuotaSettings&gt; fromQuotas(final String userName, final TableName tableName,<a name="line.84"></a>
-<span class="sourceLineNo">085</span>      final String namespace, final Quotas quotas) {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    List&lt;QuotaSettings&gt; settings = new ArrayList&lt;&gt;();<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    if (quotas.hasThrottle()) {<a name="line.87"></a>
-<span class="sourceLineNo">088</span>      settings.addAll(fromThrottle(userName, tableName, namespace, quotas.getThrottle()));<a name="line.88"></a>
-<span class="sourceLineNo">089</span>    }<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    if (quotas.getBypassGlobals() == true) {<a name="line.90"></a>
-<span class="sourceLineNo">091</span>      settings.add(new QuotaGlobalsSettingsBypass(userName, tableName, namespace, true));<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    }<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    if (quotas.hasSpace()) {<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      settings.add(fromSpace(tableName, namespace, quotas.getSpace()));<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    }<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    return settings;<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>  private static List&lt;QuotaSettings&gt; fromThrottle(final String userName, final TableName tableName,<a name="line.99"></a>
-<span class="sourceLineNo">100</span>      final String namespace, final QuotaProtos.Throttle throttle) {<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    List&lt;QuotaSettings&gt; settings = new ArrayList&lt;&gt;();<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    if (throttle.hasReqNum()) {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.103"></a>
-<span class="sourceLineNo">104</span>          ThrottleType.REQUEST_NUMBER, throttle.getReqNum()));<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    }<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    if (throttle.hasReqSize()) {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.107"></a>
-<span class="sourceLineNo">108</span>          ThrottleType.REQUEST_SIZE, throttle.getReqSize()));<a name="line.108"></a>
+<span class="sourceLineNo">071</span>        if (getBypass() != other.getBypass()) {<a name="line.71"></a>
+<span class="sourceLineNo">072</span>          return other;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>        }<a name="line.73"></a>
+<span class="sourceLineNo">074</span>      }<a name="line.74"></a>
+<span class="sourceLineNo">075</span>      return this;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    }<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  }<a name="line.77"></a>
+<span class="sourceLineNo">078</span><a name="line.78"></a>
+<span class="sourceLineNo">079</span>  /* ==========================================================================<a name="line.79"></a>
+<span class="sourceLineNo">080</span>   *  QuotaSettings from the Quotas object<a name="line.80"></a>
+<span class="sourceLineNo">081</span>   */<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  static List&lt;QuotaSettings&gt; fromUserQuotas(final String userName, final Quotas quotas) {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    return fromQuotas(userName, null, null, quotas);<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  }<a name="line.84"></a>
+<span class="sourceLineNo">085</span><a name="line.85"></a>
+<span class="sourceLineNo">086</span>  static List&lt;QuotaSettings&gt; fromUserQuotas(final String userName, final TableName tableName,<a name="line.86"></a>
+<span class="sourceLineNo">087</span>      final Quotas quotas) {<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    return fromQuotas(userName, tableName, null, quotas);<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>  static List&lt;QuotaSettings&gt; fromUserQuotas(final String userName, final String namespace,<a name="line.91"></a>
+<span class="sourceLineNo">092</span>      final Quotas quotas) {<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    return fromQuotas(userName, null, namespace, quotas);<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>  static List&lt;QuotaSettings&gt; fromTableQuotas(final TableName tableName, final Quotas quotas) {<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    return fromQuotas(null, tableName, null, quotas);<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>  static List&lt;QuotaSettings&gt; fromNamespaceQuotas(final String namespace, final Quotas quotas) {<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    return fromQuotas(null, null, namespace, quotas);<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  }<a name="line.102"></a>
+<span class="sourceLineNo">103</span><a name="line.103"></a>
+<span class="sourceLineNo">104</span>  private static List&lt;QuotaSettings&gt; fromQuotas(final String userName, final TableName tableName,<a name="line.104"></a>
+<span class="sourceLineNo">105</span>      final String namespace, final Quotas quotas) {<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    List&lt;QuotaSettings&gt; settings = new ArrayList&lt;&gt;();<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    if (quotas.hasThrottle()) {<a name="line.107"></a>
+<span class="sourceLineNo">108</span>      settings.addAll(fromThrottle(userName, tableName, namespace, quotas.getThrottle()));<a name="line.108"></a>
 <span class="sourceLineNo">109</span>    }<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    if (throttle.hasWriteNum()) {<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.111"></a>
-<span class="sourceLineNo">112</span>          ThrottleType.WRITE_NUMBER, throttle.getWriteNum()));<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    }<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    if (throttle.hasWriteSize()) {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.115"></a>
-<span class="sourceLineNo">116</span>          ThrottleType.WRITE_SIZE, throttle.getWriteSize()));<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    }<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    if (throttle.hasReadNum()) {<a name="line.118"></a>
-<span class="sourceLineNo">119</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.119"></a>
-<span class="sourceLineNo">120</span>          ThrottleType.READ_NUMBER, throttle.getReadNum()));<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    if (throttle.hasReadSize()) {<a name="line.122"></a>
+<span class="sourceLineNo">110</span>    if (quotas.getBypassGlobals() == true) {<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      settings.add(new QuotaGlobalsSettingsBypass(userName, tableName, namespace, true));<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    }<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    if (quotas.hasSpace()) {<a name="line.113"></a>
+<span class="sourceLineNo">114</span>      settings.add(fromSpace(tableName, namespace, quotas.getSpace()));<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    }<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    return settings;<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>  private static List&lt;QuotaSettings&gt; fromThrottle(final String userName, final TableName tableName,<a name="line.119"></a>
+<span class="sourceLineNo">120</span>      final String namespace, final QuotaProtos.Throttle throttle) {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    List&lt;QuotaSettings&gt; settings = new ArrayList&lt;&gt;();<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    if (throttle.hasReqNum()) {<a name="line.122"></a>
 <span class="sourceLineNo">123</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.123"></a>
-<span class="sourceLineNo">124</span>          ThrottleType.READ_SIZE, throttle.getReadSize()));<a name="line.124"></a>
+<span class="sourceLineNo">124</span>          ThrottleType.REQUEST_NUMBER, throttle.getReqNum()));<a name="line.124"></a>
 <span class="sourceLineNo">125</span>    }<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    return settings;<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>  static QuotaSettings fromSpace(TableName table, String namespace, SpaceQuota protoQuota) {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    if ((table == null &amp;&amp; namespace == null) || (table != null &amp;&amp; namespace != null)) {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>      throw new IllegalArgumentException(<a name="line.131"></a>
-<span class="sourceLineNo">132</span>          "Can only construct SpaceLimitSettings for a table or namespace.");<a name="line.132"></a>
+<span class="sourceLineNo">126</span>    if (throttle.hasReqSize()) {<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.127"></a>
+<span class="sourceLineNo">128</span>          ThrottleType.REQUEST_SIZE, throttle.getReqSize()));<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    }<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    if (throttle.hasWriteNum()) {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.131"></a>
+<span class="sourceLineNo">132</span>          ThrottleType.WRITE_NUMBER, throttle.getWriteNum()));<a name="line.132"></a>
 <span class="sourceLineNo">133</span>    }<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    if (table != null) {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      return SpaceLimitSettings.fromSpaceQuota(table, protoQuota);<a name="line.135"></a>
-<span class="sourceLineNo">136</span>    } else {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      // namespace must be non-null<a name="line.137"></a>
-<span class="sourceLineNo">138</span>      return SpaceLimitSettings.fromSpaceQuota(namespace, protoQuota);<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    }<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  }<a name="line.140"></a>
-<span class="sourceLineNo">141</span><a name="line.141"></a>
-<span class="sourceLineNo">142</span>  /* ==========================================================================<a name="line.142"></a>
-<span class="sourceLineNo">143</span>   *  RPC Throttle<a name="line.143"></a>
-<span class="sourceLineNo">144</span>   */<a name="line.144"></a>
-<span class="sourceLineNo">145</span><a name="line.145"></a>
-<span class="sourceLineNo">146</span>  /**<a name="line.146"></a>
-<span class="sourceLineNo">147</span>   * Throttle the specified user.<a name="line.147"></a>
-<span class="sourceLineNo">148</span>   *<a name="line.148"></a>
-<span class="sourceLineNo">149</span>   * @param userName the user to throttle<a name="line.149"></a>
-<span class="sourceLineNo">150</span>   * @param type the type of throttling<a name="line.150"></a>
-<span class="sourceLineNo">151</span>   * @param limit the allowed number of request/data per timeUnit<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   * @param timeUnit the limit time unit<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * @return the quota settings<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   */<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  public static QuotaSettings throttleUser(final String userName, final ThrottleType type,<a name="line.155"></a>
-<span class="sourceLineNo">156</span>      final long limit, final TimeUnit timeUnit) {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    return throttle(userName, null, null, type, limit, timeUnit);<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>   * Throttle the specified user on the specified table.<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   *<a name="line.162"></a>
-<span class="sourceLineNo">163</span>   * @param userName the user to throttle<a name="line.163"></a>
-<span class="sourceLineNo">164</span>   * @param tableName the table to throttle<a name="line.164"></a>
-<span class="sourceLineNo">165</span>   * @param type the type of throttling<a name="line.165"></a>
-<span class="sourceLineNo">166</span>   * @param limit the allowed number of request/data per timeUnit<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   * @param timeUnit the limit time unit<a name="line.167"></a>
-<span class="sourceLineNo">168</span>   * @return the quota settings<a name="line.168"></a>
-<span class="sourceLineNo">169</span>   */<a name="line.169"></a>
-<span class="sourceLineNo">170</span>  public static QuotaSettings throttleUser(final String userName, final TableName tableName,<a name="line.170"></a>
-<span class="sourceLineNo">171</span>      final ThrottleType type, final long limit, final TimeUnit timeUnit) {<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    return throttle(userName, tableName, null, type, limit, timeUnit);<a name="line.172"></a>
-<span class="sourceLineNo">173</span>  }<a name="line.173"></a>
+<span class="sourceLineNo">134</span>    if (throttle.hasWriteSize()) {<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.135"></a>
+<span class="sourceLineNo">136</span>          ThrottleType.WRITE_SIZE, throttle.getWriteSize()));<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    }<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    if (throttle.hasReadNum()) {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.139"></a>
+<span class="sourceLineNo">140</span>          ThrottleType.READ_NUMBER, throttle.getReadNum()));<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    }<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    if (throttle.hasReadSize()) {<a name="line.142"></a>
+<span class="sourceLineNo">143</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.143"></a>
+<span class="sourceLineNo">144</span>          ThrottleType.READ_SIZE, throttle.getReadSize()));<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    }<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    return settings;<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>  static QuotaSettings fromSpace(TableName table, String namespace, SpaceQuota protoQuota) {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    if (protoQuota == null) {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      return null;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    }<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    if ((table == null &amp;&amp; namespace == null) || (table != null &amp;&amp; namespace != null)) {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>      throw new IllegalArgumentException(<a name="line.154"></a>
+<span class="sourceLineNo">155</span>          "Can only construct SpaceLimitSettings for a table or namespace.");<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    }<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    if (table != null) {<a name="line.157"></a>
+<span class="sourceLineNo">158</span>      if (protoQuota.getRemove()) {<a name="line.158"></a>
+<span class="sourceLineNo">159</span>        return new SpaceLimitSettings(table);<a name="line.159"></a>
+<span class="sourceLineNo">160</span>      }<a name="line.160"></a>
+<span class="sourceLineNo">161</span>      return SpaceLimitSettings.fromSpaceQuota(table, protoQuota);<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    } else {<a name="line.162"></a>
+<span class="sourceLineNo">163</span>      if (protoQuota.getRemove()) {<a name="line.163"></a>
+<span class="sourceLineNo">164</span>        return new SpaceLimitSettings(namespace);<a name="line.164"></a>
+<span class="sourceLineNo">165</span>      }<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      // namespace must be non-null<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      return SpaceLimitSettings.fromSpaceQuota(namespace, protoQuota);<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    }<a name="line.168"></a>
+<span class="sourceLineNo">169</span>  }<a name="line.169"></a>
+<span class="sourceLineNo">170</span><a name="line.170"></a>
+<span class="sourceLineNo">171</span>  /* ==========================================================================<a name="line.171"></a>
+<span class="sourceLineNo">172</span>   *  RPC Throttle<a name="line.172"></a>
+<span class="sourceLineNo">173</span>   */<a name="line.173"></a>
 <span class="sourceLineNo">174</span><a name="line.174"></a>
 <span class="sourceLineNo">175</span>  /**<a name="line.175"></a>
-<span class="sourceLineNo">176</span>   * Throttle the specified user on the specified namespace.<a name="line.176"></a>
+<span class="sourceLineNo">176</span>   * Throttle the specified user.<a name="line.176"></a>
 <span class="sourceLineNo">177</span>   *<a name="line.177"></a>
 <span class="sourceLineNo">178</span>   * @param userName the user to throttle<a name="line.178"></a>
-<span class="sourceLineNo">179</span>   * @param namespace the namespace to throttle<a name="line.179"></a>
-<span class="sourceLineNo">180</span>   * @param type the type of throttling<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   * @param limit the allowed number of request/data per timeUnit<a name="line.181"></a>
-<span class="sourceLineNo">182</span>   * @param timeUnit the limit time unit<a name="line.182"></a>
-<span class="sourceLineNo">183</span>   * @return the quota settings<a name="line.183"></a>
-<span class="sourceLineNo">184</span>   */<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  public static QuotaSettings throttleUser(final String userName, final String namespace,<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      final ThrottleType type, final long limit, final TimeUnit timeUnit) {<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    return throttle(userName, null, namespace, type, limit, timeUnit);<a name="line.187"></a>
-<span class="sourceLineNo">188</span>  }<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>  /**<a name="line.190"></a>
-<span class="sourceLineNo">191</span>   * Remove the throttling for the specified user.<a name="line.191"></a>
-<span class="sourceLineNo">192</span>   *<a name="line.192"></a>
-<span class="sourceLineNo">193</span>   * @param userName the user<a name="line.193"></a>
-<span class="sourceLineNo">194</span>   * @return the quota settings<a name="line.194"></a>
-<span class="sourceLineNo">195</span>   */<a name="line.195"></a>
-<span class="sourceLineNo">196</span>  public static QuotaSettings unthrottleUser(final String userName) {<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    return throttle(userName, null, null, null, 0, null);<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  }<a name="line.198"></a>
-<span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>  /**<a name="line.200"></a>
-<span class="sourceLineNo">201</span>   * Remove the throttling for the specified user on the specified table.<a name="line.201"></a>
-<span class="sourceLineNo">202</span>   *<a name="line.202"></a>
-<span class="sourceLineNo">203</span>   * @param userName the user<a name="line.203"></a>
-<span class="sourceLineNo">204</span>   * @param tableName the table<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   * @return the quota settings<a name="line.205"></a>
-<span class="sourceLineNo">206</span>   */<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  public static QuotaSettings unthrottleUser(final String userName, final TableName tableName) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    return throttle(userName, tableName, null, null, 0, null);<a name="line.208"></a>
-<span class="sourceLineNo">209</span>  }<a name="line.209"></a>
-<span class="sourceLineNo">210</span><a name="line.210"></a>
-<span class="sourceLineNo">211</span>  /**<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   * Remove the throttling for the specified user on the specified namespace.<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   *<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   * @param userName the user<a name="line.214"></a>
-<span class="sourceLineNo">215</span>   * @param namespace the namespace<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   * @return the quota settings<a name="line.216"></a>
-<span class="sourceLineNo">217</span>   */<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  public static QuotaSettings unthrottleUser(final String userName, final String namespace) {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    return throttle(userName, null, namespace, null, 0, null);<a name="line.219"></a>
-<span class="sourceLineNo">220</span>  }<a name="line.220"></a>
-<span class="sourceLineNo">221</span><a name="line.221"></a>
-<span class="sourceLineNo">222</span>  /**<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   * Throttle the specified table.<a name="line.223"></a>
-<span class="sourceLineNo">224</span>   *<a name="line.224"></a>
-<span class="sourceLineNo">225</span>   * @param tableName the table to throttle<a name="line.225"></a>
-<span class="sourceLineNo">226</span>   * @param type the type of throttling<a name="line.226"></a>
-<span class="sourceLineNo">227</span>   * @param limit the allowed number of request/data per timeUnit<a name="line.227"></a>
-<span class="sourceLineNo">228</span>   * @param timeUnit the limit time unit<a name="line.228"></a>
-<span class="sourceLineNo">229</span>   * @return the quota settings<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   */<a name="line.230"></a>
-<span class="sourceLineNo">231</span>  public static QuotaSettings throttleTable(final TableName tableName, final ThrottleType type,<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      final long limit, final TimeUnit timeUnit) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    return throttle(null, tableName, null, type, limit, timeUnit);<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>   * Remove the throttling for the specified table.<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   *<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   * @param tableName the table<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * @return the quota settings<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   */<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  public static QuotaSettings unthrottleTable(final TableName tableName) {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    return throttle(null, tableName, null, null, 0, null);<a name="line.243"></a>
-<span class="sourceLineNo">244</span>  }<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span>  /**<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   * Throttle the specified namespace.<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   *<a name="line.248"></a>
-<span class="sourceLineNo">249</span>   * @param namespace the namespace to throttle<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   * @param type the type of throttling<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   * @param limit the allowed number of request/data per timeUnit<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * @param timeUnit the limit time unit<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   * @return the quota settings<a name="line.253"></a>
-<span class="sourceLineNo">254</span>   */<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  public static QuotaSettings throttleNamespace(final String namespace, final ThrottleType type,<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      final long limit, final TimeUnit timeUnit) {<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    return throttle(null, null, namespace, type, limit, timeUnit);<a name="line.257"></a>
-<span class="sourceLineNo">258</span>  }<a name="line.258"></a>
-<span class="sourceLineNo">259</span><a name="line.259"></a>
-<span class="sourceLineNo">260</span>  /**<a name="line.260"></a>
-<span class="sourceLineNo">261</span>   * Remove the throttling for the specified namespace.<a name="line.261"></a>
-<span class="sourceLineNo">262</span>   *<a name="line.262"></a>
-<span class="sourceLineNo">263</span>   * @param namespace the namespace<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   * @return the quota settings<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   */<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  public static QuotaSettings unthrottleNamespace(final String namespace) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    return throttle(null, null, namespace, null, 0, null);<a name="line.267"></a>
-<span class="sourceLineNo">268</span>  }<a name="line.268"></a>
-<span class="sourceLineNo">269</span><a name="line.269"></a>
-<span class="sourceLineNo">270</span>  /* Throttle helper */<a name="line.270"></a>
-<span class="sourceLineNo">271</span>  private static QuotaSettings throttle(final String userName, final TableName tableName,<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      final String namespace, final ThrottleType type, final long limit,<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      final TimeUnit timeUnit) {<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    QuotaProtos.ThrottleRequest.Builder builder = QuotaProtos.ThrottleRequest.newBuilder();<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    if (type != null) {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      builder.setType(ProtobufUtil.toProtoThrottleType(type));<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    }<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    if (timeUnit != null) {<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      builder.setTimedQuota(ProtobufUtil.toTimedQuota(limit, timeUnit, QuotaScope.MACHINE));<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    }<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    return new ThrottleSettings(userName, tableName, namespace, builder.build());<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>   *  Global Settings<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>   * Set the "bypass global settings" for the specified user<a name="line.289"></a>
-<span class="sourceLineNo">290</span>   *<a name="line.290"></a>
-<span class="sourceLineNo">291</span>   * @param userName the user to throttle<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   * @param bypassGlobals true if the global settings should be bypassed<a name="line.292"></a>
+<span class="sourceLineNo">179</span>   * @param type the type of throttling<a name="line.179"></a>
+<span class="sourceLineNo">180</span>   * @param limit the allowed number of request/data per timeUnit<a name="line.180"></a>
+<span class="sourceLineNo">181</span>   * @param timeUnit the limit time unit<a name="line.181"></a>
+<span class="sourceLineNo">182</span>   * @return the quota settings<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   */<a name="line.183"></a>
+<span class="sourceLineNo">184</span>  public static QuotaSettings throttleUser(final String userName, final ThrottleType type,<a name="line.184"></a>
+<span class="sourceLineNo">185</span>      final long limit, final TimeUnit timeUnit) {<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    return throttle(userName, null, null, type, limit, timeUnit);<a name="line.186"></a>
+<span class="sourceLineNo">187</span>  }<a name="line.187"></a>
+<span class="sourceLineNo">188</span><a name="line.188"></a>
+<span class="sourceLineNo">189</span>  /**<a name="line.189"></a>
+<span class="sourceLineNo">190</span>   * Throttle the specified user on the specified table.<a name="line.190"></a>
+<span class="sourceLineNo">191</span>   *<a name="line.191"></a>
+<span class="sourceLineNo">192</span>   * @param userName the user to throttle<a name="line.192"></a>
+<span class="sourceLineNo">193</span>   * @param tableName the table to throttle<a name="line.193"></a>
+<span class="sourceLineNo">194</span>   * @param type the type of throttling<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   * @param limit the allowed number of request/data per timeUnit<a name="line.195"></a>
+<span class="sourceLineNo">196</span>   * @param timeUnit the limit time unit<a name="line.196"></a>
+<span class="sourceLineNo">197</span>   * @return the quota settings<a name="line.197"></a>
+<span class="sourceLineNo">198</span>   */<a name="line.198"></a>
+<span class="sourceLineNo">199</span>  public static QuotaSettings throttleUser(final String userName, final TableName tableName,<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      final ThrottleType type, final long limit, final TimeUnit timeUnit) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    return throttle(userName, tableName, null, type, limit, timeUnit);<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>   * Throttle the specified user on the specified namespace.<a name="line.205"></a>
+<span class="sourceLineNo">206</span>   *<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   * @param userName the user to throttle<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   * @param namespace the namespace to throttle<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   * @param type the type of throttling<a name="line.209"></a>
+<span class="sourceLineNo">210</span>   * @param limit the allowed number of request/data per timeUnit<a name="line.210"></a>
+<span class="sourceLineNo">211</span>   * @param timeUnit the limit time unit<a name="line.211"></a>
+<span class="sourceLineNo">212</span>   * @return the quota settings<a name="line.212"></a>
+<span class="sourceLineNo">213</span>   */<a name="line.213"></a>
+<span class="sourceLineNo">214</span>  public static QuotaSettings throttleUser(final String userName, final String namespace,<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      final ThrottleType type, final long limit, final TimeUnit timeUnit) {<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    return throttle(userName, null, namespace, type, limit, timeUnit);<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>   * Remove the throttling for the specified user.<a name="line.220"></a>
+<span class="sourceLineNo">221</span>   *<a name="line.221"></a>
+<span class="sourceLineNo">222</span>   * @param userName the user<a name="line.222"></a>
+<span class="sourceLineNo">223</span>   * @return the quota settings<a name="line.223"></a>
+<span class="sourceLineNo">224</span>   */<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  public static QuotaSettings unthrottleUser(final String userName) {<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    return throttle(userName, null, null, null, 0, null);<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>   * Remove the throttling for the specified user on the specified table.<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   *<a name="line.231"></a>
+<span class="sourceLineNo">232</span>   * @param userName the user<a name="line.232"></a>
+<span class="sourceLineNo">233</span>   * @param tableName the table<a name="line.233"></a>
+<span class="sourceLineNo">234</span>   * @return the quota settings<a name="line.234"></a>
+<span class="sourceLineNo">235</span>   */<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  public static QuotaSettings unthrottleUser(final String userName, final TableName tableName) {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    return throttle(userName, tableName, null, null, 0, null);<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>   * Remove the throttling for the specified user on the specified namespace.<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   *<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * @param userName the user<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   * @param namespace the namespace<a name="line.244"></a>
+<span class="sourceLineNo">245</span>   * @return the quota settings<a name="line.245"></a>
+<span class="sourceLineNo">246</span>   */<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  public static QuotaSettings unthrottleUser(final String userName, final String namespace) {<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    return throttle(userName, null, namespace, null, 0, null);<a name="line.248"></a>
+<span class="sourceLineNo">249</span>  }<a name="line.249"></a>
+<span class="sourceLineNo">250</span><a name="line.250"></a>
+<span class="sourceLineNo">251</span>  /**<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   * Throttle the specified table.<a name="line.252"></a>
+<span class="sourceLineNo">253</span>   *<a name="line.253"></a>
+<span class="sourceLineNo">254</span>   * @param tableName the table to throttle<a name="line.254"></a>
+<span class="sourceLineNo">255</span>   * @param type the type of throttling<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   * @param limit the allowed number of request/data per timeUnit<a name="line.256"></a>
+<span class="sourceLineNo">257</span>   * @param timeUnit the limit time unit<a name="line.257"></a>
+<span class="sourceLineNo">258</span>   * @return the quota settings<a name="line.258"></a>
+<span class="sourceLineNo">259</span>   */<a name="line.259"></a>
+<span class="sourceLineNo">260</span>  public static QuotaSettings throttleTable(final TableName tableName, final ThrottleType type,<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      final long limit, final TimeUnit timeUnit) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span>    return throttle(null, tableName, null, type, limit, timeUnit);<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  }<a name="line.263"></a>
+<span class="sourceLineNo">264</span><a name="line.264"></a>
+<span class="sourceLineNo">265</span>  /**<a name="line.265"></a>
+<span class="sourceLineNo">266</span>   * Remove the throttling for the specified table.<a name="line.266"></a>
+<span class="sourceLineNo">267</span>   *<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   * @param tableName the table<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   * @return the quota settings<a name="line.269"></a>
+<span class="sourceLineNo">270</span>   */<a name="line.270"></a>
+<span class="sourceLineNo">271</span>  public static QuotaSettings unthrottleTable(final TableName tableName) {<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    return throttle(null, tableName, null, null, 0, null);<a name="line.272"></a>
+<span class="sourceLineNo">273</span>  }<a name="line.273"></a>
+<span class="sourceLineNo">274</span><a name="line.274"></a>
+<span class="sourceLineNo">275</span>  /**<a name="line.275"></a>
+<span class="sourceLineNo">276</span>   * Throttle the specified namespace.<a name="line.276"></a>
+<span class="sourceLineNo">277</span>   *<a name="line.277"></a>
+<span class="sourceLineNo">278</span>   * @param namespace the namespace to throttle<a name="line.278"></a>
+<span class="sourceLineNo">279</span>   * @param type the type of throttling<a name="line.279"></a>
+<span class="sourceLineNo">280</span>   * @param limit the allowed number of request/data per timeUnit<a name="line.280"></a>
+<span class="sourceLineNo">281</span>   * @param timeUnit the limit time unit<a name="line.281"></a>
+<span class="sourceLineNo">282</span>   * @return the quota settings<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   */<a name="line.283"></a>
+<span class="sourceLineNo">284</span>  public static QuotaSettings throttleNamespace(final String namespace, final ThrottleType type,<a name="line.284"></a>
+<span class="sourceLineNo">285</span>      final long limit, final TimeUnit timeUnit) {<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    return throttle(null, null, namespace, type, limit, timeUnit);<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 the throttling for the specified namespace.<a name="line.290"></a>
+<span class="sourceLineNo">291</span>   *<a name="line.291"></a>
+<span class="sourceLineNo">292</span>   * @param namespace the namespace<a name="line.292"></a>
 <span class="sourceLineNo">293</span>   * @return the quota settings<a name="line.293"></a>
 <span class="sourceLineNo">294</span>   */<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  public static QuotaSettings bypassGlobals(final String userName, final boolean bypassGlobals) {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    return new QuotaGlobalsSettingsBypass(userName, null, null, bypassGlobals);<a name="line.296"></a>
+<span class="sourceLineNo">295</span>  public static QuotaSettings unthrottleNamespace(final String namespace) {<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    return throttle(null, null, namespace, null, 0, null);<a name="line.296"></a>
 <span class="sourceLineNo">297</span>  }<a name="line.297"></a>
 <span class="sourceLineNo">298</span><a name="line.298"></a>
-<span class="sourceLineNo">299</span>  /* ==========================================================================<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   *  FileSystem Space Settings<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   */<a name="line.301"></a>
-<span class="sourceLineNo">302</span><a name="line.302"></a>
-<span class="sourceLineNo">303</span>  /**<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   * Creates a {@link QuotaSettings} object to limit the FileSystem space usage for the given table<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   * to the given size in bytes. When the space usage is exceeded by the table, the provided<a name="line.305"></a>
-<span class="sourceLineNo">306</span>   * {@link SpaceViolationPolicy} is enacted on the table.<a name="line.306"></a>
-<span class="sourceLineNo">307</span>   *<a name="line.307"></a>
-<span class="sourceLineNo">308</span>   * @param tableName The name of the table on which the quota should be applied.<a name="line.308"></a>
-<span class="sourceLineNo">309</span>   * @param sizeLimit The limit of a table's size in bytes.<a name="line.309"></a>
-<span class="sourceLineNo">310</span>   * @param violationPolicy The action to take when the quota is exceeded.<a name="line.310"></a>
-<span class="sourceLineNo">311</span>   * @return An {@link QuotaSettings} object.<a name="line.311"></a>
-<span class="sourceLineNo">312</span>   */<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  public static QuotaSettings limitTableSpace(<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      final TableName tableName, long sizeLimit, final SpaceViolationPolicy violationPolicy) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    return new SpaceLimitSettings(tableName, sizeLimit, violationPolicy);<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>   * Creates a {@link QuotaSettings} object to remove the FileSystem space quota for the given<a name="line.319"></a>
-<span class="sourceLineNo">320</span>   * table.<a name="line.320"></a>
-<span class="sourceLineNo">321</span>   *<a name="line.321"></a>
-<span class="sourceLineNo">322</span>   * @param tableName The name of the table to remove the quota for.<a name="line.322"></a>
-<span class="sourceLineNo">323</span>   * @return A {@link QuotaSettings} object.<a name="line.323"></a>
-<span class="sourceLineNo">324</span>   */<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  public static QuotaSettings removeTableSpaceLimit(TableName tableName) {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    return new SpaceLimitSettings(tableName);<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  }<a name="line.327"></a>
-<span class="sourceLineNo">328</span><a name="line.328"></a>
-<span class="sourceLineNo">329</span>  /**<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * Creates a {@link QuotaSettings} object to limit the FileSystem space usage for the given<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   * namespace to the given size in bytes. When the space usage is exceeded by all tables in the<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   * namespace, the provided {@link SpaceViolationPolicy} is enacted on all tables in the namespace.<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   *<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * @param namespace The namespace on which the quota should be applied.<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * @param sizeLimit The limit of the namespace's size in bytes.<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * @param violationPolicy The action to take when the the quota is exceeded.<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   * @return An {@link QuotaSettings} object.<a name="line.337"></a>
-<span class="sourceLineNo">338</span>   */<a name="line.338"></a>
-<span class="sourceLineNo">339</span>  public static QuotaSettings limitNamespaceSpace(<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      final String namespace, long sizeLimit, final SpaceViolationPolicy violationPolicy) {<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    return new SpaceLimitSettings(namespace, sizeLimit, violationPolicy);<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>   * Creates a {@link QuotaSettings} object to remove the FileSystem space quota for the given<a name="line.345"></a>
-<span class="sourceLineNo">346</span>   * namespace.<a name="line.346"></a>
-<span class="sourceLineNo">347</span>   *<a name="line.347"></a>
-<span class="sourceLineNo">348</span>   * @param namespace The namespace to remove the quota on.<a name="line.348"></a>
-<span class="sourceLineNo">349</span>   * @return A {@link QuotaSettings} object.<a name="line.349"></a>
-<span class="sourceLineNo">350</span>   */<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  public static QuotaSettings removeNamespaceSpaceLimit(String namespace) {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    return new SpaceLimitSettings(namespace);<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">299</span>  /* Throttle helper */<a name="line.299"></a>
+<span class="sourceLineNo">300</span>  private static QuotaSettings throttle(final String userName, final TableName tableName,<a name="line.300"></a>
+<span class="sourceLineNo">301</span>      final String namespace, final ThrottleType type, final long limit,<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      final TimeUnit timeUnit) {<a name="line.302"></a>
+<span class="sourceLineNo">303</span>    QuotaProtos.ThrottleRequest.Builder builder = QuotaProtos.ThrottleRequest.newBuilder();<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    if (type != null) {<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      builder.setType(ProtobufUtil.toProtoThrottleType(type));<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    }<a name="line.306"></a>
+<span class="sourceLineNo">307</span>    if (timeUnit != null) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span>      builder.setTimedQuota(ProtobufUtil.toTimedQuota(limit, timeUnit, QuotaScope.MACHINE));<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    }<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    return new ThrottleSettings(userName, tableName, namespace, builder.build());<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  }<a name="line.311"></a>
+<span class="sourceLineNo">312</span><a name="line.312"></a>
+<span class="sourceLineNo">313</span>  /* ==========================================================================<a name="line.313"></a>
+<span class="sourceLineNo">314</span>   *  Global Settings<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>   * Set the "bypass global settings" for the specified user<a name="line.318"></a>
+<span class="sourceLineNo">319</span>   *<a name="line.319"></a>
+<span class="sourceLineNo">320</span>   * @param userName the user to throttle<a name="line.320"></a>
+<span class="sourceLineNo">321</span>   * @param bypassGlobals true if the global settings should be bypassed<a name="line.321"></a>
+<span class="sourceLineNo">322</span>   * @return the quota settings<a name="line.322"></a>
+<span class="sourceLineNo">323</span>   */<a name="line.323"></a>
+<span class="sourceLineNo">324</span>  public static QuotaSettings bypassGlobals(final String userName, final boolean bypassGlobals) {<a name="line.324"></a>
+<span class="sourceLineNo">325</span>    return new QuotaGlobalsSettingsBypass(userName, null, null, bypassGlobals);<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>   *  FileSystem Space Settings<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>   * Creates a {@link QuotaSettings} object to limit the FileSystem space usage for the given table<a name="line.333"></a>
+<span class="sourceLineNo">334</span>   * to the given size in bytes. When the space usage is exceeded by the table, the provided<a name="line.334"></a>
+<span class="sourceLineNo">335</span>   * {@link SpaceViolationPolicy} is enacted on the table.<a name="line.335"></a>
+<span class="sourceLineNo">336</span>   *<a name="line.336"></a>
+<span class="sourceLineNo">337</span>   * @param tableName The name of the table on which the quota should be applied.<a name="line.337"></a>
+<span class="sourceLineNo">338</span>   * @param sizeLimit The limit of a table's size in bytes.<a name="line.338"></a>
+<span class="sourceLineNo">339</span>   * @param violationPolicy The action to take when the quota is exceeded.<a name="line.339"></a>
+<span class="sourceLineNo">340</span>   * @return An {@link QuotaSettings} object.<a name="line.340"></a>
+<span class="sourceLineNo">341</span>   */<a name="line.341"></a>
+<span class="sourceLineNo">342</span>  public static QuotaSettings limitTableSpace(<a name="line.342"></a>
+<span class="sourceLineNo">343</span>      final TableName tableName, long sizeLimit, final SpaceViolationPolicy violationPolicy) {<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    return new SpaceLimitSettings(tableName, sizeLimit, violationPolicy);<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>   * Creates a {@link QuotaSettings} object to remove the FileSystem space quota for the given<a name="line.348"></a>
+<span class="sourceLineNo">349</span>   * table.<a name="line.349"></a>
+<span class="sourceLineNo">350</span>   *<a name="line.350"></a>
+<span class="sourceLineNo">351</span>   * @param tableName The name of the table to remove the quota for.<a name="line.351"></a>
+<span class="sourceLineNo">352</span>   * @return A {@link QuotaSettings} object.<a name="line.352"></a>
+<span class="sourceLineNo">353</span>   */<a name="line.353"></a>
+<span class="sourceLineNo">354</span>  public static QuotaSettings removeTableSpaceLimit(TableName tableName) {<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    return new SpaceLimitSettings(tableName);<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>   * Creates a {@link QuotaSettings} object to limit the FileSystem space usage for the given<a name="line.359"></a>
+<span class="sourceLineNo">360</span>   * namespace to the given size in bytes. When the space usage is exceeded by all tables in the<a name="line.360"></a>
+<span class="sourceLineNo">361</span>   * namespace, the provided {@link SpaceViolationPolicy} is enacted on all tables in the namespace.<a name="line.361"></a>
+<span class="sourceLineNo">362</span>   *<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   * @param namespace The namespace on which the quota should be applied.<a name="line.363"></a>
+<span class="sourceLineNo">364</span>   * @param sizeLimit The limit of the namespace's size in bytes.<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   * @param violationPolicy The action to take when the the quota is exceeded.<a name="line.365"></a>
+<span class="sourceLineNo">366</span>   * @return An {@link QuotaSettings} object.<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   */<a name="line.367"></a>
+<span class="sourceLineNo">368</span>  public static QuotaSettings limitNamespaceSpace(<a name="line.368"></a>
+<span class="sourceLineNo">369</span>      final String namespace, long sizeLimit, final SpaceViolationPolicy violationPolicy) {<a name="line.369"></a>
+<span class="sourceLineNo">370</span>    return new SpaceLimitSettings(namespace, sizeLimit, violationPolicy);<a name="line.370"></a>
+<span class="sourceLineNo">371</span>  }<a name="line.371"></a>
+<span class="sourceLineNo">372</span><a name="line.372"></a>
+<span class="sourceLineNo">373</span>  /**<a name="line.373"></a>
+<span class="sourceLineNo">374</span>   * Creates a {@link QuotaSettings} object to remove the FileSystem space quota for the given<a name="line.374"></a>
+<span class="sourceLineNo">375</span>   * namespace.<a name="line.375"></a>
+<span class="sourceLineNo">376</span>   *<a name="line.376"></a>
+<span class="sourceLineNo">377</span>   * @param namespace The namespace to remove the quota on.<a name="line.377"></a>
+<span class="sourceLineNo">378</span>   * @return A {@link QuotaSettings} object.<a name="line.378"></a>
+<span class="sourceLineNo">379</span>   */<a name="line.379"></a>
+<span class="sourceLineNo">380</span>  public static QuotaSettings removeNamespaceSpaceLimit(String namespace) {<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    return new SpaceLimitSettings(namespace);<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>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/book.html
----------------------------------------------------------------------
diff --git a/book.html b/book.html
index fb8771d..b4bc63f 100644
--- a/book.html
+++ b/book.html
@@ -35210,7 +35210,7 @@ The server will return cellblocks compressed using this same compressor as long
 <div id="footer">
 <div id="footer-text">
 Version 3.0.0-SNAPSHOT<br>
-Last updated 2017-09-23 14:29:46 UTC
+Last updated 2017-09-24 14:29:46 UTC
 </div>
 </div>
 </body>

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


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html
index bb753e1..77880ed 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html
@@ -51,603 +51,530 @@
 <span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.43"></a>
 <span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.44"></a>
 <span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceLimitRequest;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Throttle;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.ThrottleRequest;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.TimedQuota;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.52"></a>
-<span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.shaded.com.google.common.annotations.VisibleForTesting;<a name="line.54"></a>
-<span class="sourceLineNo">055</span><a name="line.55"></a>
-<span class="sourceLineNo">056</span>/**<a name="line.56"></a>
-<span class="sourceLineNo">057</span> * Master Quota Manager.<a name="line.57"></a>
-<span class="sourceLineNo">058</span> * It is responsible for initialize the quota table on the first-run and<a name="line.58"></a>
-<span class="sourceLineNo">059</span> * provide the admin operations to interact with the quota table.<a name="line.59"></a>
-<span class="sourceLineNo">060</span> *<a name="line.60"></a>
-<span class="sourceLineNo">061</span> * TODO: FUTURE: The master will be responsible to notify each RS of quota changes<a name="line.61"></a>
-<span class="sourceLineNo">062</span> * and it will do the "quota aggregation" when the QuotaScope is CLUSTER.<a name="line.62"></a>
-<span class="sourceLineNo">063</span> */<a name="line.63"></a>
-<span class="sourceLineNo">064</span>@InterfaceAudience.Private<a name="line.64"></a>
-<span class="sourceLineNo">065</span>@InterfaceStability.Evolving<a name="line.65"></a>
-<span class="sourceLineNo">066</span>public class MasterQuotaManager implements RegionStateListener {<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  private static final Log LOG = LogFactory.getLog(MasterQuotaManager.class);<a name="line.67"></a>
-<span class="sourceLineNo">068</span>  private static final Map&lt;HRegionInfo, Long&gt; EMPTY_MAP = Collections.unmodifiableMap(<a name="line.68"></a>
-<span class="sourceLineNo">069</span>      new HashMap&lt;&gt;());<a name="line.69"></a>
-<span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span>  private final MasterServices masterServices;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  private NamedLock&lt;String&gt; namespaceLocks;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  private NamedLock&lt;TableName&gt; tableLocks;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  private NamedLock&lt;String&gt; userLocks;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  private boolean initialized = false;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  private NamespaceAuditor namespaceQuotaManager;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  private ConcurrentHashMap&lt;HRegionInfo, SizeSnapshotWithTimestamp&gt; regionSizes;<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>  public MasterQuotaManager(final MasterServices masterServices) {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    this.masterServices = masterServices;<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>  public void start() throws IOException {<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    // If the user doesn't want the quota support skip all the initializations.<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    if (!QuotaUtil.isQuotaEnabled(masterServices.getConfiguration())) {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      LOG.info("Quota support disabled");<a name="line.86"></a>
-<span class="sourceLineNo">087</span>      return;<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>    // Create the quota table if missing<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    if (!MetaTableAccessor.tableExists(masterServices.getConnection(),<a name="line.91"></a>
-<span class="sourceLineNo">092</span>          QuotaUtil.QUOTA_TABLE_NAME)) {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      LOG.info("Quota table not found. Creating...");<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      createQuotaTable();<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>    LOG.info("Initializing quota support");<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    namespaceLocks = new NamedLock&lt;&gt;();<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    tableLocks = new NamedLock&lt;&gt;();<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    userLocks = new NamedLock&lt;&gt;();<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    regionSizes = new ConcurrentHashMap&lt;&gt;();<a name="line.101"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.46"></a>
+<span class="sourceLineNo">047</span><a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.shaded.com.google.common.annotations.VisibleForTesting;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat;<a name="line.49"></a>
+<span class="sourceLineNo">050</span><a name="line.50"></a>
+<span class="sourceLineNo">051</span>/**<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * Master Quota Manager.<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * It is responsible for initialize the quota table on the first-run and<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * provide the admin operations to interact with the quota table.<a name="line.54"></a>
+<span class="sourceLineNo">055</span> *<a name="line.55"></a>
+<span class="sourceLineNo">056</span> * TODO: FUTURE: The master will be responsible to notify each RS of quota changes<a name="line.56"></a>
+<span class="sourceLineNo">057</span> * and it will do the "quota aggregation" when the QuotaScope is CLUSTER.<a name="line.57"></a>
+<span class="sourceLineNo">058</span> */<a name="line.58"></a>
+<span class="sourceLineNo">059</span>@InterfaceAudience.Private<a name="line.59"></a>
+<span class="sourceLineNo">060</span>@InterfaceStability.Evolving<a name="line.60"></a>
+<span class="sourceLineNo">061</span>public class MasterQuotaManager implements RegionStateListener {<a name="line.61"></a>
+<span class="sourceLineNo">062</span>  private static final Log LOG = LogFactory.getLog(MasterQuotaManager.class);<a name="line.62"></a>
+<span class="sourceLineNo">063</span>  private static final Map&lt;HRegionInfo, Long&gt; EMPTY_MAP = Collections.unmodifiableMap(<a name="line.63"></a>
+<span class="sourceLineNo">064</span>      new HashMap&lt;&gt;());<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span>  private final MasterServices masterServices;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>  private NamedLock&lt;String&gt; namespaceLocks;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  private NamedLock&lt;TableName&gt; tableLocks;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  private NamedLock&lt;String&gt; userLocks;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>  private boolean initialized = false;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  private NamespaceAuditor namespaceQuotaManager;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>  private ConcurrentHashMap&lt;HRegionInfo, SizeSnapshotWithTimestamp&gt; regionSizes;<a name="line.72"></a>
+<span class="sourceLineNo">073</span><a name="line.73"></a>
+<span class="sourceLineNo">074</span>  public MasterQuotaManager(final MasterServices masterServices) {<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    this.masterServices = masterServices;<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>  public void start() throws IOException {<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    // If the user doesn't want the quota support skip all the initializations.<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    if (!QuotaUtil.isQuotaEnabled(masterServices.getConfiguration())) {<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      LOG.info("Quota support disabled");<a name="line.81"></a>
+<span class="sourceLineNo">082</span>      return;<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>    // Create the quota table if missing<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    if (!MetaTableAccessor.tableExists(masterServices.getConnection(),<a name="line.86"></a>
+<span class="sourceLineNo">087</span>          QuotaUtil.QUOTA_TABLE_NAME)) {<a name="line.87"></a>
+<span class="sourceLineNo">088</span>      LOG.info("Quota table not found. Creating...");<a name="line.88"></a>
+<span class="sourceLineNo">089</span>      createQuotaTable();<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>    LOG.info("Initializing quota support");<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    namespaceLocks = new NamedLock&lt;&gt;();<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    tableLocks = new NamedLock&lt;&gt;();<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    userLocks = new NamedLock&lt;&gt;();<a name="line.95"></a>
+<span class="sourceLineNo">096</span>    regionSizes = new ConcurrentHashMap&lt;&gt;();<a name="line.96"></a>
+<span class="sourceLineNo">097</span><a name="line.97"></a>
+<span class="sourceLineNo">098</span>    namespaceQuotaManager = new NamespaceAuditor(masterServices);<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    namespaceQuotaManager.start();<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    initialized = true;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  }<a name="line.101"></a>
 <span class="sourceLineNo">102</span><a name="line.102"></a>
-<span class="sourceLineNo">103</span>    namespaceQuotaManager = new NamespaceAuditor(masterServices);<a name="line.103"></a>
-<span class="sourceLineNo">104</span>    namespaceQuotaManager.start();<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    initialized = true;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  }<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>  public void stop() {<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 boolean isQuotaInitialized() {<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    return initialized &amp;&amp; namespaceQuotaManager.isInitialized();<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  }<a name="line.113"></a>
-<span class="sourceLineNo">114</span><a name="line.114"></a>
-<span class="sourceLineNo">115</span>  /* ==========================================================================<a name="line.115"></a>
-<span class="sourceLineNo">116</span>   *  Admin operations to manage the quota table<a name="line.116"></a>
-<span class="sourceLineNo">117</span>   */<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  public SetQuotaResponse setQuota(final SetQuotaRequest req)<a name="line.118"></a>
-<span class="sourceLineNo">119</span>      throws IOException, InterruptedException {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    checkQuotaSupport();<a name="line.120"></a>
-<span class="sourceLineNo">121</span><a name="line.121"></a>
-<span class="sourceLineNo">122</span>    if (req.hasUserName()) {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      userLocks.lock(req.getUserName());<a name="line.123"></a>
-<span class="sourceLineNo">124</span>      try {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>        if (req.hasTableName()) {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>          setUserQuota(req.getUserName(), ProtobufUtil.toTableName(req.getTableName()), req);<a name="line.126"></a>
-<span class="sourceLineNo">127</span>        } else if (req.hasNamespace()) {<a name="line.127"></a>
-<span class="sourceLineNo">128</span>          setUserQuota(req.getUserName(), req.getNamespace(), req);<a name="line.128"></a>
-<span class="sourceLineNo">129</span>        } else {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>          setUserQuota(req.getUserName(), req);<a name="line.130"></a>
-<span class="sourceLineNo">131</span>        }<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      } finally {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>        userLocks.unlock(req.getUserName());<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      }<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    } else if (req.hasTableName()) {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>      TableName table = ProtobufUtil.toTableName(req.getTableName());<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      tableLocks.lock(table);<a name="line.137"></a>
-<span class="sourceLineNo">138</span>      try {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>        setTableQuota(table, req);<a name="line.139"></a>
-<span class="sourceLineNo">140</span>      } finally {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>        tableLocks.unlock(table);<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      }<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    } else if (req.hasNamespace()) {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      namespaceLocks.lock(req.getNamespace());<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      try {<a name="line.145"></a>
-<span class="sourceLineNo">146</span>        setNamespaceQuota(req.getNamespace(), req);<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      } finally {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        namespaceLocks.unlock(req.getNamespace());<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      }<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    } else {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      throw new DoNotRetryIOException(<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        new UnsupportedOperationException("a user, a table or a namespace must be specified"));<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    }<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    return SetQuotaResponse.newBuilder().build();<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>  public void setUserQuota(final String userName, final SetQuotaRequest req)<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      throws IOException, InterruptedException {<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    setQuota(req, new SetQuotaOperations() {<a name="line.159"></a>
+<span class="sourceLineNo">103</span>  public void stop() {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>  }<a name="line.104"></a>
+<span class="sourceLineNo">105</span><a name="line.105"></a>
+<span class="sourceLineNo">106</span>  public boolean isQuotaInitialized() {<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    return initialized &amp;&amp; namespaceQuotaManager.isInitialized();<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>   *  Admin operations to manage the quota table<a name="line.111"></a>
+<span class="sourceLineNo">112</span>   */<a name="line.112"></a>
+<span class="sourceLineNo">113</span>  public SetQuotaResponse setQuota(final SetQuotaRequest req)<a name="line.113"></a>
+<span class="sourceLineNo">114</span>      throws IOException, InterruptedException {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    checkQuotaSupport();<a name="line.115"></a>
+<span class="sourceLineNo">116</span><a name="line.116"></a>
+<span class="sourceLineNo">117</span>    if (req.hasUserName()) {<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      userLocks.lock(req.getUserName());<a name="line.118"></a>
+<span class="sourceLineNo">119</span>      try {<a name="line.119"></a>
+<span class="sourceLineNo">120</span>        if (req.hasTableName()) {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>          setUserQuota(req.getUserName(), ProtobufUtil.toTableName(req.getTableName()), req);<a name="line.121"></a>
+<span class="sourceLineNo">122</span>        } else if (req.hasNamespace()) {<a name="line.122"></a>
+<span class="sourceLineNo">123</span>          setUserQuota(req.getUserName(), req.getNamespace(), req);<a name="line.123"></a>
+<span class="sourceLineNo">124</span>        } else {<a name="line.124"></a>
+<span class="sourceLineNo">125</span>          setUserQuota(req.getUserName(), req);<a name="line.125"></a>
+<span class="sourceLineNo">126</span>        }<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      } finally {<a name="line.127"></a>
+<span class="sourceLineNo">128</span>        userLocks.unlock(req.getUserName());<a name="line.128"></a>
+<span class="sourceLineNo">129</span>      }<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    } else if (req.hasTableName()) {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      TableName table = ProtobufUtil.toTableName(req.getTableName());<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      tableLocks.lock(table);<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      try {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>        setTableQuota(table, req);<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      } finally {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>        tableLocks.unlock(table);<a name="line.136"></a>
+<span class="sourceLineNo">137</span>      }<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    } else if (req.hasNamespace()) {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      namespaceLocks.lock(req.getNamespace());<a name="line.139"></a>
+<span class="sourceLineNo">140</span>      try {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>        setNamespaceQuota(req.getNamespace(), req);<a name="line.141"></a>
+<span class="sourceLineNo">142</span>      } finally {<a name="line.142"></a>
+<span class="sourceLineNo">143</span>        namespaceLocks.unlock(req.getNamespace());<a name="line.143"></a>
+<span class="sourceLineNo">144</span>      }<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    } else {<a name="line.145"></a>
+<span class="sourceLineNo">146</span>      throw new DoNotRetryIOException(<a name="line.146"></a>
+<span class="sourceLineNo">147</span>        new UnsupportedOperationException("a user, a table or a namespace must be specified"));<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    }<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    return SetQuotaResponse.newBuilder().build();<a name="line.149"></a>
+<span class="sourceLineNo">150</span>  }<a name="line.150"></a>
+<span class="sourceLineNo">151</span><a name="line.151"></a>
+<span class="sourceLineNo">152</span>  public void setUserQuota(final String userName, final SetQuotaRequest req)<a name="line.152"></a>
+<span class="sourceLineNo">153</span>      throws IOException, InterruptedException {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    setQuota(req, new SetQuotaOperations() {<a name="line.154"></a>
+<span class="sourceLineNo">155</span>      @Override<a name="line.155"></a>
+<span class="sourceLineNo">156</span>      public GlobalQuotaSettings fetch() throws IOException {<a name="line.156"></a>
+<span class="sourceLineNo">157</span>        return new GlobalQuotaSettings(req.getUserName(), null, null, QuotaUtil.getUserQuota(<a name="line.157"></a>
+<span class="sourceLineNo">158</span>            masterServices.getConnection(), userName));<a name="line.158"></a>
+<span class="sourceLineNo">159</span>      }<a name="line.159"></a>
 <span class="sourceLineNo">160</span>      @Override<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      public Quotas fetch() throws IOException {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>        return QuotaUtil.getUserQuota(masterServices.getConnection(), userName);<a name="line.162"></a>
+<span class="sourceLineNo">161</span>      public void update(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>        QuotaUtil.addUserQuota(masterServices.getConnection(), userName, quotaPojo.toQuotas());<a name="line.162"></a>
 <span class="sourceLineNo">163</span>      }<a name="line.163"></a>
 <span class="sourceLineNo">164</span>      @Override<a name="line.164"></a>
-<span class="sourceLineNo">165</span>      public void update(final Quotas quotas) throws IOException {<a name="line.165"></a>
-<span class="sourceLineNo">166</span>        QuotaUtil.addUserQuota(masterServices.getConnection(), userName, quotas);<a name="line.166"></a>
+<span class="sourceLineNo">165</span>      public void delete() throws IOException {<a name="line.165"></a>
+<span class="sourceLineNo">166</span>        QuotaUtil.deleteUserQuota(masterServices.getConnection(), userName);<a name="line.166"></a>
 <span class="sourceLineNo">167</span>      }<a name="line.167"></a>
 <span class="sourceLineNo">168</span>      @Override<a name="line.168"></a>
-<span class="sourceLineNo">169</span>      public void delete() throws IOException {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>        QuotaUtil.deleteUserQuota(masterServices.getConnection(), userName);<a name="line.170"></a>
+<span class="sourceLineNo">169</span>      public void preApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.169"></a>
+<span class="sourceLineNo">170</span>        masterServices.getMasterCoprocessorHost().preSetUserQuota(userName, quotaPojo);<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 preApply(final Quotas quotas) throws IOException {<a name="line.173"></a>
-<span class="sourceLineNo">174</span>        masterServices.getMasterCoprocessorHost().preSetUserQuota(userName, quotas);<a name="line.174"></a>
+<span class="sourceLineNo">173</span>      public void postApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        masterServices.getMasterCoprocessorHost().postSetUserQuota(userName, quotaPojo);<a name="line.174"></a>
 <span class="sourceLineNo">175</span>      }<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      @Override<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      public void postApply(final Quotas quotas) throws IOException {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>        masterServices.getMasterCoprocessorHost().postSetUserQuota(userName, quotas);<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    });<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  }<a name="line.181"></a>
-<span class="sourceLineNo">182</span><a name="line.182"></a>
-<span class="sourceLineNo">183</span>  public void setUserQuota(final String userName, final TableName table,<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      final SetQuotaRequest req) throws IOException, InterruptedException {<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    setQuota(req, new SetQuotaOperations() {<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      @Override<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      public Quotas fetch() throws IOException {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>        return QuotaUtil.getUserQuota(masterServices.getConnection(), userName, table);<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>      public void update(final Quotas quotas) throws IOException {<a name="line.191"></a>
-<span class="sourceLineNo">192</span>        QuotaUtil.addUserQuota(masterServices.getConnection(), userName, table, quotas);<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 void delete() throws IOException {<a name="line.195"></a>
-<span class="sourceLineNo">196</span>        QuotaUtil.deleteUserQuota(masterServices.getConnection(), userName, table);<a name="line.196"></a>
-<span class="sourceLineNo">197</span>      }<a name="line.197"></a>
-<span class="sourceLineNo">198</span>      @Override<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      public void preApply(final Quotas quotas) throws IOException {<a name="line.199"></a>
-<span class="sourceLineNo">200</span>        masterServices.getMasterCoprocessorHost().preSetUserQuota(userName, table, quotas);<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      }<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      @Override<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      public void postApply(final Quotas quotas) throws IOException {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>        masterServices.getMasterCoprocessorHost().postSetUserQuota(userName, table, quotas);<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>  public void setUserQuota(final String userName, final String namespace,<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      final SetQuotaRequest req) throws IOException, InterruptedException {<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    setQuota(req, new SetQuotaOperations() {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>      @Override<a name="line.212"></a>
-<span class="sourceLineNo">213</span>      public Quotas fetch() throws IOException {<a name="line.213"></a>
-<span class="sourceLineNo">214</span>        return QuotaUtil.getUserQuota(masterServices.getConnection(), userName, namespace);<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 update(final Quotas quotas) throws IOException {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>        QuotaUtil.addUserQuota(masterServices.getConnection(), userName, namespace, quotas);<a name="line.218"></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>  public void setUserQuota(final String userName, final TableName table,<a name="line.179"></a>
+<span class="sourceLineNo">180</span>      final SetQuotaRequest req) throws IOException, InterruptedException {<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    setQuota(req, new SetQuotaOperations() {<a name="line.181"></a>
+<span class="sourceLineNo">182</span>      @Override<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      public GlobalQuotaSettings fetch() throws IOException {<a name="line.183"></a>
+<span class="sourceLineNo">184</span>        return new GlobalQuotaSettings(userName, table, null, QuotaUtil.getUserQuota(<a name="line.184"></a>
+<span class="sourceLineNo">185</span>            masterServices.getConnection(), userName, table));<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>      public void update(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.188"></a>
+<span class="sourceLineNo">189</span>        QuotaUtil.addUserQuota(masterServices.getConnection(), userName, table,<a name="line.189"></a>
+<span class="sourceLineNo">190</span>            quotaPojo.toQuotas());<a name="line.190"></a>
+<span class="sourceLineNo">191</span>      }<a name="line.191"></a>
+<span class="sourceLineNo">192</span>      @Override<a name="line.192"></a>
+<span class="sourceLineNo">193</span>      public void delete() throws IOException {<a name="line.193"></a>
+<span class="sourceLineNo">194</span>        QuotaUtil.deleteUserQuota(masterServices.getConnection(), userName, table);<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 preApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>        masterServices.getMasterCoprocessorHost().preSetUserQuota(userName, table, quotaPojo);<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>      public void postApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.201"></a>
+<span class="sourceLineNo">202</span>        masterServices.getMasterCoprocessorHost().postSetUserQuota(userName, table, quotaPojo);<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><a name="line.206"></a>
+<span class="sourceLineNo">207</span>  public void setUserQuota(final String userName, final String namespace,<a name="line.207"></a>
+<span class="sourceLineNo">208</span>      final SetQuotaRequest req) throws IOException, InterruptedException {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    setQuota(req, new SetQuotaOperations() {<a name="line.209"></a>
+<span class="sourceLineNo">210</span>      @Override<a name="line.210"></a>
+<span class="sourceLineNo">211</span>      public GlobalQuotaSettings fetch() throws IOException {<a name="line.211"></a>
+<span class="sourceLineNo">212</span>        return new GlobalQuotaSettings(userName, null, namespace, QuotaUtil.getUserQuota(<a name="line.212"></a>
+<span class="sourceLineNo">213</span>            masterServices.getConnection(), userName, namespace));<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 update(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.216"></a>
+<span class="sourceLineNo">217</span>        QuotaUtil.addUserQuota(masterServices.getConnection(), userName, namespace,<a name="line.217"></a>
+<span class="sourceLineNo">218</span>            quotaPojo.toQuotas());<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 void delete() throws IOException {<a name="line.221"></a>
 <span class="sourceLineNo">222</span>        QuotaUtil.deleteUserQuota(masterServices.getConnection(), userName, namespace);<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 void preApply(final Quotas quotas) throws IOException {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>        masterServices.getMasterCoprocessorHost().preSetUserQuota(userName, namespace, quotas);<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 void postApply(final Quotas quotas) throws IOException {<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        masterServices.getMasterCoprocessorHost().postSetUserQuota(userName, namespace, quotas);<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>  public void setTableQuota(final TableName table, final SetQuotaRequest req)<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      throws IOException, InterruptedException {<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    setQuota(req, new SetQuotaOperations() {<a name="line.237"></a>
-<span class="sourceLineNo">238</span>      @Override<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      public Quotas fetch() throws IOException {<a name="line.239"></a>
-<span class="sourceLineNo">240</span>        return QuotaUtil.getTableQuota(masterServices.getConnection(), table);<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 update(final Quotas quotas) throws IOException {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>        QuotaUtil.addTableQuota(masterServices.getConnection(), table, quotas);<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 delete() throws IOException {<a name="line.247"></a>
-<span class="sourceLineNo">248</span>        QuotaUtil.deleteTableQuota(masterServices.getConnection(), table);<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 preApply(final Quotas quotas) throws IOException {<a name="line.251"></a>
-<span class="sourceLineNo">252</span>        masterServices.getMasterCoprocessorHost().preSetTableQuota(table, quotas);<a name="line.252"></a>
-<span class="sourceLineNo">253</span>      }<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      @Override<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      public void postApply(final Quotas quotas) throws IOException {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>        masterServices.getMasterCoprocessorHost().postSetTableQuota(table, quotas);<a name="line.256"></a>
-<span class="sourceLineNo">257</span>      }<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    });<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  }<a name="line.259"></a>
-<span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span>  public void setNamespaceQuota(final String namespace, final SetQuotaRequest req)<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      throws IOException, InterruptedException {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    setQuota(req, new SetQuotaOperations() {<a name="line.263"></a>
-<span class="sourceLineNo">264</span>      @Override<a name="line.264"></a>
-<span class="sourceLineNo">265</span>      public Quotas fetch() throws IOException {<a name="line.265"></a>
-<span class="sourceLineNo">266</span>        return QuotaUtil.getNamespaceQuota(masterServices.getConnection(), namespace);<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      }<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      @Override<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      public void update(final Quotas quotas) throws IOException {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>        QuotaUtil.addNamespaceQuota(masterServices.getConnection(), namespace, quotas);<a name="line.270"></a>
+<span class="sourceLineNo">225</span>      public void preApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.225"></a>
+<span class="sourceLineNo">226</span>        masterServices.getMasterCoprocessorHost().preSetUserQuota(<a name="line.226"></a>
+<span class="sourceLineNo">227</span>            userName, namespace, quotaPojo);<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 postApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>        masterServices.getMasterCoprocessorHost().postSetUserQuota(<a name="line.231"></a>
+<span class="sourceLineNo">232</span>            userName, namespace, quotaPojo);<a name="line.232"></a>
+<span class="sourceLineNo">233</span>      }<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    });<a name="line.234"></a>
+<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
+<span class="sourceLineNo">236</span><a name="line.236"></a>
+<span class="sourceLineNo">237</span>  public void setTableQuota(final TableName table, final SetQuotaRequest req)<a name="line.237"></a>
+<span class="sourceLineNo">238</span>      throws IOException, InterruptedException {<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    setQuota(req, new SetQuotaOperations() {<a name="line.239"></a>
+<span class="sourceLineNo">240</span>      @Override<a name="line.240"></a>
+<span class="sourceLineNo">241</span>      public GlobalQuotaSettings fetch() throws IOException {<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        return new GlobalQuotaSettings(null, table, null, QuotaUtil.getTableQuota(<a name="line.242"></a>
+<span class="sourceLineNo">243</span>            masterServices.getConnection(), table));<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 void update(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.246"></a>
+<span class="sourceLineNo">247</span>        QuotaUtil.addTableQuota(masterServices.getConnection(), table, quotaPojo.toQuotas());<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 delete() throws IOException {<a name="line.250"></a>
+<span class="sourceLineNo">251</span>        QuotaUtil.deleteTableQuota(masterServices.getConnection(), table);<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 preApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.254"></a>
+<span class="sourceLineNo">255</span>        masterServices.getMasterCoprocessorHost().preSetTableQuota(table, quotaPojo);<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 void postApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.258"></a>
+<span class="sourceLineNo">259</span>        masterServices.getMasterCoprocessorHost().postSetTableQuota(table, quotaPojo);<a name="line.259"></a>
+<span class="sourceLineNo">260</span>      }<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    });<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  }<a name="line.262"></a>
+<span class="sourceLineNo">263</span><a name="line.263"></a>
+<span class="sourceLineNo">264</span>  public void setNamespaceQuota(final String namespace, final SetQuotaRequest req)<a name="line.264"></a>
+<span class="sourceLineNo">265</span>      throws IOException, InterruptedException {<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    setQuota(req, new SetQuotaOperations() {<a name="line.266"></a>
+<span class="sourceLineNo">267</span>      @Override<a name="line.267"></a>
+<span class="sourceLineNo">268</span>      public GlobalQuotaSettings fetch() throws IOException {<a name="line.268"></a>
+<span class="sourceLineNo">269</span>        return new GlobalQuotaSettings(null, null, namespace, QuotaUtil.getNamespaceQuota(<a name="line.269"></a>
+<span class="sourceLineNo">270</span>                masterServices.getConnection(), namespace));<a name="line.270"></a>
 <span class="sourceLineNo">271</span>      }<a name="line.271"></a>
 <span class="sourceLineNo">272</span>      @Override<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      public void delete() throws IOException {<a name="line.273"></a>
-<span class="sourceLineNo">274</span>        QuotaUtil.deleteNamespaceQuota(masterServices.getConnection(), namespace);<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      }<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      @Override<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      public void preApply(final Quotas quotas) throws IOException {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>        masterServices.getMasterCoprocessorHost().preSetNamespaceQuota(namespace, quotas);<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      }<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      @Override<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      public void postApply(final Quotas quotas) throws IOException {<a name="line.281"></a>
-<span class="sourceLineNo">282</span>        masterServices.getMasterCoprocessorHost().postSetNamespaceQuota(namespace, quotas);<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      }<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    });<a name="line.284"></a>
-<span class="sourceLineNo">285</span>  }<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>  public void setNamespaceQuota(NamespaceDescriptor desc) throws IOException {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    if (initialized) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      this.namespaceQuotaManager.addNamespace(desc);<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>  public void removeNamespaceQuota(String namespace) throws IOException {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    if (initialized) {<a name="line.294"></a>
-<span class="sourceLineNo">295</span>      this.namespaceQuotaManager.deleteNamespace(namespace);<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>  private void setQuota(final SetQuotaRequest req, final SetQuotaOperations quotaOps)<a name="line.299"></a>
-<span class="sourceLineNo">300</span>      throws IOException, InterruptedException {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    if (req.hasRemoveAll() &amp;&amp; req.getRemoveAll() == true) {<a name="line.301"></a>
-<span class="sourceLineNo">302</span>      quotaOps.preApply(null);<a name="line.302"></a>
-<span class="sourceLineNo">303</span>      quotaOps.delete();<a name="line.303"></a>
-<span class="sourceLineNo">304</span>      quotaOps.postApply(null);<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      return;<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>    // Apply quota changes<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    Quotas quotas = quotaOps.fetch();<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    quotaOps.preApply(quotas);<a name="line.310"></a>
-<span class="sourceLineNo">311</span><a name="line.311"></a>
-<span class="sourceLineNo">312</span>    // Copy the user request into the Quotas object<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    Quotas.Builder builder = (quotas != null) ? quotas.toBuilder() : Quotas.newBuilder();<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    if (req.hasThrottle()) applyThrottle(builder, req.getThrottle());<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    if (req.hasBypassGlobals()) applyBypassGlobals(builder, req.getBypassGlobals());<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    if (req.hasSpaceLimit()) applySpaceLimit(builder, req.getSpaceLimit());<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>    // Submit new changes<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    quotas = builder.build();<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    if (QuotaUtil.isEmptyQuota(quotas)) {<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      quotaOps.delete();<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    } else {<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      quotaOps.update(quotas);<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    }<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    quotaOps.postApply(quotas);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>  }<a name="line.326"></a>
+<span class="sourceLineNo">273</span>      public void update(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.273"></a>
+<span class="sourceLineNo">274</span>        QuotaUtil.addNamespaceQuota(masterServices.getConnection(), namespace,<a name="line.274"></a>
+<span class="sourceLineNo">275</span>            ((GlobalQuotaSettings) quotaPojo).toQuotas());<a name="line.275"></a>
+<span class="sourceLineNo">276</span>      }<a name="line.276"></a>
+<span class="sourceLineNo">277</span>      @Override<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      public void delete() throws IOException {<a name="line.278"></a>
+<span class="sourceLineNo">279</span>        QuotaUtil.deleteNamespaceQuota(masterServices.getConnection(), namespace);<a name="line.279"></a>
+<span class="sourceLineNo">280</span>      }<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      @Override<a name="line.281"></a>
+<span class="sourceLineNo">282</span>      public void preApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.282"></a>
+<span class="sourceLineNo">283</span>        masterServices.getMasterCoprocessorHost().preSetNamespaceQuota(namespace, quotaPojo);<a name="line.283"></a>
+<span class="sourceLineNo">284</span>      }<a name="line.284"></a>
+<span class="sourceLineNo">285</span>      @Override<a name="line.285"></a>
+<span class="sourceLineNo">286</span>      public void postApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.286"></a>
+<span class="sourceLineNo">287</span>        masterServices.getMasterCoprocessorHost().postSetNamespaceQuota(namespace, quotaPojo);<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><a name="line.291"></a>
+<span class="sourceLineNo">292</span>  public void setNamespaceQuota(NamespaceDescriptor desc) throws IOException {<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    if (initialized) {<a name="line.293"></a>
+<span class="sourceLineNo">294</span>      this.namespaceQuotaManager.addNamespace(desc);<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>  public void removeNamespaceQuota(String namespace) throws IOException {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    if (initialized) {<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      this.namespaceQuotaManager.deleteNamespace(namespace);<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    }<a name="line.301"></a>
+<span class="sourceLineNo">302</span>  }<a name="line.302"></a>
+<span class="sourceLineNo">303</span><a name="line.303"></a>
+<span class="sourceLineNo">304</span>  private void setQuota(final SetQuotaRequest req, final SetQuotaOperations quotaOps)<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      throws IOException, InterruptedException {<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    if (req.hasRemoveAll() &amp;&amp; req.getRemoveAll() == true) {<a name="line.306"></a>
+<span class="sourceLineNo">307</span>      quotaOps.preApply(null);<a name="line.307"></a>
+<span class="sourceLineNo">308</span>      quotaOps.delete();<a name="line.308"></a>
+<span class="sourceLineNo">309</span>      quotaOps.postApply(null);<a name="line.309"></a>
+<span class="sourceLineNo">310</span>      return;<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>    // Apply quota changes<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    GlobalQuotaSettings currentQuota = quotaOps.fetch();<a name="line.314"></a>
+<span class="sourceLineNo">315</span>    if (LOG.isTraceEnabled()) {<a name="line.315"></a>
+<span class="sourceLineNo">316</span>      LOG.trace(<a name="line.316"></a>
+<span class="sourceLineNo">317</span>          "Current quota for request(" + TextFormat.shortDebugString(req)<a name="line.317"></a>
+<span class="sourceLineNo">318</span>              + "): " + currentQuota);<a name="line.318"></a>
+<span class="sourceLineNo">319</span>    }<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    // Call the appropriate "pre" CP hook with the current quota value (may be null)<a name="line.320"></a>
+<span class="sourceLineNo">321</span>    quotaOps.preApply(currentQuota);<a name="line.321"></a>
+<span class="sourceLineNo">322</span>    // Translate the protobuf request back into a POJO<a name="line.322"></a>
+<span class="sourceLineNo">323</span>    QuotaSettings newQuota = QuotaSettings.buildFromProto(req);<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    if (LOG.isTraceEnabled()) {<a name="line.324"></a>
+<span class="sourceLineNo">325</span>      LOG.trace("Deserialized quota from request: " + newQuota);<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 checkNamespaceTableAndRegionQuota(TableName tName, int regions) throws IOException {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    if (initialized) {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      namespaceQuotaManager.checkQuotaToCreateTable(tName, regions);<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    }<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  }<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>  public void checkAndUpdateNamespaceRegionQuota(TableName tName, int regions) throws IOException {<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    if (initialized) {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      namespaceQuotaManager.checkQuotaToUpdateRegion(tName, regions);<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    }<a name="line.337"></a>
-<span class="sourceLineNo">338</span>  }<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>  /**<a name="line.340"></a>
-<span class="sourceLineNo">341</span>   * @return cached region count, or -1 if quota manager is disabled or table status not found<a name="line.341"></a>
-<span class="sourceLineNo">342</span>  */<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  public int getRegionCountOfTable(TableName tName) throws IOException {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    if (initialized) {<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      return namespaceQuotaManager.getRegionCountOfTable(tName);<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    }<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return -1;<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  public void onRegionMerged(HRegionInfo mergedRegion) throws IOException {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    if (initialized) {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      namespaceQuotaManager.updateQuotaForRegionMerge(mergedRegion);<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>  @Override<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  public void onRegionSplit(HRegionInfo hri) throws IOException {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    if (initialized) {<a name="line.359"></a>
-<span class="sourceLineNo">360</span>      namespaceQuotaManager.checkQuotaToSplitRegion(hri);<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 table from namespace quota.<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   *<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * @param tName - The table name to update quota usage.<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * @throws IOException Signals that an I/O exception has occurred.<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   */<a name="line.369"></a>
-<span class="sourceLineNo">370</span>  public void removeTableFromNamespaceQuota(TableName tName) throws IOException {<a name="line.370"></a>
+<span class="sourceLineNo">328</span>    // Merge the current quota settings with the new quota settings the user provided.<a name="line.328"></a>
+<span class="sourceLineNo">329</span>    //<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    // NB: while SetQuotaRequest technically allows for multi types of quotas to be set in one<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    // message, the Java API (in Admin/AsyncAdmin) does not. Assume there is only one type.<a name="line.331"></a>
+<span class="sourceLineNo">332</span>    GlobalQuotaSettings mergedQuota = currentQuota.merge(newQuota);<a name="line.332"></a>
+<span class="sourceLineNo">333</span>    if (LOG.isTraceEnabled()) {<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      LOG.trace("Computed merged quota from current quota and user request: " + mergedQuota);<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>    // Submit new changes<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    if (mergedQuota == null) {<a name="line.338"></a>
+<span class="sourceLineNo">339</span>      quotaOps.delete();<a name="line.339"></a>
+<span class="sourceLineNo">340</span>    } else {<a name="line.340"></a>
+<span class="sourceLineNo">341</span>      quotaOps.update(mergedQuota);<a name="line.341"></a>
+<span class="sourceLineNo">342</span>    }<a name="line.342"></a>
+<span class="sourceLineNo">343</span>    // Advertise the final result via the "post" CP hook<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    quotaOps.postApply(mergedQuota);<a name="line.344"></a>
+<span class="sourceLineNo">345</span>  }<a name="line.345"></a>
+<span class="sourceLineNo">346</span><a name="line.346"></a>
+<span class="sourceLineNo">347</span>  public void checkNamespaceTableAndRegionQuota(TableName tName, int regions) throws IOException {<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    if (initialized) {<a name="line.348"></a>
+<span class="sourceLineNo">349</span>      namespaceQuotaManager.checkQuotaToCreateTable(tName, regions);<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>  public void checkAndUpdateNamespaceRegionQuota(TableName tName, int regions) throws IOException {<a name="line.353"></a>
+<span class="sourceLineNo">354</span>    if (initialized) {<a name="line.354"></a>
+<span class="sourceLineNo">355</span>      namespaceQuotaManager.checkQuotaToUpdateRegion(tName, regions);<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>   * @return cached region count, or -1 if quota manager is disabled or table status not found<a name="line.360"></a>
+<span class="sourceLineNo">361</span>  */<a name="line.361"></a>
+<span class="sourceLineNo">362</span>  public int getRegionCountOfTable(TableName tName) throws IOException {<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    if (initialized) {<a name="line.363"></a>
+<span class="sourceLineNo">364</span>      return namespaceQuotaManager.getRegionCountOfTable(tName);<a name="line.364"></a>
+<span class="sourceLineNo">365</span>    }<a name="line.365"></a>
+<span class="sourceLineNo">366</span>    return -1;<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>  @Override<a name="line.369"></a>
+<span class="sourceLineNo">370</span>  public void onRegionMerged(HRegionInfo mergedRegion) throws IOException {<a name="line.370"></a>
 <span class="sourceLineNo">371</span>    if (initialized) {<a name="line.371"></a>
-<span class="sourceLineNo">372</span>      namespaceQuotaManager.removeFromNamespaceUsage(tName);<a name="line.372"></a>
+<span class="sourceLineNo">372</span>      namespaceQuotaManager.updateQuotaForRegionMerge(mergedRegion);<a name="line.372"></a>
 <span class="sourceLineNo">373</span>    }<a name="line.373"></a>
 <span class="sourceLineNo">374</span>  }<a name="line.374"></a>
 <span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public NamespaceAuditor getNamespaceQuotaManager() {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    return this.namespaceQuotaManager;<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>  private static interface SetQuotaOperations {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    Quotas fetch() throws IOException;<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    void delete() throws IOException;<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    void update(final Quotas quotas) throws IOException;<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    void preApply(final Quotas quotas) throws IOException;<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    void postApply(final Quotas quotas) throws IOException;<a name="line.385"></a>
-<span class="sourceLineNo">386</span>  }<a name="line.386"></a>
-<span class="sourceLineNo">387</span><a name="line.387"></a>
-<span class="sourceLineNo">388</span>  /* ==========================================================================<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   *  Helpers to apply changes to the quotas<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   */<a name="line.390"></a>
-<span class="sourceLineNo">391</span>  private void applyThrottle(final Quotas.Builder quotas, final ThrottleRequest req)<a name="line.391"></a>
-<span class="sourceLineNo">392</span>      throws IOException {<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    Throttle.Builder throttle;<a name="line.393"></a>
+<span class="sourceLineNo">376</span>  @Override<a name="line.376"></a>
+<span class="sourceLineNo">377</span>  public void onRegionSplit(HRegionInfo hri) throws IOException {<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    if (initialized) {<a name="line.378"></a>
+<span class="sourceLineNo">379</span>      namespaceQuotaManager.checkQuotaToSplitRegion(hri);<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    }<a name="line.380"></a>
+<span class="sourceLineNo">381</span>  }<a name="line.381"></a>
+<span class="sourceLineNo">382</span><a name="line.382"></a>
+<span class="sourceLineNo">383</span>  /**<a name="line.383"></a>
+<span class="sourceLineNo">384</span>   * Remove table from namespace quota.<a name="line.384"></a>
+<span class="sourceLineNo">385</span>   *<a name="line.385"></a>
+<span class="sourceLineNo">386</span>   * @param tName - The table name to update quota usage.<a name="line.386"></a>
+<span class="sourceLineNo">387</span>   * @throws IOException Signals that an I/O exception has occurred.<a name="line.387"></a>
+<span class="sourceLineNo">388</span>   */<a name="line.388"></a>
+<span class="sourceLineNo">389</span>  public void removeTableFromNamespaceQuota(TableName tName) throws IOException {<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    if (initialized) {<a name="line.390"></a>
+<span class="sourceLineNo">391</span>      namespaceQuotaManager.removeFromNamespaceUsage(tName);<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>    if (req.hasType() &amp;&amp; (req.hasTimedQuota() || quotas.hasThrottle())) {<a name="line.395"></a>
-<span class="sourceLineNo">396</span>      // Validate timed quota if present<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      if (req.hasTimedQuota()) validateTimedQuota(req.getTimedQuota());<a name="line.397"></a>
+<span class="sourceLineNo">395</span>  public NamespaceAuditor getNamespaceQuotaManager() {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>    return this.namespaceQuotaManager;<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>      // apply the new settings<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      throttle = quotas.hasThrottle() ? quotas.getThrottle().toBuilder() : Throttle.newBuilder();<a name="line.400"></a>
-<span class="sourceLineNo">401</span><a name="line.401"></a>
-<span class="sourceLineNo">402</span>      switch (req.getType()) {<a name="line.402"></a>
-<span class="sourceLineNo">403</span>        case REQUEST_NUMBER:<a name="line.403"></a>
-<span class="sourceLineNo">404</span>          if (req.hasTimedQuota()) {<a name="line.404"></a>
-<span class="sourceLineNo">405</span>            throttle.setReqNum(req.getTimedQuota());<a name="line.405"></a>
-<span class="sourceLineNo">406</span>          } else {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>            throttle.clearReqNum();<a name="line.407"></a>
-<span class="sourceLineNo">408</span>          }<a name="line.408"></a>
-<span class="sourceLineNo">409</span>          break;<a name="line.409"></a>
-<span class="sourceLineNo">410</span>        case REQUEST_SIZE:<a name="line.410"></a>
-<span class="sourceLineNo">411</span>          if (req.hasTimedQuota()) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>            throttle.setReqSize(req.getTimedQuota());<a name="line.412"></a>
-<span class="sourceLineNo">413</span>          } else {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>            throttle.clearReqSize();<a name="line.414"></a>
-<span class="sourceLineNo">415</span>          }<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          break;<a name="line.416"></a>
-<span class="sourceLineNo">417</span>        case WRITE_NUMBER:<a name="line.417"></a>
-<span class="sourceLineNo">418</span>          if (req.hasTimedQuota()) {<a name="line.418"></a>
-<span class="sourceLineNo">419</span>            throttle.setWriteNum(req.getTimedQuota());<a name="line.419"></a>
-<span class="sourceLineNo">420</span>          } else {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>            throttle.clearWriteNum();<a name="line.421"></a>
-<span class="sourceLineNo">422</span>          }<a name="line.422"></a>
-<span class="sourceLineNo">423</span>          break;<a name="line.423"></a>
-<span class="sourceLineNo">424</span>        case WRITE_SIZE:<a name="line.424"></a>
-<span class="sourceLineNo">425</span>          if (req.hasTimedQuota()) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>            throttle.setWriteSize(req.getTimedQuota());<a name="line.426"></a>
-<span class="sourceLineNo">427</span>          } else {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>            throttle.clearWriteSize();<a name="line.428"></a>
-<span class="sourceLineNo">429</span>          }<a name="line.429"></a>
-<span class="sourceLineNo">430</span>          break;<a name="line.430"></a>
-<span class="sourceLineNo">431</span>        case READ_NUMBER:<a name="line.431"></a>
-<span class="sourceLineNo">432</span>          if (req.hasTimedQuota()) {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>            throttle.setReadNum(req.getTimedQuota());<a name="line.433"></a>
-<span class="sourceLineNo">434</span>          } else {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>            throttle.clearReqNum();<a name="line.435"></a>
-<span class="sourceLineNo">436</span>          }<a name="line.436"></a>
-<span class="sourceLineNo">437</span>          break;<a name="line.437"></a>
-<span class="sourceLineNo">438</span>        case READ_SIZE:<a name="line.438"></a>
-<span class="sourceLineNo">439</span>          if (req.hasTimedQuota()) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span>            throttle.setReadSize(req.getTimedQuota());<a name="line.440"></a>
-<span class="sourceLineNo">441</span>          } else {<a name="line.441"></a>
-<span class="sourceLineNo">442</span>            throttle.clearReadSize();<a name="line.442"></a>
-<span class="sourceLineNo">443</span>          }<a name="line.443"></a>
-<span class="sourceLineNo">444</span>          break;<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      }<a name="line.445"></a>
-<span class="sourceLineNo">446</span>      quotas.setThrottle(throttle.build());<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    } else {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>      quotas.clearThrottle();<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>  private void applyBypassGlobals(final Quotas.Builder quotas, boolean bypassGlobals) {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    if (bypassGlobals) {<a name="line.453"></a>
-<span class="sourceLineNo">454</span>      quotas.setBypassGlobals(bypassGlobals);<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    } else {<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      quotas.clearBypassGlobals();<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    }<a name="line.457"></a>
-<span class="sourceLineNo">458</span>  }<a name="line.458"></a>
-<span class="sourceLineNo">459</span><a name="line.459"></a>
-<span class="sourceLineNo">460</span>  /**<a name="line.460"></a>
-<span class="sourceLineNo">461</span>   * Adds the information from the provided {@link SpaceLimitRequest} to the {@link Quotas} builder.<a name="line.461"></a>
-<span class="sourceLineNo">462</span>   *<a name="line.462"></a>
-<span class="sourceLineNo">463</span>   * @param quotas The builder to update.<a name="line.463"></a>
-<span class="sourceLineNo">464</span>   * @param req The request to extract space quota information from.<a name="line.464"></a>
-<span class="sourceLineNo">465</span>   */<a name="line.465"></a>
-<span class="sourceLineNo">466</span>  void applySpaceLimit(final Quotas.Builder quotas, final SpaceLimitRequest req) {<a name="line.466"></a>
-<span class="sourceLineNo">467</span>    if (req.hasQuota()) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>      SpaceQuota spaceQuota = req.getQuota();<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      // If we have the remove flag, unset the space quota.<a name="line.469"></a>
-<span class="sourceLineNo">470</span>      if (spaceQuota.getRemove()) {<a name="line.470"></a>
-<span class="sourceLineNo">471</span>        quotas.setSpace(SpaceQuota.getDefaultInstance());<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      } else {<a name="line.472"></a>
-<span class="sourceLineNo">473</span>        // Otherwise, update the new quota<a name="line.473"></a>
-<span class="sourceLineNo">474</span>        applySpaceQuota(quotas, req.getQuota());<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><a name="line.478"></a>
-<span class="sourceLineNo">479</span>  /**<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   * Merges the provided {@link SpaceQuota} into the given {@link Quotas} builder.<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   *<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   * @param quotas The Quotas builder instance to update<a name="line.482"></a>
-<span class="sourceLineNo">483</span>   * @param quota The SpaceQuota instance to update from<a name="line.483"></a>
-<span class="sourceLineNo">484</span>   */<a name="line.484"></a>
-<span class="sourceLineNo">485</span>  void applySpaceQuota(final Quotas.Builder quotas, final SpaceQuota quota) {<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    // Create a builder for Quotas<a name="line.486"></a>
-<span class="sourceLineNo">487</span>    SpaceQuota.Builder builder = quotas.hasSpace() ? quotas.getSpace().toBuilder() :<a name="line.487"></a>
-<span class="sourceLineNo">488</span>        SpaceQuota.newBuilder();<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    // Update the values from the provided quota into the new one and set it on Quotas.<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    quotas.setSpace(builder.mergeFrom(quota).build());<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>  private void validateTimedQuota(final TimedQuota timedQuota) throws IOException {<a name="line.493"></a>
-<span class="sourceLineNo">494</span>    if (timedQuota.getSoftLimit() &lt; 1) {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      throw new DoNotRetryIOException(new UnsupportedOperationException(<a name="line.495"></a>
-<span class="sourceLineNo">496</span>          "The throttle limit must be greater then 0, got " + timedQuota.getSoftLimit()));<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>   *  Helpers<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>  private void checkQuotaSupport() throws IOException {<a name="line.504"></a>
-<span class="sourceLineNo">505</span>    if (!QuotaUtil.isQuotaEnabled(masterServices.getConfiguration())) {<a name="line.505"></a>
-<span class="sourceLineNo">506</span>      throw new DoNotRetryIOException(<a name="line.506"></a>
-<span class="sourceLineNo">507</span>        new UnsupportedOperationException("quota support disabled"));<a name="line.507"></a>
-<span class="sourceLineNo">508</span>    }<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    if (!initialized) {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      long maxWaitTime = masterServices.getConfiguration().getLong(<a name="line.510"></a>
-<span class="sourceLineNo">511</span>        "hbase.master.wait.for.quota.manager.init", 30000); // default is 30 seconds.<a name="line.511"></a>
-<span class="sourceLineNo">512</span>      long startTime = EnvironmentEdgeManager.currentTime();<a name="line.512"></a>
-<span class="sourceLineNo">513</span>      do {<a name="line.513"></a>
-<span class="sourceLineNo">514</span>        try {<a name="line.514"></a>
-<span class="sourceLineNo">515</span>          Thread.sleep(100);<a name="line.515"></a>
-<span class="sourceLineNo">516</span>        } catch (InterruptedException e) {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>          LOG.warn("Interrupted while waiting for Quota Manager to be initialized.");<a name="line.517"></a>
-<span class="sourceLineNo">518</span>          break;<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        }<a name="line.519"></a>
-<span class="sourceLineNo">520</span>      } while (!initialized &amp;&amp; (EnvironmentEdgeManager.currentTime() - startTime) &lt; maxWaitTime);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>      if (!initialized) {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>        throw new IOException("Quota manager is uninitialized, please retry later.");<a name="line.522"></a>
-<span class="sourceLineNo">523</span>      }<a name="line.523"></a>
+<span class="sourceLineNo">399</span>  /**<a name="line.399"></a>
+<span class="sourceLineNo">400</span>   * Encapsulates CRUD quota operations for some subject.<a name="line.400"></a>
+<span class="sourceLineNo">401</span>   */<a name="line.401"></a>
+<span class="sourceLineNo">402</span>  private static interface SetQuotaOperations {<a name="line.402"></a>
+<span class="sourceLineNo">403</span>    /**<a name="line.403"></a>
+<span class="sourceLineNo">404</span>     * Fetches the current quota settings for the subject.<a name="line.404"></a>
+<span class="sourceLineNo">405</span>     */<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    GlobalQuotaSettings fetch() throws IOException;<a name="line.406"></a>
+<span class="sourceLineNo">407</span>    /**<a name="line.407"></a>
+<span class="sourceLineNo">408</span>     * Deletes the quota for the subject.<a name="line.408"></a>
+<span class="sourceLineNo">409</span>     */<a name="line.409"></a>
+<span class="sourceLineNo">410</span>    void delete() throws IOException;<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    /**<a name="line.411"></a>
+<span class="sourceLineNo">412</span>     * Persist the given quota for the subject.<a name="line.412"></a>
+<span class="sourceLineNo">413</span>     */<a name="line.413"></a>
+<span class="sourceLineNo">414</span>    void update(GlobalQuotaSettings quotaPojo) throws IOException;<a name="line.414"></a>
+<span class="sourceLineNo">415</span>    /**<a name="line.415"></a>
+<span class="sourceLineNo">416</span>     * Performs some action before {@link #update(GlobalQuotaSettings)} with the current quota<a name="line.416"></a>
+<span class="sourceLineNo">417</span>     * for the subject.<a name="line.417"></a>
+<span class="sourceLineNo">418</span>     */<a name="line.418"></a>
+<span class="sourceLineNo">419</span>    void preApply(GlobalQuotaSettings quotaPojo) throws IOException;<a name="line.419"></a>
+<span class="sourceLineNo">420</span>    /**<a name="line.420"></a>
+<span class="sourceLineNo">421</span>     * Performs some action after {@link #update(GlobalQuotaSettings)} with the resulting quota<a name="line.421"></a>
+<span class="sourceLineNo">422</span>     * from the request action for the subject.<a name="line.422"></a>
+<span class="sourceLineNo">423</span>     */<a name="line.423"></a>
+<span class="sourceLineNo">424</span>    void postApply(GlobalQuotaSettings quotaPojo) throws IOException;<a name="line.424"></a>
+<span class="sourceLineNo">425</span>  }<a name="line.425"></a>
+<span class="sourceLineNo">426</span><a name="line.426"></a>
+<span class="sourceLineNo">427</span>  /* ==========================================================================<a name="line.427"></a>
+<span class="sourceLineNo">428</span>   *  Helpers<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>  private void checkQuotaSupport() throws IOException {<a name="line.431"></a>
+<span class="sourceLineNo">432</span>    if (!QuotaUtil.isQuotaEnabled(masterServices.getConfiguration())) {<a name="line.432"></a>
+<span class="sourceLineNo">433</span>      throw new DoNotRetryIOException(<a name="line.433"></a>
+<span class="sourceLineNo">434</span>        new UnsupportedOperationException("quota support disabled"));<a name="line.434"></a>
+<span class="sourceLineNo">435</span>    }<a name="line.435"></a>
+<span class="sourceLineNo">436</span>    if (!initialized) {<a name="line.436"></a>
+<span class="sourceLineNo">437</span>      long maxWaitTime = masterServices.getConfiguration().getLong(<a name="line.437"></a>
+<span class="sourceLineNo">438</span>        "hbase.master.wait.for.quota.manager.init", 30000); // default is 30 seconds.<a name="line.438"></a>
+<span class="sourceLineNo">439</span>      long startTime = EnvironmentEdgeManager.currentTime();<a name="line.439"></a>
+<span class="sourceLineNo">440</span>      do {<a name="line.440"></a>
+<span class="sourceLineNo">441</span>        try {<a name="line.441"></a>
+<span class="sourceLineNo">442</span>          Thread.sleep(100);<a name="line.442"></a>
+<span class="sourceLineNo">443</span>        } catch (InterruptedException e) {<a name="line.443"></a>
+<span class="sourceLineNo">444</span>          LOG.warn("Interrupted while waiting for Quota Manager to be initialized.");<a name="line.444"></a>
+<span class="sourceLineNo">445</span>          break;<a name="line.445"></a>
+<span class="sourceLineNo">446</span>        }<a name="line.446"></a>
+<span class="sourceLineNo">447</span>      } while (!initialized &amp;&amp; (EnvironmentEdgeManager.currentTime() - startTime) &lt; maxWaitTime);<a name="line.447"></a>
+<span class="sourceLineNo">448</span>      if (!initialized) {<a name="line.448"></a>
+<span class="sourceLineNo">449</span>        throw new IOException("Quota manager is uninitialized, please retry later.");<a name="line.449"></a>
+<span class="sourceLineNo">450</span>      }<a name="line.450"></a>
+<span class="sourceLineNo">451</span>    }<a name="line.451"></a>
+<span class="sourceLineNo">452</span>  }<a name="line.452"></a>
+<span class="sourceLineNo">453</span><a name="line.453"></a>
+<span class="sourceLineNo">454</span>  private void createQuotaTable() throws IOException {<a name="line.454"></a>
+<span class="sourceLineNo">455</span>    masterServices.createSystemTable(QuotaUtil.QUOTA_TABLE_DESC);<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>  private static class NamedLock&lt;T&gt; {<a name="line.458"></a>
+<span class="sourceLineNo">459</span>    private HashSet&lt;T&gt; locks = new HashSet&lt;&gt;();<a name="line.459"></a>
+<span class="sourceLineNo">460</span><a name="line.460"></a>
+<span class="sourceLineNo">461</span>    public void lock(final T name) throws InterruptedException {<a name="line.461"></a>
+<span class="sourceLineNo">462</span>      synchronized (locks) {<a name="line.462"></a>
+<span class="sourceLineNo">463</span>        while (locks.contains(name)) {<a name="line.463"></a>
+<span class="sourceLineNo">464</span>          locks.wait();<a name="line.464"></a>
+<span class="sourceLineNo">465</span>        }<a name="line.465"></a>
+<span class="sourceLineNo">466</span>        locks.add(name);<a name="line.466"></a>
+<span class="sourceLineNo">467</span>      }<a name="line.467"></a>
+<span class="sourceLineNo">468</span>    }<a name="line.468"></a>
+<span class="sourceLineNo">469</span><a name="line.469"></a>
+<span class="sourceLineNo">470</span>    public void unlock(final T name) {<a name="line.470"></a>
+<span class="sourceLineNo">471</span>      synchronized (locks) {<a name="line.471"></a>
+<span class="sourceLineNo">472</span>        locks.remove(name);<a name="line.472"></a>
+<span class="sourceLineNo">473</span>        locks.notifyAll();<a name="line.473"></a>
+<span class="sourceLineNo">474</span>      }<a name="line.474"></a>
+<span class="sourceLineNo">475</span>    }<a name="line.475"></a>
+<span class="sourceLineNo">476</span>  }<a name="line.476"></a>
+<span class="sourceLineNo">477</span><a name="line.477"></a>
+<span class="sourceLineNo">478</span>  @Override<a name="line.478"></a>
+<span class="sourceLineNo">479</span>  public void onRegionSplitReverted(HRegionInfo hri) throws IOException {<a name="line.479"></a>
+<span class="sourceLineNo">480</span>    if (initialized) {<a name="line.480"></a>
+<span class="sourceLineNo">481</span>      this.namespaceQuotaManager.removeRegionFromNamespaceUsage(hri);<a name="line.481"></a>
+<span class="sourceLineNo">482</span>    }<a name="line.482"></a>
+<span class="sourceLineNo">483</span>  }<a name="line.483"></a>
+<span class="sourceLineNo">484</span><a name="line.484"></a>
+<span class="sourceLineNo">485</span>  /**<a name="line.485"></a>
+<span class="sourceLineNo">486</span>   * Holds the size of a region at the given time, millis since the epoch.<a name="line.486"></a>
+<span class="sourceLineNo">487</span>   */<a name="line.487"></a>
+<span class="sourceLineNo">488</span>  private static class SizeSnapshotWithTimestamp {<a name="line.488"></a>
+<span class="sourceLineNo">489</span>    private final long size;<a name="line.489"></a>
+<span class="sourceLineNo">490</span>    private final long time;<a name="line.490"></a>
+<span class="sourceLineNo">491</span><a name="line.491"></a>
+<span class="sourceLineNo">492</span>    public SizeSnapshotWithTimestamp(long size, long time) {<a name="line.492"></a>
+<span class="sourceLineNo">493</span>      this.size = size;<a name="line.493"></a>
+<span class="sourceLineNo">494</span>      this.time = time;<a name="line.494"></a>
+<span class="sourceLineNo">495</span>    }<a name="line.495"></a>
+<span class="sourceLineNo">496</span><a name="line.496"></a>
+<span class="sourceLineNo">497</span>    public long getSize() {<a name="line.497"></a>
+<span class="sourceLineNo">49

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html
index bc0c3a0..fe00c09 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html
@@ -68,12 +68,12 @@
 <span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.procedure2.Procedure;<a name="line.60"></a>
 <span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.61"></a>
 <span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.regionserver.HRegionServer;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.68"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.quotas.GlobalQuotaSettings;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.regionserver.HRegionServer;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.68"></a>
 <span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription;<a name="line.69"></a>
 <span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.testclassification.CoprocessorTests;<a name="line.70"></a>
 <span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.testclassification.MediumTests;<a name="line.71"></a>
@@ -1267,801 +1267,805 @@
 <span class="sourceLineNo">1259</span><a name="line.1259"></a>
 <span class="sourceLineNo">1260</span>    @Override<a name="line.1260"></a>
 <span class="sourceLineNo">1261</span>    public void preSetUserQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span>        final String userName, final Quotas quotas) throws IOException {<a name="line.1262"></a>
+<span class="sourceLineNo">1262</span>        final String userName, final GlobalQuotaSettings quotas) throws IOException {<a name="line.1262"></a>
 <span class="sourceLineNo">1263</span>    }<a name="line.1263"></a>
 <span class="sourceLineNo">1264</span><a name="line.1264"></a>
 <span class="sourceLineNo">1265</span>    @Override<a name="line.1265"></a>
 <span class="sourceLineNo">1266</span>    public void postSetUserQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1266"></a>
-<span class="sourceLineNo">1267</span>        final String userName, final Quotas quotas) throws IOException {<a name="line.1267"></a>
+<span class="sourceLineNo">1267</span>        final String userName, final GlobalQuotaSettings quotas) throws IOException {<a name="line.1267"></a>
 <span class="sourceLineNo">1268</span>    }<a name="line.1268"></a>
 <span class="sourceLineNo">1269</span><a name="line.1269"></a>
 <span class="sourceLineNo">1270</span>    @Override<a name="line.1270"></a>
 <span class="sourceLineNo">1271</span>    public void preSetUserQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1271"></a>
-<span class="sourceLineNo">1272</span>        final String userName, final TableName tableName, final Quotas quotas) throws IOException {<a name="line.1272"></a>
-<span class="sourceLineNo">1273</span>    }<a name="line.1273"></a>
-<span class="sourceLineNo">1274</span><a name="line.1274"></a>
-<span class="sourceLineNo">1275</span>    @Override<a name="line.1275"></a>
-<span class="sourceLineNo">1276</span>    public void postSetUserQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1276"></a>
-<span class="sourceLineNo">1277</span>        final String userName, final TableName tableName, final Quotas quotas) throws IOException {<a name="line.1277"></a>
-<span class="sourceLineNo">1278</span>    }<a name="line.1278"></a>
-<span class="sourceLineNo">1279</span><a name="line.1279"></a>
-<span class="sourceLineNo">1280</span>    @Override<a name="line.1280"></a>
-<span class="sourceLineNo">1281</span>    public void preSetUserQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1281"></a>
-<span class="sourceLineNo">1282</span>        final String userName, final String namespace, final Quotas quotas) throws IOException {<a name="line.1282"></a>
-<span class="sourceLineNo">1283</span>    }<a name="line.1283"></a>
-<span class="sourceLineNo">1284</span><a name="line.1284"></a>
-<span class="sourceLineNo">1285</span>    @Override<a name="line.1285"></a>
-<span class="sourceLineNo">1286</span>    public void postSetUserQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1286"></a>
-<span class="sourceLineNo">1287</span>        final String userName, final String namespace, final Quotas quotas) throws IOException {<a name="line.1287"></a>
-<span class="sourceLineNo">1288</span>    }<a name="line.1288"></a>
-<span class="sourceLineNo">1289</span><a name="line.1289"></a>
-<span class="sourceLineNo">1290</span>    @Override<a name="line.1290"></a>
-<span class="sourceLineNo">1291</span>    public void preSetTableQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1291"></a>
-<span class="sourceLineNo">1292</span>        final TableName tableName, final Quotas quotas) throws IOException {<a name="line.1292"></a>
-<span class="sourceLineNo">1293</span>    }<a name="line.1293"></a>
-<span class="sourceLineNo">1294</span><a name="line.1294"></a>
-<span class="sourceLineNo">1295</span>    @Override<a name="line.1295"></a>
-<span class="sourceLineNo">1296</span>    public void postSetTableQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1296"></a>
-<span class="sourceLineNo">1297</span>        final TableName tableName, final Quotas quotas) throws IOException {<a name="line.1297"></a>
-<span class="sourceLineNo">1298</span>    }<a name="line.1298"></a>
-<span class="sourceLineNo">1299</span><a name="line.1299"></a>
-<span class="sourceLineNo">1300</span>    @Override<a name="line.1300"></a>
-<span class="sourceLineNo">1301</span>    public void preSetNamespaceQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1301"></a>
-<span class="sourceLineNo">1302</span>        final String namespace, final Quotas quotas) throws IOException {<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span>    }<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span><a name="line.1304"></a>
-<span class="sourceLineNo">1305</span>    @Override<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span>    public void postSetNamespaceQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1306"></a>
-<span class="sourceLineNo">1307</span>        final String namespace, final Quotas quotas) throws IOException {<a name="line.1307"></a>
-<span class="sourceLineNo">1308</span>    }<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span><a name="line.1309"></a>
-<span class="sourceLineNo">1310</span>    @Override<a name="line.1310"></a>
-<span class="sourceLineNo">1311</span>    public void preMoveServersAndTables(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1311"></a>
-<span class="sourceLineNo">1312</span>        Set&lt;Address&gt; servers, Set&lt;TableName&gt; tables, String targetGroup) throws IOException {<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span>    }<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span><a name="line.1314"></a>
-<span class="sourceLineNo">1315</span>    @Override<a name="line.1315"></a>
-<span class="sourceLineNo">1316</span>    public void postMoveServersAndTables(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1316"></a>
-<span class="sourceLineNo">1317</span>        Set&lt;Address&gt; servers, Set&lt;TableName&gt; tables,String targetGroup) throws IOException {<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span>    }<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span><a name="line.1319"></a>
-<span class="sourceLineNo">1320</span>    @Override<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span>    public void preMoveServers(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1321"></a>
-<span class="sourceLineNo">1322</span>                               Set&lt;Address&gt; servers, String targetGroup) throws IOException {<a name="line.1322"></a>
-<span class="sourceLineNo">1323</span>    }<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span><a name="line.1324"></a>
-<span class="sourceLineNo">1325</span>    @Override<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span>    public void postMoveServers(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span>                                Set&lt;Address&gt; servers, String targetGroup) throws IOException {<a name="line.1327"></a>
-<span class="sourceLineNo">1328</span>    }<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span><a name="line.1329"></a>
-<span class="sourceLineNo">1330</span>    @Override<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span>    public void preMoveTables(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span>                              Set&lt;TableName&gt; tables, String targetGroupGroup) throws IOException {<a name="line.1332"></a>
-<span class="sourceLineNo">1333</span>    }<a name="line.1333"></a>
-<span class="sourceLineNo">1334</span><a name="line.1334"></a>
-<span class="sourceLineNo">1335</span>    @Override<a name="line.1335"></a>
-<span class="sourceLineNo">1336</span>    public void postMoveTables(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span>                               Set&lt;TableName&gt; tables, String targetGroup) throws IOException {<a name="line.1337"></a>
-<span class="sourceLineNo">1338</span>    }<a name="line.1338"></a>
-<span class="sourceLineNo">1339</span><a name="line.1339"></a>
-<span class="sourceLineNo">1340</span>    @Override<a name="line.1340"></a>
-<span class="sourceLineNo">1341</span>    public void preAddRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span>                              String name) throws IOException {<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span>    }<a name="line.1343"></a>
-<span class="sourceLineNo">1344</span><a name="line.1344"></a>
-<span class="sourceLineNo">1345</span>    @Override<a name="line.1345"></a>
-<span class="sourceLineNo">1346</span>    public void postAddRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1346"></a>
-<span class="sourceLineNo">1347</span>                               String name) throws IOException {<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span>    }<a name="line.1348"></a>
-<span class="sourceLineNo">1349</span><a name="line.1349"></a>
-<span class="sourceLineNo">1350</span>    @Override<a name="line.1350"></a>
-<span class="sourceLineNo">1351</span>    public void preRemoveRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span>                                 String name) throws IOException {<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span>    }<a name="line.1353"></a>
-<span class="sourceLineNo">1354</span><a name="line.1354"></a>
-<span class="sourceLineNo">1355</span>    @Override<a name="line.1355"></a>
-<span class="sourceLineNo">1356</span>    public void postRemoveRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1356"></a>
-<span class="sourceLineNo">1357</span>                                  String name) throws IOException {<a name="line.1357"></a>
-<span class="sourceLineNo">1358</span>    }<a name="line.1358"></a>
-<span class="sourceLineNo">1359</span><a name="line.1359"></a>
-<span class="sourceLineNo">1360</span>    @Override<a name="line.1360"></a>
-<span class="sourceLineNo">1361</span>    public void preBalanceRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1361"></a>
-<span class="sourceLineNo">1362</span>                                  String groupName) throws IOException {<a name="line.1362"></a>
-<span class="sourceLineNo">1363</span>    }<a name="line.1363"></a>
-<span class="sourceLineNo">1364</span><a name="line.1364"></a>
-<span class="sourceLineNo">1365</span>    @Override<a name="line.1365"></a>
-<span class="sourceLineNo">1366</span>    public void postBalanceRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1366"></a>
-<span class="sourceLineNo">1367</span>        String groupName, boolean balancerRan) throws IOException {<a name="line.1367"></a>
-<span class="sourceLineNo">1368</span>    }<a name="line.1368"></a>
-<span class="sourceLineNo">1369</span><a name="line.1369"></a>
-<span class="sourceLineNo">1370</span>    @Override<a name="line.1370"></a>
-<span class="sourceLineNo">1371</span>    public void preRequestLock(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, String namespace,<a name="line.1371"></a>
-<span class="sourceLineNo">1372</span>        TableName tableName, RegionInfo[] regionInfos, LockType type,<a name="line.1372"></a>
-<span class="sourceLineNo">1373</span>        String description) throws IOException {<a name="line.1373"></a>
-<span class="sourceLineNo">1374</span>      preRequestLockCalled = true;<a name="line.1374"></a>
-<span class="sourceLineNo">1375</span>    }<a name="line.1375"></a>
-<span class="sourceLineNo">1376</span><a name="line.1376"></a>
-<span class="sourceLineNo">1377</span>    @Override<a name="line.1377"></a>
-<span class="sourceLineNo">1378</span>    public void postRequestLock(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, String namespace,<a name="line.1378"></a>
-<span class="sourceLineNo">1379</span>        TableName tableName, RegionInfo[] regionInfos, LockType type,<a name="line.1379"></a>
-<span class="sourceLineNo">1380</span>        String description) throws IOException {<a name="line.1380"></a>
-<span class="sourceLineNo">1381</span>      postRequestLockCalled = true;<a name="line.1381"></a>
-<span class="sourceLineNo">1382</span>    }<a name="line.1382"></a>
-<span class="sourceLineNo">1383</span><a name="line.1383"></a>
-<span class="sourceLineNo">1384</span>    @Override<a name="line.1384"></a>
-<span class="sourceLineNo">1385</span>    public void preLockHeartbeat(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1385"></a>
-<span class="sourceLineNo">1386</span>        LockProcedure proc, boolean keepAlive) throws IOException {<a name="line.1386"></a>
-<span class="sourceLineNo">1387</span>      preLockHeartbeatCalled = true;<a name="line.1387"></a>
-<span class="sourceLineNo">1388</span>    }<a name="line.1388"></a>
-<span class="sourceLineNo">1389</span><a name="line.1389"></a>
-<span class="sourceLineNo">1390</span>    @Override<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span>    public void postLockHeartbeat(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1391"></a>
-<span class="sourceLineNo">1392</span>        LockProcedure proc, boolean keepAlive) throws IOException {<a name="line.1392"></a>
-<span class="sourceLineNo">1393</span>      postLockHeartbeatCalled = true;<a name="line.1393"></a>
-<span class="sourceLineNo">1394</span>    }<a name="line.1394"></a>
-<span class="sourceLineNo">1395</span><a name="line.1395"></a>
-<span class="sourceLineNo">1396</span>    public boolean preAndPostForQueueLockAndHeartbeatLockCalled() {<a name="line.1396"></a>
-<span class="sourceLineNo">1397</span>      return preRequestLockCalled &amp;&amp; postRequestLockCalled &amp;&amp; preLockHeartbeatCalled &amp;&amp;<a name="line.1397"></a>
-<span class="sourceLineNo">1398</span>          postLockHeartbeatCalled;<a name="line.1398"></a>
-<span class="sourceLineNo">1399</span>    }<a name="line.1399"></a>
-<span class="sourceLineNo">1400</span><a name="line.1400"></a>
-<span class="sourceLineNo">1401</span>    @Override<a name="line.1401"></a>
-<span class="sourceLineNo">1402</span>    public void preSplitRegion(<a name="line.1402"></a>
-<span class="sourceLineNo">1403</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; c,<a name="line.1403"></a>
-<span class="sourceLineNo">1404</span>        final TableName tableName,<a name="line.1404"></a>
-<span class="sourceLineNo">1405</span>        final byte[] splitRow) throws IOException {<a name="line.1405"></a>
-<span class="sourceLineNo">1406</span>    }<a name="line.1406"></a>
-<span class="sourceLineNo">1407</span><a name="line.1407"></a>
-<span class="sourceLineNo">1408</span>    @Override<a name="line.1408"></a>
-<span class="sourceLineNo">1409</span>    public void preSplitRegionAction(<a name="line.1409"></a>
-<span class="sourceLineNo">1410</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; c,<a name="line.1410"></a>
-<span class="sourceLineNo">1411</span>        final TableName tableName,<a name="line.1411"></a>
-<span class="sourceLineNo">1412</span>        final byte[] splitRow) throws IOException {<a name="line.1412"></a>
-<span class="sourceLineNo">1413</span>    }<a name="line.1413"></a>
-<span class="sourceLineNo">1414</span><a name="line.1414"></a>
-<span class="sourceLineNo">1415</span>    @Override<a name="line.1415"></a>
-<span class="sourceLineNo">1416</span>    public void postCompletedSplitRegionAction(<a name="line.1416"></a>
-<span class="sourceLineNo">1417</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; c,<a name="line.1417"></a>
-<span class="sourceLineNo">1418</span>        final RegionInfo regionInfoA,<a name="line.1418"></a>
-<span class="sourceLineNo">1419</span>        final RegionInfo regionInfoB) throws IOException {<a name="line.1419"></a>
-<span class="sourceLineNo">1420</span>    }<a name="line.1420"></a>
-<span class="sourceLineNo">1421</span><a name="line.1421"></a>
-<span class="sourceLineNo">1422</span>    @Override<a name="line.1422"></a>
-<span class="sourceLineNo">1423</span>    public void preSplitRegionBeforePONRAction(<a name="line.1423"></a>
-<span class="sourceLineNo">1424</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1424"></a>
-<span class="sourceLineNo">1425</span>        final byte[] splitKey,<a name="line.1425"></a>
-<span class="sourceLineNo">1426</span>        final List&lt;Mutation&gt; metaEntries) throws IOException {<a name="line.1426"></a>
-<span class="sourceLineNo">1427</span>    }<a name="line.1427"></a>
-<span class="sourceLineNo">1428</span><a name="line.1428"></a>
-<span class="sourceLineNo">1429</span>    @Override<a name="line.1429"></a>
-<span class="sourceLineNo">1430</span>    public void preSplitRegionAfterPONRAction(<a name="line.1430"></a>
-<span class="sourceLineNo">1431</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1431"></a>
-<span class="sourceLineNo">1432</span>    }<a name="line.1432"></a>
-<span class="sourceLineNo">1433</span><a name="line.1433"></a>
-<span class="sourceLineNo">1434</span>    @Override<a name="line.1434"></a>
-<span class="sourceLineNo">1435</span>    public void postRollBackSplitRegionAction(<a name="line.1435"></a>
-<span class="sourceLineNo">1436</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1436"></a>
-<span class="sourceLineNo">1437</span>    }<a name="line.1437"></a>
-<span class="sourceLineNo">1438</span><a name="line.1438"></a>
-<span class="sourceLineNo">1439</span>    @Override<a name="line.1439"></a>
-<span class="sourceLineNo">1440</span>    public void preMergeRegionsAction(<a name="line.1440"></a>
-<span class="sourceLineNo">1441</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1441"></a>
-<span class="sourceLineNo">1442</span>        final RegionInfo[] regionsToMerge) throws IOException {<a name="line.1442"></a>
-<span class="sourceLineNo">1443</span>    }<a name="line.1443"></a>
-<span class="sourceLineNo">1444</span><a name="line.1444"></a>
-<span class="sourceLineNo">1445</span>    @Override<a name="line.1445"></a>
-<span class="sourceLineNo">1446</span>    public void postCompletedMergeRegionsAction(<a name="line.1446"></a>
-<span class="sourceLineNo">1447</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; c,<a name="line.1447"></a>
-<span class="sourceLineNo">1448</span>        final RegionInfo[] regionsToMerge,<a name="line.1448"></a>
-<span class="sourceLineNo">1449</span>        final RegionInfo mergedRegion) throws IOException {<a name="line.1449"></a>
-<span class="sourceLineNo">1450</span>    }<a name="line.1450"></a>
-<span class="sourceLineNo">1451</span><a name="line.1451"></a>
-<span class="sourceLineNo">1452</span>    @Override<a name="line.1452"></a>
-<span class="sourceLineNo">1453</span>    public void preMergeRegionsCommitAction(<a name="line.1453"></a>
-<span class="sourceLineNo">1454</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1454"></a>
-<span class="sourceLineNo">1455</span>        final RegionInfo[] regionsToMerge,<a name="line.1455"></a>
-<span class="sourceLineNo">1456</span>        final List&lt;Mutation&gt; metaEntries) throws IOException {<a name="line.1456"></a>
-<span class="sourceLineNo">1457</span>    }<a name="line.1457"></a>
-<span class="sourceLineNo">1458</span><a name="line.1458"></a>
-<span class="sourceLineNo">1459</span>    @Override<a name="line.1459"></a>
-<span class="sourceLineNo">1460</span>    public void postMergeRegionsCommitAction(<a name="line.1460"></a>
-<span class="sourceLineNo">1461</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1461"></a>
-<span class="sourceLineNo">1462</span>        final RegionInfo[] regionsToMerge,<a name="line.1462"></a>
-<span class="sourceLineNo">1463</span>        final RegionInfo mergedRegion) throws IOException {<a name="line.1463"></a>
-<span class="sourceLineNo">1464</span>    }<a name="line.1464"></a>
-<span class="sourceLineNo">1465</span><a name="line.1465"></a>
-<span class="sourceLineNo">1466</span>    @Override<a name="line.1466"></a>
-<span class="sourceLineNo">1467</span>    public void postRollBackMergeRegionsAction(<a name="line.1467"></a>
-<span class="sourceLineNo">1468</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1468"></a>
-<span class="sourceLineNo">1469</span>        final RegionInfo[] regionsToMerge) throws IOException {<a name="line.1469"></a>
-<span class="sourceLineNo">1470</span>    }<a name="line.1470"></a>
-<span class="sourceLineNo">1471</span>  }<a name="line.1471"></a>
-<span class="sourceLineNo">1472</span><a name="line.1472"></a>
-<span class="sourceLineNo">1473</span>  private static HBaseTestingUtility UTIL = new HBaseTestingUtility();<a name="line.1473"></a>
-<span class="sourceLineNo">1474</span>  private static byte[] TEST_SNAPSHOT = Bytes.toBytes("observed_snapshot");<a name="line.1474"></a>
-<span class="sourceLineNo">1475</span>  private static TableName TEST_CLONE = TableName.valueOf("observed_clone");<a name="line.1475"></a>
-<span class="sourceLineNo">1476</span>  private static byte[] TEST_FAMILY = Bytes.toBytes("fam1");<a name="line.1476"></a>
-<span class="sourceLineNo">1477</span>  private static byte[] TEST_FAMILY2 = Bytes.toBytes("fam2");<a name="line.1477"></a>
-<span class="sourceLineNo">1478</span>  @Rule public TestName name = new TestName();<a name="line.1478"></a>
-<span class="sourceLineNo">1479</span><a name="line.1479"></a>
-<span class="sourceLineNo">1480</span>  @BeforeClass<a name="line.1480"></a>
-<span class="sourceLineNo">1481</span>  public static void setupBeforeClass() throws Exception {<a name="line.1481"></a>
-<span class="sourceLineNo">1482</span>    Configuration conf = UTIL.getConfiguration();<a name="line.1482"></a>
-<span class="sourceLineNo">1483</span>    conf.set(CoprocessorHost.MASTER_COPROCESSOR_CONF_KEY,<a name="line.1483"></a>
-<span class="sourceLineNo">1484</span>        CPMasterObserver.class.getName());<a name="line.1484"></a>
-<span class="sourceLineNo">1485</span>    // We need more than one data server on this test<a name="line.1485"></a>
-<span class="sourceLineNo">1486</span>    UTIL.startMiniCluster(2);<a name="line.1486"></a>
-<span class="sourceLineNo">1487</span>  }<a name="line.1487"></a>
-<span class="sourceLineNo">1488</span><a name="line.1488"></a>
-<span class="sourceLineNo">1489</span>  @AfterClass<a name="line.1489"></a>
-<span class="sourceLineNo">1490</span>  public static void tearDownAfterClass() throws Exception {<a name="line.1490"></a>
-<span class="sourceLineNo">1491</span>    UTIL.shutdownMiniCluster();<a name="line.1491"></a>
-<span class="sourceLineNo">1492</span>  }<a name="line.1492"></a>
-<span class="sourceLineNo">1493</span><a name="line.1493"></a>
-<span class="sourceLineNo">1494</span>  @Test (timeout=180000)<a name="line.1494"></a>
-<span class="sourceLineNo">1495</span>  public void testStarted() throws Exception {<a name="line.1495"></a>
-<span class="sourceLineNo">1496</span>    MiniHBaseCluster cluster = UTIL.getHBaseCluster();<a name="line.1496"></a>
+<span class="sourceLineNo">1272</span>        final String userName, final TableName tableName, final GlobalQuotaSettings quotas)<a name="line.1272"></a>
+<span class="sourceLineNo">1273</span>            throws IOException {<a name="line.1273"></a>
+<span class="sourceLineNo">1274</span>    }<a name="line.1274"></a>
+<span class="sourceLineNo">1275</span><a name="line.1275"></a>
+<span class="sourceLineNo">1276</span>    @Override<a name="line.1276"></a>
+<span class="sourceLineNo">1277</span>    public void postSetUserQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1277"></a>
+<span class="sourceLineNo">1278</span>        final String userName, final TableName tableName, final GlobalQuotaSettings quotas)<a name="line.1278"></a>
+<span class="sourceLineNo">1279</span>            throws IOException {<a name="line.1279"></a>
+<span class="sourceLineNo">1280</span>    }<a name="line.1280"></a>
+<span class="sourceLineNo">1281</span><a name="line.1281"></a>
+<span class="sourceLineNo">1282</span>    @Override<a name="line.1282"></a>
+<span class="sourceLineNo">1283</span>    public void preSetUserQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1283"></a>
+<span class="sourceLineNo">1284</span>        final String userName, final String namespace, final GlobalQuotaSettings quotas)<a name="line.1284"></a>
+<span class="sourceLineNo">1285</span>            throws IOException {<a name="line.1285"></a>
+<span class="sourceLineNo">1286</span>    }<a name="line.1286"></a>
+<span class="sourceLineNo">1287</span><a name="line.1287"></a>
+<span class="sourceLineNo">1288</span>    @Override<a name="line.1288"></a>
+<span class="sourceLineNo">1289</span>    public void postSetUserQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1289"></a>
+<span class="sourceLineNo">1290</span>        final String userName, final String namespace, final GlobalQuotaSettings quotas)<a name="line.1290"></a>
+<span class="sourceLineNo">1291</span>            throws IOException {<a name="line.1291"></a>
+<span class="sourceLineNo">1292</span>    }<a name="line.1292"></a>
+<span class="sourceLineNo">1293</span><a name="line.1293"></a>
+<span class="sourceLineNo">1294</span>    @Override<a name="line.1294"></a>
+<span class="sourceLineNo">1295</span>    public void preSetTableQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1295"></a>
+<span class="sourceLineNo">1296</span>        final TableName tableName, final GlobalQuotaSettings quotas) throws IOException {<a name="line.1296"></a>
+<span class="sourceLineNo">1297</span>    }<a name="line.1297"></a>
+<span class="sourceLineNo">1298</span><a name="line.1298"></a>
+<span class="sourceLineNo">1299</span>    @Override<a name="line.1299"></a>
+<span class="sourceLineNo">1300</span>    public void postSetTableQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1300"></a>
+<span class="sourceLineNo">1301</span>        final TableName tableName, final GlobalQuotaSettings quotas) throws IOException {<a name="line.1301"></a>
+<span class="sourceLineNo">1302</span>    }<a name="line.1302"></a>
+<span class="sourceLineNo">1303</span><a name="line.1303"></a>
+<span class="sourceLineNo">1304</span>    @Override<a name="line.1304"></a>
+<span class="sourceLineNo">1305</span>    public void preSetNamespaceQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1305"></a>
+<span class="sourceLineNo">1306</span>        final String namespace, final GlobalQuotaSettings quotas) throws IOException {<a name="line.1306"></a>
+<span class="sourceLineNo">1307</span>    }<a name="line.1307"></a>
+<span class="sourceLineNo">1308</span><a name="line.1308"></a>
+<span class="sourceLineNo">1309</span>    @Override<a name="line.1309"></a>
+<span class="sourceLineNo">1310</span>    public void postSetNamespaceQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1310"></a>
+<span class="sourceLineNo">1311</span>        final String namespace, final GlobalQuotaSettings quotas) throws IOException {<a name="line.1311"></a>
+<span class="sourceLineNo">1312</span>    }<a name="line.1312"></a>
+<span class="sourceLineNo">1313</span><a name="line.1313"></a>
+<span class="sourceLineNo">1314</span>    @Override<a name="line.1314"></a>
+<span class="sourceLineNo">1315</span>    public void preMoveServersAndTables(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1315"></a>
+<span class="sourceLineNo">1316</span>        Set&lt;Address&gt; servers, Set&lt;TableName&gt; tables, String targetGroup) throws IOException {<a name="line.1316"></a>
+<span class="sourceLineNo">1317</span>    }<a name="line.1317"></a>
+<span class="sourceLineNo">1318</span><a name="line.1318"></a>
+<span class="sourceLineNo">1319</span>    @Override<a name="line.1319"></a>
+<span class="sourceLineNo">1320</span>    public void postMoveServersAndTables(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1320"></a>
+<span class="sourceLineNo">1321</span>        Set&lt;Address&gt; servers, Set&lt;TableName&gt; tables,String targetGroup) throws IOException {<a name="line.1321"></a>
+<span class="sourceLineNo">1322</span>    }<a name="line.1322"></a>
+<span class="sourceLineNo">1323</span><a name="line.1323"></a>
+<span class="sourceLineNo">1324</span>    @Override<a name="line.1324"></a>
+<span class="sourceLineNo">1325</span>    public void preMoveServers(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1325"></a>
+<span class="sourceLineNo">1326</span>                               Set&lt;Address&gt; servers, String targetGroup) throws IOException {<a name="line.1326"></a>
+<span class="sourceLineNo">1327</span>    }<a name="line.1327"></a>
+<span class="sourceLineNo">1328</span><a name="line.1328"></a>
+<span class="sourceLineNo">1329</span>    @Override<a name="line.1329"></a>
+<span class="sourceLineNo">1330</span>    public void postMoveServers(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1330"></a>
+<span class="sourceLineNo">1331</span>                                Set&lt;Address&gt; servers, String targetGroup) throws IOException {<a name="line.1331"></a>
+<span class="sourceLineNo">1332</span>    }<a name="line.1332"></a>
+<span class="sourceLineNo">1333</span><a name="line.1333"></a>
+<span class="sourceLineNo">1334</span>    @Override<a name="line.1334"></a>
+<span class="sourceLineNo">1335</span>    public void preMoveTables(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1335"></a>
+<span class="sourceLineNo">1336</span>                              Set&lt;TableName&gt; tables, String targetGroupGroup) throws IOException {<a name="line.1336"></a>
+<span class="sourceLineNo">1337</span>    }<a name="line.1337"></a>
+<span class="sourceLineNo">1338</span><a name="line.1338"></a>
+<span class="sourceLineNo">1339</span>    @Override<a name="line.1339"></a>
+<span class="sourceLineNo">1340</span>    public void postMoveTables(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1340"></a>
+<span class="sourceLineNo">1341</span>                               Set&lt;TableName&gt; tables, String targetGroup) throws IOException {<a name="line.1341"></a>
+<span class="sourceLineNo">1342</span>    }<a name="line.1342"></a>
+<span class="sourceLineNo">1343</span><a name="line.1343"></a>
+<span class="sourceLineNo">1344</span>    @Override<a name="line.1344"></a>
+<span class="sourceLineNo">1345</span>    public void preAddRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1345"></a>
+<span class="sourceLineNo">1346</span>                              String name) throws IOException {<a name="line.1346"></a>
+<span class="sourceLineNo">1347</span>    }<a name="line.1347"></a>
+<span class="sourceLineNo">1348</span><a name="line.1348"></a>
+<span class="sourceLineNo">1349</span>    @Override<a name="line.1349"></a>
+<span class="sourceLineNo">1350</span>    public void postAddRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1350"></a>
+<span class="sourceLineNo">1351</span>                               String name) throws IOException {<a name="line.1351"></a>
+<span class="sourceLineNo">1352</span>    }<a name="line.1352"></a>
+<span class="sourceLineNo">1353</span><a name="line.1353"></a>
+<span class="sourceLineNo">1354</span>    @Override<a name="line.1354"></a>
+<span class="sourceLineNo">1355</span>    public void preRemoveRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1355"></a>
+<span class="sourceLineNo">1356</span>                                 String name) throws IOException {<a name="line.1356"></a>
+<span class="sourceLineNo">1357</span>    }<a name="line.1357"></a>
+<span class="sourceLineNo">1358</span><a name="line.1358"></a>
+<span class="sourceLineNo">1359</span>    @Override<a name="line.1359"></a>
+<span class="sourceLineNo">1360</span>    public void postRemoveRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1360"></a>
+<span class="sourceLineNo">1361</span>                                  String name) throws IOException {<a name="line.1361"></a>
+<span class="sourceLineNo">1362</span>    }<a name="line.1362"></a>
+<span class="sourceLineNo">1363</span><a name="line.1363"></a>
+<span class="sourceLineNo">1364</span>    @Override<a name="line.1364"></a>
+<span class="sourceLineNo">1365</span>    public void preBalanceRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1365"></a>
+<span class="sourceLineNo">1366</span>                                  String groupName) throws IOException {<a name="line.1366"></a>
+<span class="sourceLineNo">1367</span>    }<a name="line.1367"></a>
+<span class="sourceLineNo">1368</span><a name="line.1368"></a>
+<span class="sourceLineNo">1369</span>    @Override<a name="line.1369"></a>
+<span class="sourceLineNo">1370</span>    public void postBalanceRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1370"></a>
+<span class="sourceLineNo">1371</span>        String groupName, boolean balancerRan) throws IOException {<a name="line.1371"></a>
+<span class="sourceLineNo">1372</span>    }<a name="line.1372"></a>
+<span class="sourceLineNo">1373</span><a name="line.1373"></a>
+<span class="sourceLineNo">1374</span>    @Override<a name="line.1374"></a>
+<span class="sourceLineNo">1375</span>    public void preRequestLock(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, String namespace,<a name="line.1375"></a>
+<span class="sourceLineNo">1376</span>        TableName tableName, RegionInfo[] regionInfos, LockType type,<a name="line.1376"></a>
+<span class="sourceLineNo">1377</span>        String description) throws IOException {<a name="line.1377"></a>
+<span class="sourceLineNo">1378</span>      preRequestLockCalled = true;<a name="line.1378"></a>
+<span class="sourceLineNo">1379</span>    }<a name="line.1379"></a>
+<span class="sourceLineNo">1380</span><a name="line.1380"></a>
+<span class="sourceLineNo">1381</span>    @Override<a name="line.1381"></a>
+<span class="sourceLineNo">1382</span>    public void postRequestLock(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, String namespace,<a name="line.1382"></a>
+<span class="sourceLineNo">1383</span>        TableName tableName, RegionInfo[] regionInfos, LockType type,<a name="line.1383"></a>
+<span class="sourceLineNo">1384</span>        String description) throws IOException {<a name="line.1384"></a>
+<span class="sourceLineNo">1385</span>      postRequestLockCalled = true;<a name="line.1385"></a>
+<span class="sourceLineNo">1386</span>    }<a name="line.1386"></a>
+<span class="sourceLineNo">1387</span><a name="line.1387"></a>
+<span class="sourceLineNo">1388</span>    @Override<a name="line.1388"></a>
+<span class="sourceLineNo">1389</span>    public void preLockHeartbeat(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1389"></a>
+<span class="sourceLineNo">1390</span>        LockProcedure proc, boolean keepAlive) throws IOException {<a name="line.1390"></a>
+<span class="sourceLineNo">1391</span>      preLockHeartbeatCalled = true;<a name="line.1391"></a>
+<span class="sourceLineNo">1392</span>    }<a name="line.1392"></a>
+<span class="sourceLineNo">1393</span><a name="line.1393"></a>
+<span class="sourceLineNo">1394</span>    @Override<a name="line.1394"></a>
+<span class="sourceLineNo">1395</span>    public void postLockHeartbeat(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1395"></a>
+<span class="sourceLineNo">1396</span>        LockProcedure proc, boolean keepAlive) throws IOException {<a name="line.1396"></a>
+<span class="sourceLineNo">1397</span>      postLockHeartbeatCalled = true;<a name="line.1397"></a>
+<span class="sourceLineNo">1398</span>    }<a name="line.1398"></a>
+<span class="sourceLineNo">1399</span><a name="line.1399"></a>
+<span class="sourceLineNo">1400</span>    public boolean preAndPostForQueueLockAndHeartbeatLockCalled() {<a name="line.1400"></a>
+<span class="sourceLineNo">1401</span>      return preRequestLockCalled &amp;&amp; postRequestLockCalled &amp;&amp; preLockHeartbeatCalled &amp;&amp;<a name="line.1401"></a>
+<span class="sourceLineNo">1402</span>          postLockHeartbeatCalled;<a name="line.1402"></a>
+<span class="sourceLineNo">1403</span>    }<a name="line.1403"></a>
+<span class="sourceLineNo">1404</span><a name="line.1404"></a>
+<span class="sourceLineNo">1405</span>    @Override<a name="line.1405"></a>
+<span class="sourceLineNo">1406</span>    public void preSplitRegion(<a name="line.1406"></a>
+<span class="sourceLineNo">1407</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; c,<a name="line.1407"></a>
+<span class="sourceLineNo">1408</span>        final TableName tableName,<a name="line.1408"></a>
+<span class="sourceLineNo">1409</span>        final byte[] splitRow) throws IOException {<a name="line.1409"></a>
+<span class="sourceLineNo">1410</span>    }<a name="line.1410"></a>
+<span class="sourceLineNo">1411</span><a name="line.1411"></a>
+<span class="sourceLineNo">1412</span>    @Override<a name="line.1412"></a>
+<span class="sourceLineNo">1413</span>    public void preSplitRegionAction(<a name="line.1413"></a>
+<span class="sourceLineNo">1414</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; c,<a name="line.1414"></a>
+<span class="sourceLineNo">1415</span>        final TableName tableName,<a name="line.1415"></a>
+<span class="sourceLineNo">1416</span>        final byte[] splitRow) throws IOException {<a name="line.1416"></a>
+<span class="sourceLineNo">1417</span>    }<a name="line.1417"></a>
+<span class="sourceLineNo">1418</span><a name="line.1418"></a>
+<span class="sourceLineNo">1419</span>    @Override<a name="line.1419"></a>
+<span class="sourceLineNo">1420</span>    public void postCompletedSplitRegionAction(<a name="line.1420"></a>
+<span class="sourceLineNo">1421</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; c,<a name="line.1421"></a>
+<span class="sourceLineNo">1422</span>        final RegionInfo regionInfoA,<a name="line.1422"></a>
+<span class="sourceLineNo">1423</span>        final RegionInfo regionInfoB) throws IOException {<a name="line.1423"></a>
+<span class="sourceLineNo">1424</span>    }<a name="line.1424"></a>
+<span class="sourceLineNo">1425</span><a name="line.1425"></a>
+<span class="sourceLineNo">1426</span>    @Override<a name="line.1426"></a>
+<span class="sourceLineNo">1427</span>    public void preSplitRegionBeforePONRAction(<a name="line.1427"></a>
+<span class="sourceLineNo">1428</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1428"></a>
+<span class="sourceLineNo">1429</span>        final byte[] splitKey,<a name="line.1429"></a>
+<span class="sourceLineNo">1430</span>        final List&lt;Mutation&gt; metaEntries) throws IOException {<a name="line.1430"></a>
+<span class="sourceLineNo">1431</span>    }<a name="line.1431"></a>
+<span class="sourceLineNo">1432</span><a name="line.1432"></a>
+<span class="sourceLineNo">1433</span>    @Override<a name="line.1433"></a>
+<span class="sourceLineNo">1434</span>    public void preSplitRegionAfterPONRAction(<a name="line.1434"></a>
+<span class="sourceLineNo">1435</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1435"></a>
+<span class="sourceLineNo">1436</span>    }<a name="line.1436"></a>
+<span class="sourceLineNo">1437</span><a name="line.1437"></a>
+<span class="sourceLineNo">1438</span>    @Override<a name="line.1438"></a>
+<span class="sourceLineNo">1439</span>    public void postRollBackSplitRegionAction(<a name="line.1439"></a>
+<span class="sourceLineNo">1440</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1440"></a>
+<span class="sourceLineNo">1441</span>    }<a name="line.1441"></a>
+<span class="sourceLineNo">1442</span><a name="line.1442"></a>
+<span class="sourceLineNo">1443</span>    @Override<a name="line.1443"></a>
+<span class="sourceLineNo">1444</span>    public void preMergeRegionsAction(<a name="line.1444"></a>
+<span class="sourceLineNo">1445</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1445"></a>
+<span class="sourceLineNo">1446</span>        final RegionInfo[] regionsToMerge) throws IOException {<a name="line.1446"></a>
+<span class="sourceLineNo">1447</span>    }<a name="line.1447"></a>
+<span class="sourceLineNo">1448</span><a name="line.1448"></a>
+<span class="sourceLineNo">1449</span>    @Override<a name="line.1449"></a>
+<span class="sourceLineNo">1450</span>    public void postCompletedMergeRegionsAction(<a name="line.1450"></a>
+<span class="sourceLineNo">1451</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; c,<a name="line.1451"></a>
+<span class="sourceLineNo">1452</span>        final RegionInfo[] regionsToMerge,<a name="line.1452"></a>
+<span class="sourceLineNo">1453</span>        final RegionInfo mergedRegion) throws IOException {<a name="line.1453"></a>
+<span class="sourceLineNo">1454</span>    }<a name="line.1454"></a>
+<span class="sourceLineNo">1455</span><a name="line.1455"></a>
+<span class="sourceLineNo">1456</span>    @Override<a name="line.1456"></a>
+<span class="sourceLineNo">1457</span>    public void preMergeRegionsCommitAction(<a name="line.1457"></a>
+<span class="sourceLineNo">1458</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1458"></a>
+<span class="sourceLineNo">1459</span>        final RegionInfo[] regionsToMerge,<a name="line.1459"></a>
+<span class="sourceLineNo">1460</span>        final List&lt;Mutation&gt; metaEntries) throws IOException {<a name="line.1460"></a>
+<span class="sourceLineNo">1461</span>    }<a name="line.1461"></a>
+<span class="sourceLineNo">1462</span><a name="line.1462"></a>
+<span class="sourceLineNo">1463</span>    @Override<a name="line.1463"></a>
+<span class="sourceLineNo">1464</span>    public void postMergeRegionsCommitAction(<a name="line.1464"></a>
+<span class="sourceLineNo">1465</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1465"></a>
+<span class="sourceLineNo">1466</span>        final RegionInfo[] regionsToMerge,<a name="line.1466"></a>
+<span class="sourceLineNo">1467</span>        final RegionInfo mergedRegion) throws IOException {<a name="line.1467"></a>
+<span class="sourceLineNo">1468</span>    }<a name="line.1468"></a>
+<span class="sourceLineNo">1469</span><a name="line.1469"></a>
+<span class="sourceLineNo">1470</span>    @Override<a name="line.1470"></a>
+<span class="sourceLineNo">1471</span>    public void postRollBackMergeRegionsAction(<a name="line.1471"></a>
+<span class="sourceLineNo">1472</span>        final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1472"></a>
+<span class="sourceLineNo">1473</span>        final RegionInfo[] regionsToMerge) throws IOException {<a name="line.1473"></a>
+<span class="sourceLineNo">1474</span>    }<a name="line.1474"></a>
+<span class="sourceLineNo">1475</span>  }<a name="line.1475"></a>
+<span class="sourceLineNo">1476</span><a name="line.1476"></a>
+<span class="sourceLineNo">1477</span>  private static HBaseTestingUtility UTIL = new HBaseTestingUtility();<a name="line.1477"></a>
+<span class="sourceLineNo">1478</span>  private static byte[] TEST_SNAPSHOT = Bytes.toBytes("observed_snapshot");<a name="line.1478"></a>
+<span class="sourceLineNo">1479</span>  private static TableName TEST_CLONE = TableName.valueOf("observed_clone");<a name="line.1479"></a>
+<span class="sourceLineNo">1480</span>  private static byte[] TEST_FAMILY = Bytes.toBytes("fam1");<a name="line.1480"></a>
+<span class="sourceLineNo">1481</span>  private static byte[] TEST_FAMILY2 = Bytes.toBytes("fam2");<a name="line.1481"></a>
+<span class="sourceLineNo">1482</span>  @Rule public TestName name = new TestName();<a name="line.1482"></a>
+<span class="sourceLineNo">1483</span><a name="line.1483"></a>
+<span class="sourceLineNo">1484</span>  @BeforeClass<a name="line.1484"></a>
+<span class="sourceLineNo">1485</span>  public static void setupBeforeClass() throws Exception {<a name="line.1485"></a>
+<span class="sourceLineNo">1486</span>    Configuration conf = UTIL.getConfiguration();<a name="line.1486"></a>
+<span class="sourceLineNo">1487</span>    conf.set(CoprocessorHost.MASTER_COPROCESSOR_CONF_KEY,<a name="line.1487"></a>
+<span class="sourceLineNo">1488</span>        CPMasterObserver.class.getName());<a name="line.1488"></a>
+<span class="sourceLineNo">1489</span>    // We need more than one data server on this test<a name="line.1489"></a>
+<span class="sourceLineNo">1490</span>    UTIL.startMiniCluster(2);<a name="line.1490"></a>
+<span class="sourceLineNo">1491</span>  }<a name="line.1491"></a>
+<span class="sourceLineNo">1492</span><a name="line.1492"></a>
+<span class="sourceLineNo">1493</span>  @AfterClass<a name="line.1493"></a>
+<span class="sourceLineNo">1494</span>  public static void tearDownAfterClass() throws Exception {<a name="line.1494"></a>
+<span class="sourceLineNo">1495</span>    UTIL.shutdownMiniCluster();<a name="line.1495"></a>
+<span class="sourceLineNo">1496</span>  }<a name="line.1496"></a>
 <span class="sourceLineNo">1497</span><a name="line.1497"></a>
-<span class="sourceLineNo">1498</span>    HMaster master = cluster.getMaster();<a name="line.1498"></a>
-<span class="sourceLineNo">1499</span>    assertTrue("Master should be active", master.isActiveMaster());<a name="line.1499"></a>
-<span class="sourceLineNo">1500</span>    MasterCoprocessorHost host = master.getMasterCoprocessorHost();<a name="line.1500"></a>
-<span class="sourceLineNo">1501</span>    assertNotNull("CoprocessorHost should not be null", host);<a name="line.1501"></a>
-<span class="sourceLineNo">1502</span>    CPMasterObserver cp = (CPMasterObserver)host.findCoprocessor(<a name="line.1502"></a>
-<span class="sourceLineNo">1503</span>        CPMasterObserver.class.getName());<a name="line.1503"></a>
-<span class="sourceLineNo">1504</span>    assertNotNull("CPMasterObserver coprocessor not found or not installed!", cp);<a name="line.1504"></a>
-<span class="sourceLineNo">1505</span><a name="line.1505"></a>
-<span class="sourceLineNo">1506</span>    // check basic lifecycle<a name="line.1506"></a>
-<span class="sourceLineNo">1507</span>    assertTrue("MasterObserver should have been started", cp.wasStarted());<a name="line.1507"></a>
-<span class="sourceLineNo">1508</span>    assertTrue("preMasterInitialization() hook should have been called",<a name="line.1508"></a>
-<span class="sourceLineNo">1509</span>        cp.wasMasterInitializationCalled());<a name="line.1509"></a>
-<span class="sourceLineNo">1510</span>    assertTrue("postStartMaster() hook should have been called",<a name="line.1510"></a>
-<span class="sourceLineNo">1511</span>        cp.wasStartMasterCalled());<a name="line.1511"></a>
-<span class="sourceLineNo">1512</span>  }<a name="line.1512"></a>
-<span class="sourceLineNo">1513</span><a name="line.1513"></a>
-<span class="sourceLineNo">1514</span>  @Test (timeout=180000)<a name="line.1514"></a>
-<span class="sourceLineNo">1515</span>  public void testTableOperations() throws Exception {<a name="line.1515"></a>
-<span class="sourceLineNo">1516</span>    MiniHBaseCluster cluster = UTIL.getHBaseCluster();<a name="line.1516"></a>
-<span class="sourceLineNo">1517</span>    final TableName tableName = TableName.valueOf(name.getMethodName());<a name="line.1517"></a>
-<span class="sourceLineNo">1518</span>    HMaster master = cluster.getMaster();<a name="line.1518"></a>
-<span class="sourceLineNo">1519</span>    MasterCoprocessorHost host = master.getMasterCoprocessorHost();<a name="line.1519"></a>
-<span class="sourceLineNo">1520</span>    CPMasterObserver cp = (CPMasterObserver)host.findCoprocessor(<a name="line.1520"></a>
-<span class="sourceLineNo">1521</span>        CPMasterObserver.class.getName());<a name="line.1521"></a>
-<span class="sourceLineNo">1522</span>    cp.enableBypass(true);<a name="line.1522"></a>
-<span class="sourceLineNo">1523</span>    cp.resetStates();<a name="line.1523"></a>
-<span class="sourceLineNo">1524</span>    assertFalse("No table created yet", cp.wasCreateTableCalled());<a name="line.1524"></a>
-<span class="sourceLineNo">1525</span><a name="line.1525"></a>
-<span class="sourceLineNo">1526</span>    // create a table<a name="line.1526"></a>
-<span class="sourceLineNo">1527</span>    HTableDescriptor htd = new HTableDescriptor(tableName);<a name="line.1527"></a>
-<span class="sourceLineNo">1528</span>    htd.addFamily(new HColumnDescriptor(TEST_FAMILY));<a name="line.1528"></a>
-<span class="sourceLineNo">1529</span>    try(Connection connection = ConnectionFactory.createConnection(UTIL.getConfiguration());<a name="line.1529"></a>
-<span class="sourceLineNo">1530</span>        Admin admin = connection.getAdmin()) {<a name="line.1530"></a>
-<span class="sourceLineNo">1531</span>      tableCreationLatch = new CountDownLatch(1);<a name="line.1531"></a>
-<span class="sourceLineNo">1532</span>      admin.createTable(htd, Arrays.copyOfRange(HBaseTestingUtility.KEYS,<a name="line.1532"></a>
-<span class="sourceLineNo">1533</span>        1, HBaseTestingUtility.KEYS.length));<a name="line.1533"></a>
-<span class="sourceLineNo">1534</span><a name="line.1534"></a>
-<span class="sourceLineNo">1535</span>      // preCreateTable can't bypass default action.<a name="line.1535"></a>
-<span class="sourceLineNo">1536</span>      assertTrue("Test table should be created", cp.wasCreateTableCalled());<a name="line.1536"></a>
-<span class="sourceLineNo">1537</span>      tableCreationLatch.await();<a name="line.1537"></a>
-<span class="sourceLineNo">1538</span>      assertTrue("Table pre create handler called.", cp<a name="line.1538"></a>
-<span class="sourceLineNo">1539</span>        .wasPreCreateTableActionCalled());<a name="line.1539"></a>
-<span class="sourceLineNo">1540</span>      assertTrue("Table create handler should be called.",<a name="line.1540"></a>
-<span class="sourceLineNo">1541</span>        cp.wasCreateTableActionCalled());<a name="line.1541"></a>
-<span class="sourceLineNo">1542</span><a name="line.1542"></a>
-<span class="sourceLineNo">1543</span>      RegionLocator regionLocator = connection.getRegionLocator(htd.getTableName());<a name="line.1543"></a>
-<span class="sourceLineNo">1544</span>      List&lt;HRegionLocation&gt; regions = regionLocator.getAllRegionLocations();<a name="line.1544"></a>
-<span class="sourceLineNo">1545</span><a name="line.1545"></a>
-<span class="sourceLineNo">1546</span>      admin.mergeRegionsAsync(regions.get(0).getRegionInfo().getEncodedNameAsBytes(),<a name="line.1546"></a>
-<span class="sourceLineNo">1547</span>        regions.get(1).getRegionInfo().getEncodedNameAsBytes(), true);<a name="line.1547"></a>
-<span class="sourceLineNo">1548</span>      assertTrue("Coprocessor should have been called on region merge",<a name="line.1548"></a>
-<span class="sourceLineNo">1549</span>        cp.wasMergeRegionsCalled());<a name="line.1549"></a>
-<span class="sourceLineNo">1550</span><a name="line.1550"></a>
-<span class="sourceLineNo">1551</span>      tableCreationLatch = new CountDownLatch(1);<a name="line.1551"></a>
-<span class="sourceLineNo">1552</span>      admin.disableTable(tableName);<a name="line.1552"></a>
-<span class="sourceLineNo">1553</span>      assertTrue(admin.isTableDisabled(tableName));<a name="line.1553"></a>
-<span class="sourceLineNo">1554</span>      // preDisableTable can't bypass default action.<a name="line.1554"></a>
-<span class="sourceLineNo">1555</span>      assertTrue("Coprocessor should have been called on table disable",<a name="line.1555"></a>
-<span class="sourceLineNo">1556</span>        cp.wasDisableTableCalled());<a name="line.1556"></a>
-<span class="sourceLineNo">1557</span>      assertTrue("Disable table handler should be called.",<a name="line.1557"></a>
-<span class="sourceLineNo">1558</span>        cp.wasDisableTableActionCalled());<a name="line.1558"></a>
-<span class="sourceLineNo">1559</span><a name="line.1559"></a>
-<span class="sourceLineNo">1560</span>      // enable<a name="line.1560"></a>
-<span class="sourceLineNo">1561</span>      assertFalse(cp.wasEnableTableCalled());<a name="line.1561"></a>
-<span class="sourceLineNo">1562</span>      admin.enableTable(tableName);<a name="line.1562"></a>
-<span class="sourceLineNo">1563</span>      assertTrue(admin.isTableEnabled(tableName));<a name="line.1563"></a>
-<span class="sourceLineNo">1564</span>      // preEnableTable can't bypass default action.<a name="line.1564"></a>
-<span class="sourceLineNo">1565</span>      assertTrue("Coprocessor should have been called on table enable",<a name="line.1565"></a>
-<span class="sourceLineNo">1566</span>        cp.wasEnableTableCalled());<a name="line.1566"></a>
-<span class="sourceLineNo">1567</span>      assertTrue("Enable table handler should be called.",<a name="line.1567"></a>
-<span class="sourceLineNo">1568</span>        cp.wasEnableTableActionCalled());<a name="line.1568"></a>
-<span class="sourceLineNo">1569</span><a name="line.1569"></a>
-<span class="sourceLineNo">1570</span>      admin.disableTable(tableName);<a name="line.1570"></a>
-<span class="sourceLineNo">1571</span>      assertTrue(admin.isTableDisabled(tableName));<a name="line.1571"></a>
-<span class="sourceLineNo">1572</span><a name="line.1572"></a>
-<span class="sourceLineNo">1573</span>      // modify table<a name="line.1573"></a>
-<span class="sourceLineNo">1574</span>      htd.setMaxFileSize(512 * 1024 * 1024);<a name="line.1574"></a>
-<span class="sourceLineNo">1575</span>      modifyTableSync(admin, tableName, htd);<a name="line.1575"></a>
-<span class="sourceLineNo">1576</span>      // preModifyTable can't bypass default action.<a name="line.1576"></a>
-<span class="sourceLineNo">1577</span>      assertTrue("Test table should have been modified",<a name="line.1577"></a>
-<span class="sourceLineNo">1578</span>        cp.wasModifyTableCalled());<a name="line.1578"></a>
-<span class="sourceLineNo">1579</span><a name="line.1579"></a>
-<span class="sourceLineNo">1580</span>      // add a column family<a name="line.1580"></a>
-<span class="sourceLineNo">1581</span>      admin.addColumnFamily(tableName, new HColumnDescriptor(TEST_FAMILY2));<a name="line.1581"></a>
-<span class="sourceLineNo">1582</span>      assertTrue("New column family shouldn't have been added to test table",<a name="line.1582"></a>
-<span class="sourceLineNo">1583</span>        cp.preAddColumnCalledOnly());<a name="line.1583"></a>
-<span class="sourceLineNo">1584</span><a name="line.1584"></a>
-<span class="sourceLineNo">1585</span>      // modify a column family<a name="line.1585"></a>
-<span class="sourceLineNo">1586</span>      HColumnDescriptor hcd1 = new HColumnDescriptor(TEST_FAMILY2);<a name="line.1586"></a>
-<span class="sourceLineNo">1587</span>      hcd1.setMaxVersions(25);<a name="line.1587"></a>
-<span class="sourceLineNo">1588</span>      admin.modifyColumnFamily(tableName, hcd1);<a name="line.1588"></a>
-<span class="sourceLineNo">1589</span>      assertTrue("Second column family should be modified",<a name="line.1589"></a>
-<span class="sourceLineNo">1590</span>        cp.preModifyColumnCalledOnly());<a name="line.1590"></a>
-<span class="sourceLineNo">1591</span><a name="line.1591"></a>
-<span class="sourceLineNo">1592</span>      // truncate table<a name="line.1592"></a>
-<span class="sourceLineNo">1593</span>      admin.truncateTable(tableName, false);<a name="line.1593"></a>
-<span class="sourceLineNo">1594</span><a name="line.1594"></a>
-<span class="sourceLineNo">1595</span>      // delete table<a name="line.1595"></a>
-<span class="sourceLineNo">1596</span>      admin.disableTable(tableName);<a name="line.1596"></a>
-<span class="sourceLineNo">1597</span>      assertTrue(admin.isTableDisabled(tableName));<a name="line.1597"></a>
-<span class="sourceLineNo">1598</span>      deleteTable(admin, tableName);<a name="line.1598"></a>
-<span class="sourceLineNo">1599</span>      assertFalse("Test table should have been deleted",<a name="line.1599"></a>
-<span class="sourceLineNo">1600</span>        admin.tableExists(tableName));<a name="line.1600"></a>
-<span class="sourceLineNo">1601</span>      // preDeleteTable can't bypass default action.<a name="line.1601"></a>
-<span class="sourceLineNo">1602</span>      assertTrue("Coprocessor should have been called on table delete",<a name="line.1602"></a>
-<span class="sourceLineNo">1603</span>        cp.wasDeleteTableCalled());<a name="line.1603"></a>
-<span class="sourceLineNo">1604</span>      assertTrue("Delete table handler should be called.",<a name="line.1604"></a>
-<span class="sourceLineNo">1605</span>        cp.wasDeleteTableActionCalled());<a name="line.1605"></a>
-<span class="sourceLineNo">1606</span><a name="line.1606"></a>
-<span class="sourceLineNo">1607</span>      // turn off bypass, run the tests again<a name="line.1607"></a>
-<span class="sourceLineNo">1608</span>      cp.enableBypass(false);<a name="line.1608"></a>
-<span class="sourceLineNo">1609</span>      cp.resetStates();<a name="line.1609"></a>
+<span class="sourceLineNo">1498</span>  @Test (timeout=180000)<a name="line.1498"></a>
+<span class="sourceLineNo">1499</span>  public void testStarted() throws Exception {<a name="line.1499"></a>
+<span class="sourceLineNo">1500</span>    MiniHBaseCluster cluster = UTIL.getHBaseCluster();<a name="line.1500"></a>
+<span class="sourceLineNo">1501</span><a name="line.1501"></a>
+<span class="sourceLineNo">1502</span>    HMaster master = cluster.getMaster();<a name="line.1502"></a>
+<span class="sourceLineNo">1503</span>    assertTrue("Master should be active", master.isActiveMaster());<a name="line.1503"></a>
+<span class="sourceLineNo">1504</span>    MasterCoprocessorHost host = master.getMasterCoprocessorHost();<a name="line.1504"></a>
+<span class="sourceLineNo">1505</span>    assertNotNull("CoprocessorHost should not be null", host);<a name="line.1505"></a>
+<span class="sourceLineNo">1506</span>    CPMasterObserver cp = (CPMasterObserver)host.findCoprocessor(<a name="line.1506"></a>
+<span class="sourceLineNo">1507</span>        CPMasterObserver.class.getName());<a name="line.1507"></a>
+<span class="sourceLineNo">1508</span>    assertNotNull("CPMasterObserver coprocessor not found or not installed!", cp);<a name="line.1508"></a>
+<span class="sourceLineNo">1509</span><a name="line.1509"></a>
+<span class="sourceLineNo">1510</span>    // check basic lifecycle<a name="line.1510"></a>
+<span class="sourceLineNo">1511</span>    assertTrue("MasterObserver should have been started", cp.wasStarted());<a name="line.1511"></a>
+<span class="sourceLineNo">1512</span>    assertTrue("preMasterInitialization() hook should have been called",<a name="line.1512"></a>
+<span class="sourceLineNo">1513</span>        cp.wasMasterInitializationCalled());<a name="line.1513"></a>
+<span class="sourceLineNo">1514</span>    assertTrue("postStartMaster() hook should have been called",<a name="line.1514"></a>
+<span class="sourceLineNo">1515</span>        cp.wasStartMasterCalled());<a name="line.1515"></a>
+<span class="sourceLineNo">1516</span>  }<a name="line.1516"></a>
+<span class="sourceLineNo">1517</span><a name="line.1517"></a>
+<span class="sourceLineNo">1518</span>  @Test (timeout=180000)<a name="line.1518"></a>
+<span class="sourceLineNo">1519</span>  public void testTableOperations() throws Exception {<a name="line.1519"></a>
+<span class="sourceLineNo">1520</span>    MiniHBaseCluster cluster = UTIL.getHBaseCluster();<a name="line.1520"></a>
+<span class="sourceLineNo">1521</span>    final TableName tableName = TableName.valueOf(name.getMethodName());<a name="line.1521"></a>
+<span class="sourceLineNo">1522</span>    HMaster master = cluster.getMaster();<a name="line.1522"></a>
+<span class="sourceLineNo">1523</span>    MasterCoprocessorHost host = master.getMasterCoprocessorHost();<a name="line.1523"></a>
+<span class="sourceLineNo">1524</span>    CPMasterObserver cp = (CPMasterObserver)host.findCoprocessor(<a name="line.1524"></a>
+<span class="sourceLineNo">1525</span>        CPMasterObserver.class.getName());<a name="line.1525"></a>
+<span class="sourceLineNo">1526</span>    cp.enableBypass(true);<a name="line.1526"></a>
+<span class="sourceLineNo">1527</span>    cp.resetStates();<a name="line.1527"></a>
+<span class="sourceLineNo">1528</span>    assertFalse("No table created yet", cp.wasCreateTableCalled());<a name="line.1528"></a>
+<span class="sourceLineNo">1529</span><a name="line.1529"></a>
+<span class="sourceLineNo">1530</span>    // create a table<a name="line.1530"></a>
+<span class="sourceLineNo">1531</span>    HTableDescriptor htd = new HTableDescriptor(tableName);<a name="line.1531"></a>
+<span class="sourceLineNo">1532</span>    htd.addFamily(new HColumnDescriptor(TEST_FAMILY));<a name="line.1532"></a>
+<span class="sourceLineNo">1533</span>    try(Connection connection = ConnectionFactory.createConnection(UTIL.getConfiguration());<a name="line.1533"></a>
+<span class="sourceLineNo">1534</span>        Admin admin = connection.getAdmin()) {<a name="line.1534"></a>
+<span class="sourceLineNo">1535</span>      tableCreationLatch = new CountDownLatch(1);<a name="line.1535"></a>
+<span class="sourceLineNo">1536</span>      admin.createTable(htd, Arrays.copyOfRange(HBaseTestingUtility.KEYS,<a name="line.1536"></a>
+<span class="sourceLineNo">1537</span>        1, HBaseTestingUtility.KEYS.length));<a name="line.1537"></a>
+<span class="sourceLineNo">1538</span><a name="line.1538"></a>
+<span class="sourceLineNo">1539</span>      // preCreateTable can't bypass default action.<a name="line.1539"></a>
+<span class="sourceLineNo">1540</span>      assertTrue("Test table should be created", cp.wasCreateTableCalled());<a name="line.1540"></a>
+<span class="sourceLineNo">1541</span>      tableCreationLatch.await();<a name="line.1541"></a>
+<span class="sourceLineNo">1542</span>      assertTrue("Table pre create handler called.", cp<a name="line.1542"></a>
+<span class="sourceLineNo">1543</span>        .wasPreCreateTableActionCalled());<a name="line.1543"></a>
+<span class="sourceLineNo">1544</span>      assertTrue("Table create handler should be called.",<a name="line.1544"></a>
+<span class="sourceLineNo">1545</span>        cp.wasCreateTableActionCalled());<a name="line.1545"></a>
+<span class="sourceLineNo">1546</span><a name="line.1546"></a>
+<span class="sourceLineNo">1547</span>      RegionLocator regionLocator = connection.getRegionLocator(htd.getTableName());<a name="line.1547"></a>
+<span class="sourceLineNo">1548</span>      List&lt;HRegionLocation&gt; regions = regionLocator.getAllRegionLocations();<a name="line.1548"></a>
+<span class="sourceLineNo">1549</span><a name="line.1549"></a>
+<span class="sourceLineNo">1550</span>      admin.mergeRegionsAsync(regions.get(0).getRegionInfo().getEncodedNameAsBytes(),<a name="line.1550"></a>
+<span class="sourceLineNo">1551</span>        regions.get(1).getRegionInfo().getEncodedNameAsBytes(), true);<a name="line.1551"></a>
+<span class="sourceLineNo">1552</span>      assertTrue("Coprocessor should have been called on region merge",<a name="line.1552"></a>
+<span class="sourceLineNo">1553</span>        cp.wasMergeRegionsCalled());<a name="line.1553"></a>
+<span class="sourceLineNo">1554</span><a name="line.1554"></a>
+<span class="sourceLineNo">1555</span>      tableCreationLatch = new CountDownLatch(1);<a name="line.1555"></a>
+<span class="sourceLineNo">1556</span>      admin.disableTable(tableName);<a name="line.1556"></a>
+<span class="sourceLineNo">1557</span>      assertTrue(admin.isTableDisabled(tableName));<a name="line.1557"></a>
+<span class="sourceLineNo">1558</span>      // preDisableTable can't bypass default action.<a name="line.1558"></a>
+<span class="sourceLineNo">1559</span>      assertTrue("Coprocessor should have been called on table disable",<a name="line.1559"></a>
+<span class="sourceLineNo">1560</span>        cp.wasDisableTableCalled());<a name="line.1560"></a>
+<span class="sourceLineNo">1561</span>      assertTrue("Disable table handler should be called.",<a name="line.1561"></a>
+<span class="sourceLineNo">1562</span>        cp.wasDisableTableActionCalled());<a name="line.1562"></a>
+<span class="sourceLineNo">1563</span><a name="line.1563"></a>
+<span class="sourceLineNo">1564</span>      // enable<a name="line.1564"></a>
+<span class="sourceLineNo">1565</span>      assertFalse(cp.wasEnableTableCalled());<a name="line.1565"></a>
+<span class="sourceLineNo">1566</span>      admin.enableTable(tableName);<a name="line.1566"></a>
+<span class="sourceLineNo">1567</span>      assertTrue(admin.isTableEnabled(tableName));<a name="line.1567"></a>
+<span class="sourceLineNo">1568</span>      // preEnableTable can't bypass default action.<a name="line.1568"></a>
+<span class="sourceLineNo">1569</span>      assertTrue("Coprocessor should have been called on table enable",<a name="line.1569"></a>
+<span class="sourceLineNo">1570</span>        cp.wasEnableTableCalled());<a name="line.1570"></a>
+<span class="sourceLineNo">1571</span>      assertTrue("Enable table handler should be called.",<a name="line.1571"></a>
+<span class="sourceLineNo">1572</span>        cp.wasEnableTableActionCalled());<a name="line.1572"></a>
+<span class="sourceLineNo">1573</span><a name="line.1573"></a>
+<span class="sourceLineNo">1574</span>      admin.disableTable(tableName);<a name="line.1574"></a>
+<span class="sourceLineNo">1575</span>      assertTrue(admin.isTableDisabled(tableName));<a name="line.1575"></a>
+<span class="sourceLineNo">1576</span><a name="line.1576"></a>
+<span class="sourceLineNo">1577</span>      // modify table<a name="line.1577"></a>
+<span class="sourceLineNo">1578</span>      htd.setMaxFileSize(512 * 1024 * 1024);<a name="line.1578"></a>
+<span class="sourceLineNo">1579</span>      modifyTableSync(admin, tableName, htd);<a name="line.1579"></a>
+<span class="sourceLineNo">1580</span>      // preModifyTable can't bypass default action.<a name="line.1580"></a>
+<span class="sourceLineNo">1581</span>      assertTrue("Test table should have been modified",<a name="line.1581"></a>
+<span class="sourceLineNo">1582</span>        cp.wasModifyTableCalled());<a name="line.1582"></a>
+<span class="sourceLineNo">1583</span><a name="line.1583"></a>
+<span class="sourceLineNo">1584</span>      // add a column family<a name="line.1584"></a>
+<span class="sourceLineNo">1585</span>      admin.addColumnFamily(tableName, new HColumnDescriptor(TEST_FAMILY2));<a name="line.1585"></a>
+<span class="sourceLineNo">1586</span>      assertTrue("New column family shouldn't have been added to test table",<a name="line.1586"></a>
+<span class="sourceLineNo">1587</span>        cp.preAddColumnCalledOnly());<a name="line.1587"></a>
+<span class="sourceLineNo">1588</span><a name="line.1588"></a>
+<span class="sourceLineNo">1589</span>      // modify a column family<a name="line.1589"></a>
+<span class="sourceLineNo">1590</span>      HColumnDescriptor hcd1 = new HColumnDescriptor(TEST_FAMILY2);<a name="line.1590"></a>
+<span class="sourceLineNo">1591</span>      hcd1.setMaxVersions(25);<a name="line.1591"></a>
+<span class="sourceLineNo">1592</span>      admin.modifyColumnFamily(tableName, hcd1);<a name="line.1592"></a>
+<span class="sourceLineNo">1593</span>      assertTrue("Second column family should be modified",<a name="line.1593"></a>
+<span class="sourceLineNo">1594</span>        cp.preModifyColumnCalledOnly());<a name="line.1594"></a>
+<span class="sourceLineNo">1595</span><a name="line.1595"></a>
+<span class="sourceLineNo">1596</span>      // truncate table<a name="line.1596"></a>
+<span class="sourceLineNo">1597</span>      admin.truncateTable(tableName, false);<a name="line.1597"></a>
+<span class="sourceLineNo">1598</span><a name="line.1598"></a>
+<span class="sourceLineNo">1599</span>      // delete table<a name="line.1599"></a>
+<span class="sourceLineNo">1600</span>      admin.disableTable(tableName);<a name="line.1600"></a>
+<span class="sourceLineNo">1601</span>      assertTrue(admin.isTableDisabled(tableName));<a name="line.1601"></a>
+<span class="sourceLineNo">1602</span>      deleteTable(admin, tableName);<a name="line.1602"></a>
+<span class="sourceLineNo">1603</span>      assertFalse("Test table should have been deleted",<a name="line.1603"></a>
+<span class="sourceLineNo">1604</span>        admin.tableExists(tableName));<a name="line.1604"></a>
+<span class="sourceLineNo">1605</span>      // preDeleteTable can't bypass default action.<a name="line.1605"></a>
+<span class="sourceLineNo">1606</span>      assertTrue("Coprocessor should have been called on table delete",<a name="line.1606"></a>
+<span class="sourceLineNo">1607</span>        cp.wasDeleteTableCalled());<a name="line.1607"></a>
+<span class="sourceLineNo">1608</span>      assertTrue("Delete table handler should be called.",<a name="line.1608"></a>
+<span class="sourceLineNo">1609</span>        cp.wasDeleteTableActionCalled());<a name="line.1609"></a>
 <span class="sourceLineNo">1610</span><a name="line.1610"></a>
-<span class="sourceLineNo">1611</span>      admin.createTable(htd);<a name="line.1611"></a>
-<span class="sourceLineNo">1612</span>      assertTrue("Test table should be created", cp.wasCreateTableCalled());<a name="line.1612"></a>
-<span class="sourceLineNo">1613</span>      tableCreationLatch.await();<a name="line.1613"></a>
-<span class="sourceLineNo">1614</span>      assertTrue("Table pre create handler called.", cp<a name="line.1614"></a>
-<span class="sourceLineNo">1615</span>        .wasPreCreateTableActionCalled());<a name="line.1615"></a>
-<span class="sourceLineNo">1616</span>      assertTrue("Table create handler should be called.",<a name="line.1616"></a>
-<span class="sourceLineNo">1617</span>        cp.wasCreateTableActionCalled());<a name="line.1617"></a>
-<span class="sourceLineNo">1618</span><a name="line.1618"></a>
-<span class="sourceLineNo">1619</span>      // disable<a name="line.1619"></a>
-<span class="sourceLineNo">1620</span>      assertFalse(cp.wasDisableTableCalled());<a name="line.1620"></a>
-<span class="sourceLineNo">1621</span>      assertFalse(cp.wasDisableTableActionCalled());<a name="line.1621"></a>
-<span class="sourceLineNo">1622</span>      admin.disableTable(tableName);<a name="line.1622"></a>
-<span class="sourceLineNo">1623</span>      assertTrue(admin.isTableDisabled(tableName));<a name="line.1623"></a>
-<span class="sourceLineNo">1624</span>      assertTrue("Coprocessor should have been called on table disable",<a name="line.1624"></a>
-<span class="sourceLineNo">1625</span>        cp.wasDisableTableCalled());<a name="line.1625"></a>
-<span class="sourceLineNo">1626</span>      assertTrue("Disable table handler should be called.",<a name="line.1626"></a>
-<span class="sourceLineNo">1627</span>        cp.wasDisableTableActionCalled());<a name="line.1627"></a>
-<span class="sourceLineNo">1628</span><a name="line.1628"></a>
-<span class="sourceLineNo">1629</span>      // modify table<a name="line.1629"></a>
-<span class="sourceLineNo">1630</span>      htd.setMaxFileSize(512 * 1024 * 1024);<a name="line.1630"></a>
-<span class="sourceLineNo">1631</span>      modifyTableSync(admin, tableName, htd);<a name="line.1631"></a>
-<span class="sourceLineNo">1632</span>      assertTrue("Test table should have been modified",<a name="line.1632"></a>
-<span class="sourceLineNo">1633</span>        cp.wasModifyTableCalled());<a name="line.1633"></a>
-<span class="sourceLineNo">1634</span>      // add a column family<a name="line.1634"></a>
-<span class="sourceLineNo">1635</span>      admin.addColumnFamily(tableName, new HColumnDescriptor(TEST_FAMILY2));<a name="line.1635"></a>
-<span class="sourceLineNo">1636</span>      assertTrue("New column family should have been added to test table",<a name="line.1636"></a>
-<span class="sourceLineNo">1637</span>        cp.wasAddColumnCalled());<a name="line.1637"></a>
-<span class="sourceLineNo">1638</span>      assertTrue("Add column handler should be called.",<a name="line.1638"></a>
-<span class="sourceLineNo">1639</span>        cp.wasAddColumnFamilyActionCalled());<a name="line.1639"></a>
-<span class="sourceLineNo">1640</span><a name="line.1640"></a>
-<span class="sourceLineNo">1641</span>      // modify a column family<a name="line.1641"></a>
-<span class="sourceLineNo">1642</span>      HColumnDescriptor hcd = new HColumnDescriptor(TEST_FAMILY2);<a name="line.1642"></a>
-<span class="sourceLineNo">1643</span>      hcd.setMaxVersions(25);<a name="line.1643"></a>
-<span class="sourceLineNo">1644</span>      admin.modifyColumnFamily(tableName, hcd);<a name="line.1644"></a>
-<span class="sourceLineNo">1645</span>      assertTrue("Second column family should be modified",<a name="line.1645"></a>
-<span class="sourceLineNo">1646</span>        cp.wasModifyColumnCalled());<a name="line.1646"></a>
-<span class="sourceLineNo">1647</span>      assertTrue("Modify table handler should be called.",<a name="line.1647"></a>
-<span class="sourceLineNo">1648</span>        cp.wasModifyColumnFamilyActionCalled());<a name="line.1648"></a>
-<span class="sourceLineNo">1649</span><a name="line.1649"></a>
-<span class="sourceLineNo">1650</span>      // enable<a name="line.1650"></a>
-<span class="sourceLineNo">1651</span>      assertFalse(cp.wasEnableTableCalled());<a name="line.1651"></a>
-<span class="sourceLineNo">1652</span>      assertFalse(cp.wasEnableTableActionCalled());<a name="line.1652"></a>
-<span class="sourceLineNo">1653</span>      admin.enableTable(tableName);<a name="line.1653"></a>
-<span class="sourceLineNo">1654</span>      assertTrue(admin.isTableEnabled(tableName));<a name="line.1654"></a>
-<span class="sourceLineNo">1655</span>      assertTrue("Coprocessor should have been called on table enable",<a name="line.1655"></a>
-<span class="sourceLineNo">1656</span>        cp.wasEnableTableCalled());<a name="line.1656"></a>
-<span class="sourceLineNo">1657</span>      assertTrue("Enable table handler should be called.",<a name="line.1657"></a>
-<span class="sourceLineNo">1658</span>        cp.wasEnableTableActionCalled());<a name="line.1658"></a>
-<span class="sourceLineNo">1659</span><a name="line.1659"></a>
-<span class="sourceLineNo">1660</span>      // disable again<a name="line.1660"></a>
-<span class="sourceLineNo">1661</span>      admin.disableTable(tableName);<a name="line.1661"></a>
-<span class="sourceLineNo">1662</span>      assertTrue(admin.isTableDisabled(tableName));<a name="line.1662"></a>
+<span class="sourceLineNo">1611</span>      // turn off bypass, run the tests again<a name="line.1611"></a>
+<span class="sourceLineNo">1612</span>      cp.enableBypass(false);<a name="line.1612"></a>
+<span class="sourceLineNo">1613</span>      cp.resetStates();<a name="line.1613"></a>
+<span class="sourceLineNo">1614</span><a name="line.1614"></a>
+<span class="sourceLineNo">1615</span>      admin.createTable(htd);<a name="line.1615"></a>
+<span class="sourceLineNo">1616</span>      assertTrue("Test table should be created", cp.wasCreateTableCalled());<a name="line.1616"></a>
+<span class="sourceLineNo">1617</span>      tableCreationLatch.await();<a name="line.1617"></a>
+<span class="sourceLineNo">1618</span>      assertTrue("Table pre create handler called.", cp<a name="line.1618"></a>
+<span class="sourceLineNo">1619</span>        .wasPreCreateTableActionCalled());<a name="line.1619"></a>
+<span class="sourceLineNo">1620</span>      assertTrue("Table create handler should be called.",<a name="line.1620"></a>
+<span class="sourceLineNo">1621</span>        cp.wasCreateTableActionCalled());<a name="line.1621"></a>
+<span class="sourceLineNo">1622</span><a name="line.1622"></a>
+<span class="sourceLineNo">1623</span>      // disable<a name="line.1623"></a>
+<span class="sourceLineNo">1624</span>      assertFalse(cp.wasDisableTableCalled());<a name="line.1624"></a>
+<span class="sourceLineNo">1625</span>      assertFalse(cp.wasDisableTableActionCalled());<a name="line.1625"></a>
+<span class="sourceLineNo">1626</span>      admin.disableTable(tableName);<a name="line.1626"></a>
+<span class="sourceLineNo">1627</span>      assertTrue(admin.isTableDisabled(tableName));<a name="line.1627"></a>
+<span class="sourceLineNo">1628</span>      assertTrue("Coprocessor should have been called on table disable",<a name="line.1628"></a>
+<span class="sourceLineNo">1629</span>        cp.wasDisableTableCalled());<a name="line.1629"></a>
+<span class="sourceLineNo">1630</span>      assertTrue("Disable table handler should be called.",<a name="line.1630"></a>
+<span class="sourceLineNo">1631</span>        cp.wasDisableTableActionCalled());<a name="line.1631"></a>
+<span class="sourceLineNo">1632</span><a name="line.1632"></a>
+<span class="sourceLineNo">1633</span>      // modify table<a name="line.1633"></a>
+<span class="sourceLineNo">1634</span>      htd.setMaxFileSize(512 * 1024 * 1024);<a name="line.1634"></a>
+<span class="sourceLineNo">1635</span>      modifyTableSync(admin, tableName, htd);<a name="line.1635"></a>
+<span class="sourceLineNo">1636</span>      assertTrue("Test table should have been modified",<a name="line.1636"></a>
+<span class="sourceLineNo">1637</span>        cp.wasModifyTableCalled());<a name="line.1637"></a>
+<span class="sourceLineNo">1638</span>      // add a column family<a name="line.1638"></a>
+<span class="sourceLineNo">1639</span>      admin.addColumnFamily(tableName, new HColumnDescriptor(TEST_FAMILY2));<a name="line.1639"></a>
+<span class="sourceLineNo">1640</span>      assertTrue("New column family should have been added to test table",<a name="line.1640"></a>
+<span class="sourceLineNo">1641</span>        cp.wasAddColumnCalled());<a name="line.1641"></a>
+<span class="sourceLineNo">1642</span>      assertTrue("Add column handler should be called.",<a name="line.1642"></a>
+<span class="sourceLineNo">1643</span>        cp.wasAddColumnFamilyActionCalled());<a name="line.1643"></a>
+<span class="sourceLineNo">1644</span><a name="line.1644"></a>
+<span class="sourceLineNo">1645</span>      // modify a column family<a name="line.1645"></a>
+<span class="sourceLineNo">1646</span>      HColumnDescriptor hcd = new HColumnDescriptor(TEST_FAMILY2);<a name="line.1646"></a>
+<span class="sourceLineNo">1647</span>      hcd.setMaxVersions(25);<a name="line.1647"></a>
+<span class="sourceLineNo">1648</span>      admin.modifyColumnFamily(tableName, hcd);<a name="line.1648"></a>
+<span class="sourceLineNo">1649</span>      assertTrue("Second column family should be modified",<a name="line.1649"></a>
+<span class="sourceLineNo">1650</span>        cp.wasModifyColumnCalled());<a name="line.1650"></a>
+<span class="sourceLineNo">1651</span>      assertTrue("Modify table handler should be called.",<a name="line.1651"></a>
+<span class="sourceLineNo">1652</span>        cp.wasModifyColumnFamilyActionCalled());<a name="line.1652"></a>
+<span class="sourceLineNo">1653</span><a name="line.1653"></a>
+<span class="sourceLineNo">1654</span>      // enable<a name="line.1654"></a>
+<span class="sourceLineNo">1655</span>      assertFalse(cp.wasEnableTableCalled());<a name="line.1655"></a>
+<span class="sourceLineNo">1656</span>      assertFalse(cp.wasEnableTableActionCalled());<a name="line.1656"></a>
+<span class="sourceLineNo">1657</span>      admin.enableTable(tableName);<a name="line.1657"></a>
+<span class="sourceLineNo">1658</span>      assertTrue(admin.isTableEnabled(tableName));<a name="line.1658"></a>
+<span class="sourceLineNo">1659</span>      assertTrue("Coprocessor should have been called on table enable",<a name="line.1659"></a>
+<span class="sourceLineNo">1660</span>        cp.wasEnableTableCalled());<a name="line.1660"></a>
+<span class="sourceLineNo">1661</span>      assertTrue("Enable table handler should be called.",<a name="line.1661"></a>
+<span class="sourceLineNo">1662</span>        cp.wasEnableTableActionCalled());<a name="line.1662"></a>
 <span class="sourceLineNo">1663</span><a name="line.1663"></a>
-<span class="sourceLineNo">1664</span>      // delete column<a name="line.1664"></a>
-<span class="sourceLineNo">1665</span>      assertFalse("No column family deleted yet", cp.wasDeleteColumnCalled());<a name="line.1665"></a>
-<span class="sourceLineNo">1666</span>      assertFalse("Delete table column handler should not be called.",<a name="line.1666"></a>
-<span class="sourceLineNo">1667</span>        cp.wasDeleteColumnFamilyActionCalled());<a name="line.1667"></a>
-<span class="sourceLineNo">1668</span>      admin.deleteColumnFamily(tableName, TEST_FAMILY2);<a name="line.1668"></a>
-<span class="sourceLineNo">1669</span>      HTableDescriptor tableDesc = admin.getTableDescriptor(tableName);<a name="line.1669"></a>
-<span class="sourceLineNo">1670</span>      assertNull("'"+Bytes.toString(TEST_FAMILY2)+"' should have been removed",<a name="line.1670"></a>
-<span class="sourceLineNo">1671</span>        tableDesc.getFamily(TEST_FAMILY2));<a name="line.1671"></a>
-<span class="sourceLineNo">1672</span>      assertTrue("Coprocessor should have been called on column delete",<a name="line.1672"></a>
-<span class="sourceLineNo">1673</span>        cp.wasDeleteColumnCalled());<a name="line.1673"></a>
-<span class="sourceLineNo">1674</span>      assertTrue("Delete table column handler should be called.",<a name="line.1674"></a>
-<span class="sourceLineNo">1675</span>        cp.wasDeleteColumnFamilyActionCalled());<a name="line.1675"></a>
-<span class="sourceLineNo">1676</span><a name="line.1676"></a>
-<span class="sourceLineNo">1677</span>      // delete table<a name="line.1677"></a>
-<span class="sourceLineNo">1678</span>      assertFalse("No table deleted yet", cp.wasDeleteTableCalled());<a name="line.1678"></a>
-<span class="sourceLineNo">1679</span>      assertFalse("Delete table handler should not be called.",<a name="line.1679"></a>
-<span class="sourceLineNo">1680</span>        cp.wasDeleteTableActionCalled());<a name="line.1680"></a>
-<span class="sourceLineNo">1681</span>      deleteTable(admin, tableName);<a name="line.1681"></a>
-<span class="sourceLineNo">1682</span>      assertFalse("Test table should have been deleted",<a name="line.1682"></a>
-<span class="sourceLineNo">1683</span>        admin.tableExists(tableName));<a name="line.1683"></a>
-<span class="sourceLineNo">1684</span>      assertTrue("Coprocessor should have been called on table delete",<a name="line.1684"></a>
-<span class="sourceLineNo">1685</span>        cp.wasDeleteTableCalled());<a name="line.1685"></a>
-<span class="sourceLineNo">1686</span>      assertTrue("Delete table handler should be called.",<a name="line.1686"></a>
-<span class="sourceLineNo">1687</span>        cp.wasDeleteTableActionCalled());<a name="line.1687"></a>
-<span class="sourceLineNo">1688</span>    }<a name="line.1688"></a>
-<span class="sourceLineNo">1689</span>  }<a name="line.1689"></a>
-<span class="sourceLineNo">1690</span><a name="line.1690"></a>
-<span class="sourceLineNo">1691</span>  @Test (timeout=180000)<a name="line.1691"></a>
-<span class="sourceLineNo">1692</span>  public void testSnapshotOperations() throws Exception {<a name="line.1692"></a>
-<span class="sourceLineNo">1693</span>    final TableName tableName = TableName.valueOf(name.getMethodName());<a name="line.1693"></a>
-<span class="sourceLineNo">1694</span>    MiniHBaseCluster cluster = UTIL.getHBaseCluster();<a name="line.1694"></a>
-<span class="sourceLineNo">1695</span>    HMaster master = cluster.getMaster();<a name="line.1695"></a>
-<span class="sourceLineNo">1696</span>    MasterCoprocessorHost host = master.getMasterCoprocessorHost();<a name="line.1696"></a>
-<span class="sourceLineNo">1697</span>    CPMasterObserver cp = (CPMasterObserver)host.findCoprocessor(<a name="line.1697"></a>
-<span class="sourceLineNo">1698</span>        CPMasterObserver.class.getName());<a name="line.1698"></a>
-<span class="sourceLineNo">1699</span>    cp.resetStates();<a name="line.1699"></a>
-<span class="sourceLineNo">1700</span><a name="line.1700"></a>
-<span class="sourceLineNo">1701</span>    // create a table<a name="line.1701"></a>
-<span class="sourceLineNo">1702</span>    HTableDescriptor htd = new HTableDescriptor(tableName);<a name="line.1702"></a>
-<span class="sourceLineNo">1703</span>    htd.addFamily(new HColumnDescriptor(TEST_FAMILY));<a name="line.1703"></a>
-<span class="sourceLineNo">1704</span>    Admin admin = UTIL.getAdmin();<a name="line.1704"></a>
-<span class="sourceLineNo">1705</span><a name="line.1705"></a>
-<span class="sourceLineNo">1706</span>    tableCreati

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html
index 588d69c..781019e 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html
@@ -47,386 +47,395 @@
 <span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceLimitRequest;<a name="line.39"></a>
 <span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.testclassification.ClientTests;<a name="line.40"></a>
 <span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.testclassification.MediumTests;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.junit.AfterClass;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.junit.BeforeClass;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.junit.Test;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.junit.experimental.categories.Category;<a name="line.45"></a>
-<span class="sourceLineNo">046</span><a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.shaded.com.google.common.collect.Iterables;<a name="line.47"></a>
-<span class="sourceLineNo">048</span><a name="line.48"></a>
-<span class="sourceLineNo">049</span>import static org.junit.Assert.assertEquals;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import static org.junit.Assert.assertNull;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import static org.junit.Assert.assertTrue;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import static org.junit.Assert.fail;<a name="line.52"></a>
-<span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span>/**<a name="line.54"></a>
-<span class="sourceLineNo">055</span> * minicluster tests that validate that quota  entries are properly set in the quota table<a name="line.55"></a>
-<span class="sourceLineNo">056</span> */<a name="line.56"></a>
-<span class="sourceLineNo">057</span>@Category({ClientTests.class, MediumTests.class})<a name="line.57"></a>
-<span class="sourceLineNo">058</span>public class TestQuotaAdmin {<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  private static final Log LOG = LogFactory.getLog(TestQuotaAdmin.class);<a name="line.59"></a>
-<span class="sourceLineNo">060</span><a name="line.60"></a>
-<span class="sourceLineNo">061</span>  private final static HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();<a name="line.61"></a>
-<span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>  @BeforeClass<a name="line.63"></a>
-<span class="sourceLineNo">064</span>  public static void setUpBeforeClass() throws Exception {<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    TEST_UTIL.getConfiguration().setBoolean(QuotaUtil.QUOTA_CONF_KEY, true);<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    TEST_UTIL.getConfiguration().setInt(QuotaCache.REFRESH_CONF_KEY, 2000);<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    TEST_UTIL.getConfiguration().setInt("hbase.hstore.compactionThreshold", 10);<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    TEST_UTIL.getConfiguration().setInt("hbase.regionserver.msginterval", 100);<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    TEST_UTIL.getConfiguration().setInt("hbase.client.pause", 250);<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    TEST_UTIL.getConfiguration().setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 6);<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    TEST_UTIL.getConfiguration().setBoolean("hbase.master.enabletable.roundrobin", true);<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    TEST_UTIL.startMiniCluster(1);<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    TEST_UTIL.waitTableAvailable(QuotaTableUtil.QUOTA_TABLE_NAME);<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>  @AfterClass<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  public static void tearDownAfterClass() throws Exception {<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    TEST_UTIL.shutdownMiniCluster();<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>  @Test<a name="line.81"></a>
-<span class="sourceLineNo">082</span>  public void testThrottleType() throws Exception {<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    Admin admin = TEST_UTIL.getAdmin();<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    String userName = User.getCurrent().getShortName();<a name="line.84"></a>
-<span class="sourceLineNo">085</span><a name="line.85"></a>
-<span class="sourceLineNo">086</span>    admin.setQuota(QuotaSettingsFactory<a name="line.86"></a>
-<span class="sourceLineNo">087</span>      .throttleUser(userName, ThrottleType.READ_NUMBER, 6, TimeUnit.MINUTES));<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    admin.setQuota(QuotaSettingsFactory<a name="line.88"></a>
-<span class="sourceLineNo">089</span>      .throttleUser(userName, ThrottleType.WRITE_NUMBER, 12, TimeUnit.MINUTES));<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    admin.setQuota(QuotaSettingsFactory.bypassGlobals(userName, true));<a name="line.90"></a>
-<span class="sourceLineNo">091</span><a name="line.91"></a>
-<span class="sourceLineNo">092</span>    try (QuotaRetriever scanner = QuotaRetriever.open(TEST_UTIL.getConfiguration())) {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      int countThrottle = 0;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      int countGlobalBypass = 0;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>      for (QuotaSettings settings: scanner) {<a name="line.95"></a>
-<span class="sourceLineNo">096</span>        switch (settings.getQuotaType()) {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>          case THROTTLE:<a name="line.97"></a>
-<span class="sourceLineNo">098</span>            ThrottleSettings throttle = (ThrottleSettings)settings;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>            if (throttle.getSoftLimit() == 6) {<a name="line.99"></a>
-<span class="sourceLineNo">100</span>              assertEquals(ThrottleType.READ_NUMBER, throttle.getThrottleType());<a name="line.100"></a>
-<span class="sourceLineNo">101</span>            } else if (throttle.getSoftLimit() == 12) {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>              assertEquals(ThrottleType.WRITE_NUMBER, throttle.getThrottleType());<a name="line.102"></a>
-<span class="sourceLineNo">103</span>            } else {<a name="line.103"></a>
-<span class="sourceLineNo">104</span>              fail("should not come here, because don't set quota with this limit");<a name="line.104"></a>
-<span class="sourceLineNo">105</span>            }<a name="line.105"></a>
-<span class="sourceLineNo">106</span>            assertEquals(userName, throttle.getUserName());<a name="line.106"></a>
-<span class="sourceLineNo">107</span>            assertEquals(null, throttle.getTableName());<a name="line.107"></a>
-<span class="sourceLineNo">108</span>            assertEquals(null, throttle.getNamespace());<a name="line.108"></a>
-<span class="sourceLineNo">109</span>            assertEquals(TimeUnit.MINUTES, throttle.getTimeUnit());<a name="line.109"></a>
-<span class="sourceLineNo">110</span>            countThrottle++;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>            break;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>          case GLOBAL_BYPASS:<a name="line.112"></a>
-<span class="sourceLineNo">113</span>            countGlobalBypass++;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>            break;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>          default:<a name="line.115"></a>
-<span class="sourceLineNo">116</span>            fail("unexpected settings type: " + settings.getQuotaType());<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>      assertEquals(2, countThrottle);<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      assertEquals(1, countGlobalBypass);<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>    admin.setQuota(QuotaSettingsFactory.unthrottleUser(userName));<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    assertNumResults(1, null);<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    admin.setQuota(QuotaSettingsFactory.bypassGlobals(userName, false));<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    assertNumResults(0, null);<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>  @Test<a name="line.129"></a>
-<span class="sourceLineNo">130</span>  public void testSimpleScan() throws Exception {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    Admin admin = TEST_UTIL.getAdmin();<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    String userName = User.getCurrent().getShortName();<a name="line.132"></a>
-<span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span>    admin.setQuota(QuotaSettingsFactory<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      .throttleUser(userName, ThrottleType.REQUEST_NUMBER, 6, TimeUnit.MINUTES));<a name="line.135"></a>
-<span class="sourceLineNo">136</span>    admin.setQuota(QuotaSettingsFactory.bypassGlobals(userName, true));<a name="line.136"></a>
+<span class="sourceLineNo">042</span>import org.junit.After;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.junit.AfterClass;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.junit.BeforeClass;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.junit.Test;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.junit.experimental.categories.Category;<a name="line.46"></a>
+<span class="sourceLineNo">047</span><a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.shaded.com.google.common.collect.Iterables;<a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span>import static org.junit.Assert.assertEquals;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import static org.junit.Assert.assertNull;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import static org.junit.Assert.assertTrue;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import static org.junit.Assert.fail;<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> * minicluster tests that validate that quota  entries are properly set in the quota table<a name="line.56"></a>
+<span class="sourceLineNo">057</span> */<a name="line.57"></a>
+<span class="sourceLineNo">058</span>@Category({ClientTests.class, MediumTests.class})<a name="line.58"></a>
+<span class="sourceLineNo">059</span>public class TestQuotaAdmin {<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  private static final Log LOG = LogFactory.getLog(TestQuotaAdmin.class);<a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span>  private final static HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();<a name="line.62"></a>
+<span class="sourceLineNo">063</span><a name="line.63"></a>
+<span class="sourceLineNo">064</span>  @BeforeClass<a name="line.64"></a>
+<span class="sourceLineNo">065</span>  public static void setUpBeforeClass() throws Exception {<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    TEST_UTIL.getConfiguration().setBoolean(QuotaUtil.QUOTA_CONF_KEY, true);<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    TEST_UTIL.getConfiguration().setInt(QuotaCache.REFRESH_CONF_KEY, 2000);<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    TEST_UTIL.getConfiguration().setInt("hbase.hstore.compactionThreshold", 10);<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    TEST_UTIL.getConfiguration().setInt("hbase.regionserver.msginterval", 100);<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    TEST_UTIL.getConfiguration().setInt("hbase.client.pause", 250);<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    TEST_UTIL.getConfiguration().setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 6);<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    TEST_UTIL.getConfiguration().setBoolean("hbase.master.enabletable.roundrobin", true);<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    TEST_UTIL.startMiniCluster(1);<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    TEST_UTIL.waitTableAvailable(QuotaTableUtil.QUOTA_TABLE_NAME);<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>  @After<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  public void clearQuotaTable() throws Exception {<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    if (TEST_UTIL.getAdmin().tableExists(QuotaUtil.QUOTA_TABLE_NAME)) {<a name="line.79"></a>
+<span class="sourceLineNo">080</span>      TEST_UTIL.getAdmin().disableTable(QuotaUtil.QUOTA_TABLE_NAME);<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      TEST_UTIL.getAdmin().truncateTable(QuotaUtil.QUOTA_TABLE_NAME, false);<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    }<a name="line.82"></a>
+<span class="sourceLineNo">083</span>  }<a name="line.83"></a>
+<span class="sourceLineNo">084</span><a name="line.84"></a>
+<span class="sourceLineNo">085</span>  @AfterClass<a name="line.85"></a>
+<span class="sourceLineNo">086</span>  public static void tearDownAfterClass() throws Exception {<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    TEST_UTIL.shutdownMiniCluster();<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>  @Test<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  public void testThrottleType() throws Exception {<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    Admin admin = TEST_UTIL.getAdmin();<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    String userName = User.getCurrent().getShortName();<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span>    admin.setQuota(QuotaSettingsFactory<a name="line.95"></a>
+<span class="sourceLineNo">096</span>      .throttleUser(userName, ThrottleType.READ_NUMBER, 6, TimeUnit.MINUTES));<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    admin.setQuota(QuotaSettingsFactory<a name="line.97"></a>
+<span class="sourceLineNo">098</span>      .throttleUser(userName, ThrottleType.WRITE_NUMBER, 12, TimeUnit.MINUTES));<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    admin.setQuota(QuotaSettingsFactory.bypassGlobals(userName, true));<a name="line.99"></a>
+<span class="sourceLineNo">100</span><a name="line.100"></a>
+<span class="sourceLineNo">101</span>    try (QuotaRetriever scanner = QuotaRetriever.open(TEST_UTIL.getConfiguration())) {<a name="line.101"></a>
+<span class="sourceLineNo">102</span>      int countThrottle = 0;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>      int countGlobalBypass = 0;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>      for (QuotaSettings settings: scanner) {<a name="line.104"></a>
+<span class="sourceLineNo">105</span>        switch (settings.getQuotaType()) {<a name="line.105"></a>
+<span class="sourceLineNo">106</span>          case THROTTLE:<a name="line.106"></a>
+<span class="sourceLineNo">107</span>            ThrottleSettings throttle = (ThrottleSettings)settings;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>            if (throttle.getSoftLimit() == 6) {<a name="line.108"></a>
+<span class="sourceLineNo">109</span>              assertEquals(ThrottleType.READ_NUMBER, throttle.getThrottleType());<a name="line.109"></a>
+<span class="sourceLineNo">110</span>            } else if (throttle.getSoftLimit() == 12) {<a name="line.110"></a>
+<span class="sourceLineNo">111</span>              assertEquals(ThrottleType.WRITE_NUMBER, throttle.getThrottleType());<a name="line.111"></a>
+<span class="sourceLineNo">112</span>            } else {<a name="line.112"></a>
+<span class="sourceLineNo">113</span>              fail("should not come here, because don't set quota with this limit");<a name="line.113"></a>
+<span class="sourceLineNo">114</span>            }<a name="line.114"></a>
+<span class="sourceLineNo">115</span>            assertEquals(userName, throttle.getUserName());<a name="line.115"></a>
+<span class="sourceLineNo">116</span>            assertEquals(null, throttle.getTableName());<a name="line.116"></a>
+<span class="sourceLineNo">117</span>            assertEquals(null, throttle.getNamespace());<a name="line.117"></a>
+<span class="sourceLineNo">118</span>            assertEquals(TimeUnit.MINUTES, throttle.getTimeUnit());<a name="line.118"></a>
+<span class="sourceLineNo">119</span>            countThrottle++;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>            break;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>          case GLOBAL_BYPASS:<a name="line.121"></a>
+<span class="sourceLineNo">122</span>            countGlobalBypass++;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>            break;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>          default:<a name="line.124"></a>
+<span class="sourceLineNo">125</span>            fail("unexpected settings type: " + settings.getQuotaType());<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>      assertEquals(2, countThrottle);<a name="line.128"></a>
+<span class="sourceLineNo">129</span>      assertEquals(1, countGlobalBypass);<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>    admin.setQuota(QuotaSettingsFactory.unthrottleUser(userName));<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    assertNumResults(1, null);<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    admin.setQuota(QuotaSettingsFactory.bypassGlobals(userName, false));<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    assertNumResults(0, null);<a name="line.135"></a>
+<span class="sourceLineNo">136</span>  }<a name="line.136"></a>
 <span class="sourceLineNo">137</span><a name="line.137"></a>
-<span class="sourceLineNo">138</span>    try (QuotaRetriever scanner = QuotaRetriever.open(TEST_UTIL.getConfiguration())) {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      int countThrottle = 0;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>      int countGlobalBypass = 0;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>      for (QuotaSettings settings: scanner) {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>        LOG.debug(settings);<a name="line.142"></a>
-<span class="sourceLineNo">143</span>        switch (settings.getQuotaType()) {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>          case THROTTLE:<a name="line.144"></a>
-<span class="sourceLineNo">145</span>            ThrottleSettings throttle = (ThrottleSettings)settings;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>            assertEquals(userName, throttle.getUserName());<a name="line.146"></a>
-<span class="sourceLineNo">147</span>            assertEquals(null, throttle.getTableName());<a name="line.147"></a>
-<span class="sourceLineNo">148</span>            assertEquals(null, throttle.getNamespace());<a name="line.148"></a>
-<span class="sourceLineNo">149</span>            assertEquals(6, throttle.getSoftLimit());<a name="line.149"></a>
-<span class="sourceLineNo">150</span>            assertEquals(TimeUnit.MINUTES, throttle.getTimeUnit());<a name="line.150"></a>
-<span class="sourceLineNo">151</span>            countThrottle++;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>            break;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>          case GLOBAL_BYPASS:<a name="line.153"></a>
-<span class="sourceLineNo">154</span>            countGlobalBypass++;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>            break;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>          default:<a name="line.156"></a>
-<span class="sourceLineNo">157</span>            fail("unexpected settings type: " + settings.getQuotaType());<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>      assertEquals(1, countThrottle);<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      assertEquals(1, countGlobalBypass);<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    }<a name="line.162"></a>
-<span class="sourceLineNo">163</span><a name="line.163"></a>
-<span class="sourceLineNo">164</span>    admin.setQuota(QuotaSettingsFactory.unthrottleUser(userName));<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    assertNumResults(1, null);<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    admin.setQuota(QuotaSettingsFactory.bypassGlobals(userName, false));<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    assertNumResults(0, null);<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>  @Test<a name="line.170"></a>
-<span class="sourceLineNo">171</span>  public void testQuotaRetrieverFilter() throws Exception {<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    Admin admin = TEST_UTIL.getAdmin();<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    TableName[] tables = new TableName[] {<a name="line.173"></a>
-<span class="sourceLineNo">174</span>      TableName.valueOf("T0"), TableName.valueOf("T01"), TableName.valueOf("NS0:T2"),<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    };<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    String[] namespaces = new String[] { "NS0", "NS01", "NS2" };<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    String[] users = new String[] { "User0", "User01", "User2" };<a name="line.177"></a>
+<span class="sourceLineNo">138</span>  @Test<a name="line.138"></a>
+<span class="sourceLineNo">139</span>  public void testSimpleScan() throws Exception {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    Admin admin = TEST_UTIL.getAdmin();<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    String userName = User.getCurrent().getShortName();<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>    admin.setQuota(QuotaSettingsFactory<a name="line.143"></a>
+<span class="sourceLineNo">144</span>      .throttleUser(userName, ThrottleType.REQUEST_NUMBER, 6, TimeUnit.MINUTES));<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    admin.setQuota(QuotaSettingsFactory.bypassGlobals(userName, true));<a name="line.145"></a>
+<span class="sourceLineNo">146</span><a name="line.146"></a>
+<span class="sourceLineNo">147</span>    try (QuotaRetriever scanner = QuotaRetriever.open(TEST_UTIL.getConfiguration())) {<a name="line.147"></a>
+<span class="sourceLineNo">148</span>      int countThrottle = 0;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      int countGlobalBypass = 0;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      for (QuotaSettings settings: scanner) {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>        LOG.debug(settings);<a name="line.151"></a>
+<span class="sourceLineNo">152</span>        switch (settings.getQuotaType()) {<a name="line.152"></a>
+<span class="sourceLineNo">153</span>          case THROTTLE:<a name="line.153"></a>
+<span class="sourceLineNo">154</span>            ThrottleSettings throttle = (ThrottleSettings)settings;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>            assertEquals(userName, throttle.getUserName());<a name="line.155"></a>
+<span class="sourceLineNo">156</span>            assertEquals(null, throttle.getTableName());<a name="line.156"></a>
+<span class="sourceLineNo">157</span>            assertEquals(null, throttle.getNamespace());<a name="line.157"></a>
+<span class="sourceLineNo">158</span>            assertEquals(6, throttle.getSoftLimit());<a name="line.158"></a>
+<span class="sourceLineNo">159</span>            assertEquals(TimeUnit.MINUTES, throttle.getTimeUnit());<a name="line.159"></a>
+<span class="sourceLineNo">160</span>            countThrottle++;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>            break;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>          case GLOBAL_BYPASS:<a name="line.162"></a>
+<span class="sourceLineNo">163</span>            countGlobalBypass++;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>            break;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>          default:<a name="line.165"></a>
+<span class="sourceLineNo">166</span>            fail("unexpected settings type: " + settings.getQuotaType());<a name="line.166"></a>
+<span class="sourceLineNo">167</span>        }<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      }<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      assertEquals(1, countThrottle);<a name="line.169"></a>
+<span class="sourceLineNo">170</span>      assertEquals(1, countGlobalBypass);<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>    admin.setQuota(QuotaSettingsFactory.unthrottleUser(userName));<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    assertNumResults(1, null);<a name="line.174"></a>
+<span class="sourceLineNo">175</span>    admin.setQuota(QuotaSettingsFactory.bypassGlobals(userName, false));<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    assertNumResults(0, null);<a name="line.176"></a>
+<span class="sourceLineNo">177</span>  }<a name="line.177"></a>
 <span class="sourceLineNo">178</span><a name="line.178"></a>
-<span class="sourceLineNo">179</span>    for (String user: users) {<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      admin.setQuota(QuotaSettingsFactory<a name="line.180"></a>
-<span class="sourceLineNo">181</span>        .throttleUser(user, ThrottleType.REQUEST_NUMBER, 1, TimeUnit.MINUTES));<a name="line.181"></a>
-<span class="sourceLineNo">182</span><a name="line.182"></a>
-<span class="sourceLineNo">183</span>      for (TableName table: tables) {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>        admin.setQuota(QuotaSettingsFactory<a name="line.184"></a>
-<span class="sourceLineNo">185</span>          .throttleUser(user, table, ThrottleType.REQUEST_NUMBER, 2, TimeUnit.MINUTES));<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      }<a name="line.186"></a>
+<span class="sourceLineNo">179</span>  @Test<a name="line.179"></a>
+<span class="sourceLineNo">180</span>  public void testQuotaRetrieverFilter() throws Exception {<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    Admin admin = TEST_UTIL.getAdmin();<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    TableName[] tables = new TableName[] {<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      TableName.valueOf("T0"), TableName.valueOf("T01"), TableName.valueOf("NS0:T2"),<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    };<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    String[] namespaces = new String[] { "NS0", "NS01", "NS2" };<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    String[] users = new String[] { "User0", "User01", "User2" };<a name="line.186"></a>
 <span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>      for (String ns: namespaces) {<a name="line.188"></a>
-<span class="sourceLineNo">189</span>        admin.setQuota(QuotaSettingsFactory<a name="line.189"></a>
-<span class="sourceLineNo">190</span>          .throttleUser(user, ns, ThrottleType.REQUEST_NUMBER, 3, TimeUnit.MINUTES));<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>    assertNumResults(21, null);<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span>    for (TableName table: tables) {<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      admin.setQuota(QuotaSettingsFactory<a name="line.196"></a>
-<span class="sourceLineNo">197</span>        .throttleTable(table, ThrottleType.REQUEST_NUMBER, 4, TimeUnit.MINUTES));<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    }<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    assertNumResults(24, null);<a name="line.199"></a>
-<span class="sourceLineNo">200</span><a name="line.200"></a>
-<span class="sourceLineNo">201</span>    for (String ns: namespaces) {<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      admin.setQuota(QuotaSettingsFactory<a name="line.202"></a>
-<span class="sourceLineNo">203</span>        .throttleNamespace(ns, ThrottleType.REQUEST_NUMBER, 5, TimeUnit.MINUTES));<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    }<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    assertNumResults(27, null);<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>    assertNumResults(7, new QuotaFilter().setUserFilter("User0"));<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    assertNumResults(0, new QuotaFilter().setUserFilter("User"));<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    assertNumResults(21, new QuotaFilter().setUserFilter("User.*"));<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    assertNumResults(3, new QuotaFilter().setUserFilter("User.*").setTableFilter("T0"));<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    assertNumResults(3, new QuotaFilter().setUserFilter("User.*").setTableFilter("NS.*"));<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    assertNumResults(0, new QuotaFilter().setUserFilter("User.*").setTableFilter("T"));<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    assertNumResults(6, new QuotaFilter().setUserFilter("User.*").setTableFilter("T.*"));<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    assertNumResults(3, new QuotaFilter().setUserFilter("User.*").setNamespaceFilter("NS0"));<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    assertNumResults(0, new QuotaFilter().setUserFilter("User.*").setNamespaceFilter("NS"));<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    assertNumResults(9, new QuotaFilter().setUserFilter("User.*").setNamespaceFilter("NS.*"));<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    assertNumResults(6, new QuotaFilter().setUserFilter("User.*")<a name="line.217"></a>
-<span class="sourceLineNo">218</span>                                            .setTableFilter("T0").setNamespaceFilter("NS0"));<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    assertNumResults(1, new QuotaFilter().setTableFilter("T0"));<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    assertNumResults(0, new QuotaFilter().setTableFilter("T"));<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    assertNumResults(2, new QuotaFilter().setTableFilter("T.*"));<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    assertNumResults(3, new QuotaFilter().setTableFilter(".*T.*"));<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    assertNumResults(1, new QuotaFilter().setNamespaceFilter("NS0"));<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    assertNumResults(0, new QuotaFilter().setNamespaceFilter("NS"));<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    assertNumResults(3, new QuotaFilter().setNamespaceFilter("NS.*"));<a name="line.225"></a>
-<span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span>    for (String user: users) {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      admin.setQuota(QuotaSettingsFactory.unthrottleUser(user));<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      for (TableName table: tables) {<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        admin.setQuota(QuotaSettingsFactory.unthrottleUser(user, table));<a name="line.230"></a>
-<span class="sourceLineNo">231</span>      }<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      for (String ns: namespaces) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>        admin.setQuota(QuotaSettingsFactory.unthrottleUser(user, ns));<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>    assertNumResults(6, null);<a name="line.236"></a>
-<span class="sourceLineNo">237</span><a name="line.237"></a>
-<span class="sourceLineNo">238</span>    for (TableName table: tables) {<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      admin.setQuota(QuotaSettingsFactory.unthrottleTable(table));<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    }<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    assertNumResults(3, null);<a name="line.241"></a>
-<span class="sourceLineNo">242</span><a name="line.242"></a>
-<span class="sourceLineNo">243</span>    for (String ns: namespaces) {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      admin.setQuota(QuotaSettingsFactory.unthrottleNamespace(ns));<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    }<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    assertNumResults(0, null);<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>  @Test<a name="line.249"></a>
-<span class="sourceLineNo">250</span>  public void testSetGetRemoveSpaceQuota() throws Exception {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    Admin admin = TEST_UTIL.getAdmin();<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    final TableName tn = TableName.valueOf("table1");<a name="line.252"></a>
-<span class="sourceLineNo">253</span>    final long sizeLimit = 1024L * 1024L * 1024L * 1024L * 5L; // 5TB<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    final SpaceViolationPolicy violationPolicy = SpaceViolationPolicy.NO_WRITES;<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    QuotaSettings settings = QuotaSettingsFactory.limitTableSpace(tn, sizeLimit, violationPolicy);<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    admin.setQuota(settings);<a name="line.256"></a>
+<span class="sourceLineNo">188</span>    for (String user: users) {<a name="line.188"></a>
+<span class="sourceLineNo">189</span>      admin.setQuota(QuotaSettingsFactory<a name="line.189"></a>
+<span class="sourceLineNo">190</span>        .throttleUser(user, ThrottleType.REQUEST_NUMBER, 1, TimeUnit.MINUTES));<a name="line.190"></a>
+<span class="sourceLineNo">191</span><a name="line.191"></a>
+<span class="sourceLineNo">192</span>      for (TableName table: tables) {<a name="line.192"></a>
+<span class="sourceLineNo">193</span>        admin.setQuota(QuotaSettingsFactory<a name="line.193"></a>
+<span class="sourceLineNo">194</span>          .throttleUser(user, table, ThrottleType.REQUEST_NUMBER, 2, TimeUnit.MINUTES));<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>      for (String ns: namespaces) {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>        admin.setQuota(QuotaSettingsFactory<a name="line.198"></a>
+<span class="sourceLineNo">199</span>          .throttleUser(user, ns, ThrottleType.REQUEST_NUMBER, 3, TimeUnit.MINUTES));<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>    assertNumResults(21, null);<a name="line.202"></a>
+<span class="sourceLineNo">203</span><a name="line.203"></a>
+<span class="sourceLineNo">204</span>    for (TableName table: tables) {<a name="line.204"></a>
+<span class="sourceLineNo">205</span>      admin.setQuota(QuotaSettingsFactory<a name="line.205"></a>
+<span class="sourceLineNo">206</span>        .throttleTable(table, ThrottleType.REQUEST_NUMBER, 4, TimeUnit.MINUTES));<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    }<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    assertNumResults(24, null);<a name="line.208"></a>
+<span class="sourceLineNo">209</span><a name="line.209"></a>
+<span class="sourceLineNo">210</span>    for (String ns: namespaces) {<a name="line.210"></a>
+<span class="sourceLineNo">211</span>      admin.setQuota(QuotaSettingsFactory<a name="line.211"></a>
+<span class="sourceLineNo">212</span>        .throttleNamespace(ns, ThrottleType.REQUEST_NUMBER, 5, TimeUnit.MINUTES));<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    }<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    assertNumResults(27, null);<a name="line.214"></a>
+<span class="sourceLineNo">215</span><a name="line.215"></a>
+<span class="sourceLineNo">216</span>    assertNumResults(7, new QuotaFilter().setUserFilter("User0"));<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    assertNumResults(0, new QuotaFilter().setUserFilter("User"));<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    assertNumResults(21, new QuotaFilter().setUserFilter("User.*"));<a name="line.218"></a>
+<span class="sourceLineNo">219</span>    assertNumResults(3, new QuotaFilter().setUserFilter("User.*").setTableFilter("T0"));<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    assertNumResults(3, new QuotaFilter().setUserFilter("User.*").setTableFilter("NS.*"));<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    assertNumResults(0, new QuotaFilter().setUserFilter("User.*").setTableFilter("T"));<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    assertNumResults(6, new QuotaFilter().setUserFilter("User.*").setTableFilter("T.*"));<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    assertNumResults(3, new QuotaFilter().setUserFilter("User.*").setNamespaceFilter("NS0"));<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    assertNumResults(0, new QuotaFilter().setUserFilter("User.*").setNamespaceFilter("NS"));<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    assertNumResults(9, new QuotaFilter().setUserFilter("User.*").setNamespaceFilter("NS.*"));<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    assertNumResults(6, new QuotaFilter().setUserFilter("User.*")<a name="line.226"></a>
+<span class="sourceLineNo">227</span>                                            .setTableFilter("T0").setNamespaceFilter("NS0"));<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    assertNumResults(1, new QuotaFilter().setTableFilter("T0"));<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    assertNumResults(0, new QuotaFilter().setTableFilter("T"));<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    assertNumResults(2, new QuotaFilter().setTableFilter("T.*"));<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    assertNumResults(3, new QuotaFilter().setTableFilter(".*T.*"));<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    assertNumResults(1, new QuotaFilter().setNamespaceFilter("NS0"));<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    assertNumResults(0, new QuotaFilter().setNamespaceFilter("NS"));<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    assertNumResults(3, new QuotaFilter().setNamespaceFilter("NS.*"));<a name="line.234"></a>
+<span class="sourceLineNo">235</span><a name="line.235"></a>
+<span class="sourceLineNo">236</span>    for (String user: users) {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      admin.setQuota(QuotaSettingsFactory.unthrottleUser(user));<a name="line.237"></a>
+<span class="sourceLineNo">238</span>      for (TableName table: tables) {<a name="line.238"></a>
+<span class="sourceLineNo">239</span>        admin.setQuota(QuotaSettingsFactory.unthrottleUser(user, table));<a name="line.239"></a>
+<span class="sourceLineNo">240</span>      }<a name="line.240"></a>
+<span class="sourceLineNo">241</span>      for (String ns: namespaces) {<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        admin.setQuota(QuotaSettingsFactory.unthrottleUser(user, ns));<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>    assertNumResults(6, null);<a name="line.245"></a>
+<span class="sourceLineNo">246</span><a name="line.246"></a>
+<span class="sourceLineNo">247</span>    for (TableName table: tables) {<a name="line.247"></a>
+<span class="sourceLineNo">248</span>      admin.setQuota(QuotaSettingsFactory.unthrottleTable(table));<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    }<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    assertNumResults(3, null);<a name="line.250"></a>
+<span class="sourceLineNo">251</span><a name="line.251"></a>
+<span class="sourceLineNo">252</span>    for (String ns: namespaces) {<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      admin.setQuota(QuotaSettingsFactory.unthrottleNamespace(ns));<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    }<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    assertNumResults(0, null);<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>    // Verify the Quotas in the table<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    try (Table quotaTable = TEST_UTIL.getConnection().getTable(QuotaTableUtil.QUOTA_TABLE_NAME)) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      ResultScanner scanner = quotaTable.getScanner(new Scan());<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      try {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>        Result r = Iterables.getOnlyElement(scanner);<a name="line.262"></a>
-<span class="sourceLineNo">263</span>        CellScanner cells = r.cellScanner();<a name="line.263"></a>
-<span class="sourceLineNo">264</span>        assertTrue("Expected to find a cell", cells.advance());<a name="line.264"></a>
-<span class="sourceLineNo">265</span>        assertSpaceQuota(sizeLimit, violationPolicy, cells.current());<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      } finally {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>        scanner.close();<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>    // Verify we can retrieve it via the QuotaRetriever API<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    QuotaRetriever scanner = QuotaRetriever.open(admin.getConfiguration());<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    try {<a name="line.273"></a>
-<span class="sourceLineNo">274</span>      assertSpaceQuota(sizeLimit, violationPolicy, Iterables.getOnlyElement(scanner));<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    } finally {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      scanner.close();<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>    // Now, remove the quota<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    QuotaSettings removeQuota = QuotaSettingsFactory.removeTableSpaceLimit(tn);<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    admin.setQuota(removeQuota);<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span>    // Verify that the record doesn't exist in the table<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    try (Table quotaTable = TEST_UTIL.getConnection().getTable(QuotaTableUtil.QUOTA_TABLE_NAME)) {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>      ResultScanner rs = quotaTable.getScanner(new Scan());<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      try {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>        assertNull("Did not expect to find a quota entry", rs.next());<a name="line.287"></a>
-<span class="sourceLineNo">288</span>      } finally {<a name="line.288"></a>
-<span class="sourceLineNo">289</span>        rs.close();<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>    // Verify that we can also not fetch it via the API<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    scanner = QuotaRetriever.open(admin.getConfiguration());<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    try {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      assertNull("Did not expect to find a quota entry", scanner.next());<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    } finally {<a name="line.297"></a>
-<span class="sourceLineNo">298</span>      scanner.close();<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">258</span>  @Test<a name="line.258"></a>
+<span class="sourceLineNo">259</span>  public void testSetGetRemoveSpaceQuota() throws Exception {<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    Admin admin = TEST_UTIL.getAdmin();<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    final TableName tn = TableName.valueOf("sq_table1");<a name="line.261"></a>
+<span class="sourceLineNo">262</span>    final long sizeLimit = 1024L * 1024L * 1024L * 1024L * 5L; // 5TB<a name="line.262"></a>
+<span class="sourceLineNo">263</span>    final SpaceViolationPolicy violationPolicy = SpaceViolationPolicy.NO_WRITES;<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    QuotaSettings settings = QuotaSettingsFactory.limitTableSpace(tn, sizeLimit, violationPolicy);<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    admin.setQuota(settings);<a name="line.265"></a>
+<span class="sourceLineNo">266</span><a name="line.266"></a>
+<span class="sourceLineNo">267</span>    // Verify the Quotas in the table<a name="line.267"></a>
+<span class="sourceLineNo">268</span>    try (Table quotaTable = TEST_UTIL.getConnection().getTable(QuotaTableUtil.QUOTA_TABLE_NAME)) {<a name="line.268"></a>
+<span class="sourceLineNo">269</span>      ResultScanner scanner = quotaTable.getScanner(new Scan());<a name="line.269"></a>
+<span class="sourceLineNo">270</span>      try {<a name="line.270"></a>
+<span class="sourceLineNo">271</span>        Result r = Iterables.getOnlyElement(scanner);<a name="line.271"></a>
+<span class="sourceLineNo">272</span>        CellScanner cells = r.cellScanner();<a name="line.272"></a>
+<span class="sourceLineNo">273</span>        assertTrue("Expected to find a cell", cells.advance());<a name="line.273"></a>
+<span class="sourceLineNo">274</span>        assertSpaceQuota(sizeLimit, violationPolicy, cells.current());<a name="line.274"></a>
+<span class="sourceLineNo">275</span>      } finally {<a name="line.275"></a>
+<span class="sourceLineNo">276</span>        scanner.close();<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>    // Verify we can retrieve it via the QuotaRetriever API<a name="line.280"></a>
+<span class="sourceLineNo">281</span>    QuotaRetriever scanner = QuotaRetriever.open(admin.getConfiguration());<a name="line.281"></a>
+<span class="sourceLineNo">282</span>    try {<a name="line.282"></a>
+<span class="sourceLineNo">283</span>      assertSpaceQuota(sizeLimit, violationPolicy, Iterables.getOnlyElement(scanner));<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    } finally {<a name="line.284"></a>
+<span class="sourceLineNo">285</span>      scanner.close();<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    }<a name="line.286"></a>
+<span class="sourceLineNo">287</span><a name="line.287"></a>
+<span class="sourceLineNo">288</span>    // Now, remove the quota<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    QuotaSettings removeQuota = QuotaSettingsFactory.removeTableSpaceLimit(tn);<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    admin.setQuota(removeQuota);<a name="line.290"></a>
+<span class="sourceLineNo">291</span><a name="line.291"></a>
+<span class="sourceLineNo">292</span>    // Verify that the record doesn't exist in the table<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    try (Table quotaTable = TEST_UTIL.getConnection().getTable(QuotaTableUtil.QUOTA_TABLE_NAME)) {<a name="line.293"></a>
+<span class="sourceLineNo">294</span>      ResultScanner rs = quotaTable.getScanner(new Scan());<a name="line.294"></a>
+<span class="sourceLineNo">295</span>      try {<a name="line.295"></a>
+<span class="sourceLineNo">296</span>        assertNull("Did not expect to find a quota entry", rs.next());<a name="line.296"></a>
+<span class="sourceLineNo">297</span>      } finally {<a name="line.297"></a>
+<span class="sourceLineNo">298</span>        rs.close();<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>  @Test<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  public void testSetModifyRemoveQuota() throws Exception {<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    Admin admin = TEST_UTIL.getAdmin();<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    final TableName tn = TableName.valueOf("table1");<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    final long originalSizeLimit = 1024L * 1024L * 1024L * 1024L * 5L; // 5TB<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    final SpaceViolationPolicy violationPolicy = SpaceViolationPolicy.NO_WRITES;<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    QuotaSettings settings = QuotaSettingsFactory.limitTableSpace(<a name="line.308"></a>
-<span class="sourceLineNo">309</span>        tn, originalSizeLimit, violationPolicy);<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    admin.setQuota(settings);<a name="line.310"></a>
-<span class="sourceLineNo">311</span><a name="line.311"></a>
-<span class="sourceLineNo">312</span>    // Verify the Quotas in the table<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    try (Table quotaTable = TEST_UTIL.getConnection().getTable(QuotaTableUtil.QUOTA_TABLE_NAME)) {<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      ResultScanner scanner = quotaTable.getScanner(new Scan());<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      try {<a name="line.315"></a>
-<span class="sourceLineNo">316</span>        Result r = Iterables.getOnlyElement(scanner);<a name="line.316"></a>
-<span class="sourceLineNo">317</span>        CellScanner cells = r.cellScanner();<a name="line.317"></a>
-<span class="sourceLineNo">318</span>        assertTrue("Expected to find a cell", cells.advance());<a name="line.318"></a>
-<span class="sourceLineNo">319</span>        assertSpaceQuota(originalSizeLimit, violationPolicy, cells.current());<a name="line.319"></a>
-<span class="sourceLineNo">320</span>      } finally {<a name="line.320"></a>
-<span class="sourceLineNo">321</span>        scanner.close();<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>    // Verify we can retrieve it via the QuotaRetriever API<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    QuotaRetriever quotaScanner = QuotaRetriever.open(admin.getConfiguration());<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    try {<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      assertSpaceQuota(originalSizeLimit, violationPolicy, Iterables.getOnlyElement(quotaScanner));<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    } finally {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      quotaScanner.close();<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>    // Setting a new size and policy should be reflected<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    final long newSizeLimit = 1024L * 1024L * 1024L * 1024L; // 1TB<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    final SpaceViolationPolicy newViolationPolicy = SpaceViolationPolicy.NO_WRITES_COMPACTIONS;<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    QuotaSettings newSettings = QuotaSettingsFactory.limitTableSpace(<a name="line.336"></a>
-<span class="sourceLineNo">337</span>        tn, newSizeLimit, newViolationPolicy);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    admin.setQuota(newSettings);<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>    // Verify the new Quotas in the table<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    try (Table quotaTable = TEST_UTIL.getConnection().getTable(QuotaTableUtil.QUOTA_TABLE_NAME)) {<a name="line.341"></a>
-<span class="sourceLineNo">342</span>      ResultScanner scanner = quotaTable.getScanner(new Scan());<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      try {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>        Result r = Iterables.getOnlyElement(scanner);<a name="line.344"></a>
-<span class="sourceLineNo">345</span>        CellScanner cells = r.cellScanner();<a name="line.345"></a>
-<span class="sourceLineNo">346</span>        assertTrue("Expected to find a cell", cells.advance());<a name="line.346"></a>
-<span class="sourceLineNo">347</span>        assertSpaceQuota(newSizeLimit, newViolationPolicy, cells.current());<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      } finally {<a name="line.348"></a>
-<span class="sourceLineNo">349</span>        scanner.close();<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>    // Verify we can retrieve the new quota via the QuotaRetriever API<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    quotaScanner = QuotaRetriever.open(admin.getConfiguration());<a name="line.354"></a>
-<span class="sourceLineNo">355</span>    try {<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      assertSpaceQuota(newSizeLimit, newViolationPolicy, Iterables.getOnlyElement(quotaScanner));<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    } finally {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      quotaScanner.close();<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>    // Now, remove the quota<a name="line.361"></a>
-<span class="sourceLineNo">362</span>    QuotaSettings removeQuota = QuotaSettingsFactory.removeTableSpaceLimit(tn);<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    admin.setQuota(removeQuota);<a name="line.363"></a>
-<span class="sourceLineNo">364</span><a name="line.364"></a>
-<span class="sourceLineNo">365</span>    // Verify that the record doesn't exist in the table<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    try (Table quotaTable = TEST_UTIL.getConnection().getTable(QuotaTableUtil.QUOTA_TABLE_NAME)) {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      ResultScanner scanner = quotaTable.getScanner(new Scan());<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      try {<a name="line.368"></a>
-<span class="sourceLineNo">369</span>        assertNull("Did not expect to find a quota entry", scanner.next());<a name="line.369"></a>
-<span class="sourceLineNo">370</span>      } finally {<a name="line.370"></a>
-<span class="sourceLineNo">371</span>        scanner.close();<a name="line.371"></a>
-<span class="sourceLineNo">372</span>      }<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>    // Verify that we can also not fetch it via the API<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    quotaScanner = QuotaRetriever.open(admin.getConfiguration());<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    try {<a name="line.377"></a>
-<span class="sourceLineNo">378</span>      assertNull("Did not expect to find a quota entry", quotaScanner.next());<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    } finally {<a name="line.379"></a>
-<span class="sourceLineNo">380</span>      quotaScanner.close();<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>  }<a name="line.382"></a>
+<span class="sourceLineNo">302</span>    // Verify that we can also not fetch it via the API<a name="line.302"></a>
+<span class="sourceLineNo">303</span>    scanner = QuotaRetriever.open(admin.getConfiguration());<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    try {<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      assertNull("Did not expect to find a quota entry", scanner.next());<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    } finally {<a name="line.306"></a>
+<span class="sourceLineNo">307</span>      scanner.close();<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>  @Test<a name="line.311"></a>
+<span class="sourceLineNo">312</span>  public void testSetModifyRemoveQuota() throws Exception {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    Admin admin = TEST_UTIL.getAdmin();<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    final TableName tn = TableName.valueOf("sq_table2");<a name="line.314"></a>
+<span class="sourceLineNo">315</span>    final long originalSizeLimit = 1024L * 1024L * 1024L * 1024L * 5L; // 5TB<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    final SpaceViolationPolicy violationPolicy = SpaceViolationPolicy.NO_WRITES;<a name="line.316"></a>
+<span class="sourceLineNo">317</span>    QuotaSettings settings = QuotaSettingsFactory.limitTableSpace(<a name="line.317"></a>
+<span class="sourceLineNo">318</span>        tn, originalSizeLimit, violationPolicy);<a name="line.318"></a>
+<span class="sourceLineNo">319</span>    admin.setQuota(settings);<a name="line.319"></a>
+<span class="sourceLineNo">320</span><a name="line.320"></a>
+<span class="sourceLineNo">321</span>    // Verify the Quotas in the table<a name="line.321"></a>
+<span class="sourceLineNo">322</span>    try (Table quotaTable = TEST_UTIL.getConnection().getTable(QuotaTableUtil.QUOTA_TABLE_NAME)) {<a name="line.322"></a>
+<span class="sourceLineNo">323</span>      ResultScanner scanner = quotaTable.getScanner(new Scan());<a name="line.323"></a>
+<span class="sourceLineNo">324</span>      try {<a name="line.324"></a>
+<span class="sourceLineNo">325</span>        Result r = Iterables.getOnlyElement(scanner);<a name="line.325"></a>
+<span class="sourceLineNo">326</span>        CellScanner cells = r.cellScanner();<a name="line.326"></a>
+<span class="sourceLineNo">327</span>        assertTrue("Expected to find a cell", cells.advance());<a name="line.327"></a>
+<span class="sourceLineNo">328</span>        assertSpaceQuota(originalSizeLimit, violationPolicy, cells.current());<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      } finally {<a name="line.329"></a>
+<span class="sourceLineNo">330</span>        scanner.close();<a name="line.330"></a>
+<span class="sourceLineNo">331</span>      }<a name="line.331"></a>
+<span class="sourceLineNo">332</span>    }<a name="line.332"></a>
+<span class="sourceLineNo">333</span><a name="line.333"></a>
+<span class="sourceLineNo">334</span>    // Verify we can retrieve it via the QuotaRetriever API<a name="line.334"></a>
+<span class="sourceLineNo">335</span>    QuotaRetriever quotaScanner = QuotaRetriever.open(admin.getConfiguration());<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    try {<a name="line.336"></a>
+<span class="sourceLineNo">337</span>      assertSpaceQuota(originalSizeLimit, violationPolicy, Iterables.getOnlyElement(quotaScanner));<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    } finally {<a name="line.338"></a>
+<span class="sourceLineNo">339</span>      quotaScanner.close();<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>    // Setting a new size and policy should be reflected<a name="line.342"></a>
+<span class="sourceLineNo">343</span>    final long newSizeLimit = 1024L * 1024L * 1024L * 1024L; // 1TB<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    final SpaceViolationPolicy newViolationPolicy = SpaceViolationPolicy.NO_WRITES_COMPACTIONS;<a name="line.344"></a>
+<span class="sourceLineNo">345</span>    QuotaSettings newSettings = QuotaSettingsFactory.limitTableSpace(<a name="line.345"></a>
+<span class="sourceLineNo">346</span>        tn, newSizeLimit, newViolationPolicy);<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    admin.setQuota(newSettings);<a name="line.347"></a>
+<span class="sourceLineNo">348</span><a name="line.348"></a>
+<span class="sourceLineNo">349</span>    // Verify the new Quotas in the table<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    try (Table quotaTable = TEST_UTIL.getConnection().getTable(QuotaTableUtil.QUOTA_TABLE_NAME)) {<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      ResultScanner scanner = quotaTable.getScanner(new Scan());<a name="line.351"></a>
+<span class="sourceLineNo">352</span>      try {<a name="line.352"></a>
+<span class="sourceLineNo">353</span>        Result r = Iterables.getOnlyElement(scanner);<a name="line.353"></a>
+<span class="sourceLineNo">354</span>        CellScanner cells = r.cellScanner();<a name="line.354"></a>
+<span class="sourceLineNo">355</span>        assertTrue("Expected to find a cell", cells.advance());<a name="line.355"></a>
+<span class="sourceLineNo">356</span>        assertSpaceQuota(newSizeLimit, newViolationPolicy, cells.current());<a name="line.356"></a>
+<span class="sourceLineNo">357</span>      } finally {<a name="line.357"></a>
+<span class="sourceLineNo">358</span>        scanner.close();<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>    // Verify we can retrieve the new quota via the QuotaRetriever API<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    quotaScanner = QuotaRetriever.open(admin.getConfiguration());<a name="line.363"></a>
+<span class="sourceLineNo">364</span>    try {<a name="line.364"></a>
+<span class="sourceLineNo">365</span>      assertSpaceQuota(newSizeLimit, newViolationPolicy, Iterables.getOnlyElement(quotaScanner));<a name="line.365"></a>
+<span class="sourceLineNo">366</span>    } finally {<a name="line.366"></a>
+<span class="sourceLineNo">367</span>      quotaScanner.close();<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>    // Now, remove the quota<a name="line.370"></a>
+<span class="sourceLineNo">371</span>    QuotaSettings removeQuota = QuotaSettingsFactory.removeTableSpaceLimit(tn);<a name="line.371"></a>
+<span class="sourceLineNo">372</span>    admin.setQuota(removeQuota);<a name="line.372"></a>
+<span class="sourceLineNo">373</span><a name="line.373"></a>
+<span class="sourceLineNo">374</span>    // Verify that the record doesn't exist in the table<a name="line.374"></a>
+<span class="sourceLineNo">375</span>    try (Table quotaTable = TEST_UTIL.getConnection().getTable(QuotaTableUtil.QUOTA_TABLE_NAME)) {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>      ResultScanner scanner = quotaTable.getScanner(new Scan());<a name="line.376"></a>
+<span class="sourceLineNo">377</span>      try {<a name="line.377"></a>
+<span class="sourceLineNo">378</span>        assertNull("Did not expect to find a quota entry", scanner.next());<a name="line.378"></a>
+<span class="sourceLineNo">379</span>      } finally {<a name="line.379"></a>
+<span class="sourceLineNo">380</span>        scanner.close();<a name="line.380"></a>
+<span class="sourceLineNo">381</span>      }<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    }<a name="line.382"></a>
 <span class="sourceLineNo">383</span><a name="line.383"></a>
-<span class="sourceLineNo">384</span>  private void assertNumResults(int expected, final QuotaFilter filter) throws Exception {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    assertEquals(expected, countResults(filter));<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>  private void assertSpaceQuota(<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      long sizeLimit, SpaceViolationPolicy violationPolicy, Cell cell) throws Exception {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    Quotas q = QuotaTableUtil.quotasFromData(<a name="line.390"></a>
-<span class="sourceLineNo">391</span>        cell.getValueArray(), cell.getValueOffset(), cell.getValueLength());<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    assertTrue("Quota should have space quota defined", q.hasSpace());<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    QuotaProtos.SpaceQuota spaceQuota = q.getSpace();<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    assertEquals(sizeLimit, spaceQuota.getSoftLimit());<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    assertEquals(violationPolicy, ProtobufUtil.toViolationPolicy(spaceQuota.getViolationPolicy()));<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>  private void assertSpaceQuota(<a name="line.398"></a>
-<span class="sourceLineNo">399</span>      long sizeLimit, SpaceViolationPolicy violationPolicy, QuotaSettings actualSettings) {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    assertTrue("The actual QuotaSettings was not an instance of " + SpaceLimitSettings.class<a name="line.400"></a>
-<span class="sourceLineNo">401</span>        + " but of " + actualSettings.getClass(), actualSettings instanceof SpaceLimitSettings);<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    SpaceLimitRequest spaceLimitRequest = ((SpaceLimitSettings) actualSettings).getProto();<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    assertEquals(sizeLimit, spaceLimitRequest.getQuota().getSoftLimit());<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    assertEquals(violationPolicy,<a name="line.404"></a>
-<span class="sourceLineNo">405</span>        ProtobufUtil.toViolationPolicy(spaceLimitRequest.getQuota().getViolationPolicy()));<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  }<a name="line.406"></a>
-<span class="sourceLineNo">407</span><a name="line.407"></a>
-<span class="sourceLineNo">408</span>  private int countResults(final QuotaFilter filter) throws Exception {<a name="line.408"></a>
-<span class="sourceLineNo">409</span>    QuotaRetriever scanner = QuotaRetriever.open(TEST_UTIL.getConfiguration(), filter);<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    try {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      int count = 0;<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      for (QuotaSettings settings: scanner) {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>        LOG.debug(settings);<a name="line.413"></a>
-<span class="sourceLineNo">414</span>        count++;<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      }<a name="line.415"></a>
-<span class="sourceLineNo">416</span>      return count;<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    } finally {<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      scanner.close();<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">384</span>    // Verify that we can also not fetch it via the API<a name="line.384"></a>
+<span class="sourceLineNo">385</span>    quotaScanner = QuotaRetriever.open(admin.getConfiguration());<a name="line.385"></a>
+<span class="sourceLineNo">386</span>    try {<a name="line.386"></a>
+<span class="sourceLineNo">387</span>      assertNull("Did not expect to find a quota entry", quotaScanner.next());<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    } finally {<a name="line.388"></a>
+<span class="sourceLineNo">389</span>      quotaScanner.close();<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    }<a name="line.390"></a>
+<span class="sourceLineNo">391</span>  }<a name="line.391"></a>
+<span class="sourceLineNo">392</span><a name="line.392"></a>
+<span class="sourceLineNo">393</span>  private void assertNumResults(int expected, final QuotaFilter filter) throws Exception {<a name="line.393"></a>
+<span class="sourceLineNo">394</span>    assertEquals(expected, countResults(filter));<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>  private void assertSpaceQuota(<a name="line.397"></a>
+<span class="sourceLineNo">398</span>      long sizeLimit, SpaceViolationPolicy violationPolicy, Cell cell) throws Exception {<a name="line.398"></a>
+<span class="sourceLineNo">399</span>    Quotas q = QuotaTableUtil.quotasFromData(<a name="line.399"></a>
+<span class="sourceLineNo">400</span>        cell.getValueArray(), cell.getValueOffset(), cell.getValueLength());<a name="line.400"></a>
+<span class="sourceLineNo">401</span>    assertTrue("Quota should have space quota defined", q.hasSpace());<a name="line.401"></a>
+<span class="sourceLineNo">402</span>    QuotaProtos.SpaceQuota spaceQuota = q.getSpace();<a name="line.402"></a>
+<span class="sourceLineNo">403</span>    assertEquals(sizeLimit, spaceQuota.getSoftLimit());<a name="line.403"></a>
+<span class="sourceLineNo">404</span>    assertEquals(violationPolicy, ProtobufUtil.toViolationPolicy(spaceQuota.getViolationPolicy()));<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>  private void assertSpaceQuota(<a name="line.407"></a>
+<span class="sourceLineNo">408</span>      long sizeLimit, SpaceViolationPolicy violationPolicy, QuotaSettings actualSettings) {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>    assertTrue("The actual QuotaSettings was not an instance of " + SpaceLimitSettings.class<a name="line.409"></a>
+<span class="sourceLineNo">410</span>        + " but of " + actualSettings.getClass(), actualSettings instanceof SpaceLimitSettings);<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    SpaceLimitRequest spaceLimitRequest = ((SpaceLimitSettings) actualSettings).getProto();<a name="line.411"></a>
+<span class="sourceLineNo">412</span>    assertEquals(sizeLimit, spaceLimitRequest.getQuota().getSoftLimit());<a name="line.412"></a>
+<span class="sourceLineNo">413</span>    assertEquals(violationPolicy,<a name="line.413"></a>
+<span class="sourceLineNo">414</span>        ProtobufUtil.toViolationPolicy(spaceLimitRequest.getQuota().getViolationPolicy()));<a name="line.414"></a>
+<span class="sourceLineNo">415</span>  }<a name="line.415"></a>
+<span class="sourceLineNo">416</span><a name="line.416"></a>
+<span class="sourceLineNo">417</span>  private int countResults(final QuotaFilter filter) throws Exception {<a name="line.417"></a>
+<span class="sourceLineNo">418</span>    QuotaRetriever scanner = QuotaRetriever.open(TEST_UTIL.getConfiguration(), filter);<a name="line.418"></a>
+<span class="sourceLineNo">419</span>    try {<a name="line.419"></a>
+<span class="sourceLineNo">420</span>      int count = 0;<a name="line.420"></a>
+<span class="sourceLineNo">421</span>      for (QuotaSettings settings: scanner) {<a name="line.421"></a>
+<span class="sourceLineNo">422</span>        LOG.debug(settings);<a name="line.422"></a>
+<span class="sourceLineNo">423</span>        count++;<a name="line.423"></a>
+<span class="sourceLineNo">424</span>      }<a name="line.424"></a>
+<span class="sourceLineNo">425</span>      return count;<a name="line.425"></a>
+<span class="sourceLineNo">426</span>    } finally {<a name="line.426"></a>
+<span class="sourceLineNo">427</span>      scanner.close();<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>
 
 
 


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/mail-lists.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/mail-lists.html
index 05c238f..9f452d3 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/mail-lists.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/mail-lists.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; Project Mailing Lists</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -176,7 +176,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/plugin-management.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/plugin-management.html
index b66e070..7863ff7 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/plugin-management.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/plugin-management.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; Project Plugin Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -271,7 +271,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/plugins.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/plugins.html
index b32f02b..b52d96d 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/plugins.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/plugins.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; Project Plugins</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -226,7 +226,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/project-info.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/project-info.html
index 170b3b3..d8f40ae 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/project-info.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/project-info.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; Project Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -167,7 +167,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/project-reports.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/project-reports.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/project-reports.html
index dfb0583..03a464b 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/project-reports.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/project-reports.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; Generated Reports</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -128,7 +128,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/project-summary.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/project-summary.html
index 8b7985c..8397842 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/project-summary.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/project-summary.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; Project Summary</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -166,7 +166,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/source-repository.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/source-repository.html
index aa25e87..8f36451 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/source-repository.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/source-repository.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; Source Code Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -134,7 +134,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/team-list.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/team-list.html
index cc9d93f..80bcd22 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/team-list.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/team-list.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; Project Team</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -529,7 +529,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/index.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/index.html b/hbase-build-configuration/hbase-archetypes/index.html
index 2b1a1cb..b1940d5 100644
--- a/hbase-build-configuration/hbase-archetypes/index.html
+++ b/hbase-build-configuration/hbase-archetypes/index.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetypes &#x2013; About</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -135,7 +135,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/integration.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/integration.html b/hbase-build-configuration/hbase-archetypes/integration.html
index e823954..4dad139 100644
--- a/hbase-build-configuration/hbase-archetypes/integration.html
+++ b/hbase-build-configuration/hbase-archetypes/integration.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetypes &#x2013; CI Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -126,7 +126,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/issue-tracking.html b/hbase-build-configuration/hbase-archetypes/issue-tracking.html
index 609369c..451814f 100644
--- a/hbase-build-configuration/hbase-archetypes/issue-tracking.html
+++ b/hbase-build-configuration/hbase-archetypes/issue-tracking.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetypes &#x2013; Issue Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -123,7 +123,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/license.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/license.html b/hbase-build-configuration/hbase-archetypes/license.html
index 0f94622..0350a87 100644
--- a/hbase-build-configuration/hbase-archetypes/license.html
+++ b/hbase-build-configuration/hbase-archetypes/license.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetypes &#x2013; Project Licenses</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -326,7 +326,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/mail-lists.html b/hbase-build-configuration/hbase-archetypes/mail-lists.html
index d09a9af..9f4a045 100644
--- a/hbase-build-configuration/hbase-archetypes/mail-lists.html
+++ b/hbase-build-configuration/hbase-archetypes/mail-lists.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetypes &#x2013; Project Mailing Lists</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -176,7 +176,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/plugin-management.html b/hbase-build-configuration/hbase-archetypes/plugin-management.html
index c93badc..8118883 100644
--- a/hbase-build-configuration/hbase-archetypes/plugin-management.html
+++ b/hbase-build-configuration/hbase-archetypes/plugin-management.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetypes &#x2013; Project Plugin Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -271,7 +271,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/plugins.html b/hbase-build-configuration/hbase-archetypes/plugins.html
index 439ab8e..25029a6 100644
--- a/hbase-build-configuration/hbase-archetypes/plugins.html
+++ b/hbase-build-configuration/hbase-archetypes/plugins.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetypes &#x2013; Project Plugins</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -214,7 +214,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/project-info.html b/hbase-build-configuration/hbase-archetypes/project-info.html
index 580c45b..9649de4 100644
--- a/hbase-build-configuration/hbase-archetypes/project-info.html
+++ b/hbase-build-configuration/hbase-archetypes/project-info.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetypes &#x2013; Project Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -167,7 +167,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/project-summary.html b/hbase-build-configuration/hbase-archetypes/project-summary.html
index 75076a1..9d34969 100644
--- a/hbase-build-configuration/hbase-archetypes/project-summary.html
+++ b/hbase-build-configuration/hbase-archetypes/project-summary.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetypes &#x2013; Project Summary</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -163,7 +163,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/source-repository.html b/hbase-build-configuration/hbase-archetypes/source-repository.html
index 220b4b9..98616a6 100644
--- a/hbase-build-configuration/hbase-archetypes/source-repository.html
+++ b/hbase-build-configuration/hbase-archetypes/source-repository.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetypes &#x2013; Source Code Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -134,7 +134,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/team-list.html b/hbase-build-configuration/hbase-archetypes/team-list.html
index 0bb5da8..69312c2 100644
--- a/hbase-build-configuration/hbase-archetypes/team-list.html
+++ b/hbase-build-configuration/hbase-archetypes/team-list.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetypes &#x2013; Project Team</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -529,7 +529,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-spark/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/checkstyle.html b/hbase-build-configuration/hbase-spark/checkstyle.html
index 15cd42a..1f322f0 100644
--- a/hbase-build-configuration/hbase-spark/checkstyle.html
+++ b/hbase-build-configuration/hbase-spark/checkstyle.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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; Checkstyle Results</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -418,7 +418,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-spark/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/dependencies.html b/hbase-build-configuration/hbase-spark/dependencies.html
index 7221967..64dd34b 100644
--- a/hbase-build-configuration/hbase-spark/dependencies.html
+++ b/hbase-build-configuration/hbase-spark/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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; Project Dependencies</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -5737,7 +5737,7 @@ file comparators, endian transformation classes, and much more.</p>
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-spark/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/dependency-convergence.html b/hbase-build-configuration/hbase-spark/dependency-convergence.html
index 4ace55b..11add52 100644
--- a/hbase-build-configuration/hbase-spark/dependency-convergence.html
+++ b/hbase-build-configuration/hbase-spark/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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; Reactor Dependency Convergence</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -650,7 +650,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-spark/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/dependency-info.html b/hbase-build-configuration/hbase-spark/dependency-info.html
index 6b059fe..bb110a1 100644
--- a/hbase-build-configuration/hbase-spark/dependency-info.html
+++ b/hbase-build-configuration/hbase-spark/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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; Dependency Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -147,7 +147,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-spark/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/dependency-management.html b/hbase-build-configuration/hbase-spark/dependency-management.html
index af3ec5f..d259296 100644
--- a/hbase-build-configuration/hbase-spark/dependency-management.html
+++ b/hbase-build-configuration/hbase-spark/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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; Project Dependency Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -772,7 +772,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-spark/index.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/index.html b/hbase-build-configuration/hbase-spark/index.html
index f2deeb0..3dfce4e 100644
--- a/hbase-build-configuration/hbase-spark/index.html
+++ b/hbase-build-configuration/hbase-spark/index.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; About</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -119,7 +119,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-spark/integration.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/integration.html b/hbase-build-configuration/hbase-spark/integration.html
index e00549c..836daba 100644
--- a/hbase-build-configuration/hbase-spark/integration.html
+++ b/hbase-build-configuration/hbase-spark/integration.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; CI Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -126,7 +126,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-spark/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/issue-tracking.html b/hbase-build-configuration/hbase-spark/issue-tracking.html
index bcaf15b..542c1a0 100644
--- a/hbase-build-configuration/hbase-spark/issue-tracking.html
+++ b/hbase-build-configuration/hbase-spark/issue-tracking.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; Issue Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -123,7 +123,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-spark/license.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/license.html b/hbase-build-configuration/hbase-spark/license.html
index 1744e21..fb93b6b 100644
--- a/hbase-build-configuration/hbase-spark/license.html
+++ b/hbase-build-configuration/hbase-spark/license.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; Project Licenses</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -326,7 +326,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-spark/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/mail-lists.html b/hbase-build-configuration/hbase-spark/mail-lists.html
index 0c64c5c..f60dfdc 100644
--- a/hbase-build-configuration/hbase-spark/mail-lists.html
+++ b/hbase-build-configuration/hbase-spark/mail-lists.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; Project Mailing Lists</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -176,7 +176,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-spark/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/plugin-management.html b/hbase-build-configuration/hbase-spark/plugin-management.html
index eaf201c..8abc124 100644
--- a/hbase-build-configuration/hbase-spark/plugin-management.html
+++ b/hbase-build-configuration/hbase-spark/plugin-management.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; Project Plugin Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -271,7 +271,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-spark/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/plugins.html b/hbase-build-configuration/hbase-spark/plugins.html
index 6a18891..56d3b15 100644
--- a/hbase-build-configuration/hbase-spark/plugins.html
+++ b/hbase-build-configuration/hbase-spark/plugins.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; Project Plugins</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -238,7 +238,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-spark/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/project-info.html b/hbase-build-configuration/hbase-spark/project-info.html
index 5a4251f..7fea865 100644
--- a/hbase-build-configuration/hbase-spark/project-info.html
+++ b/hbase-build-configuration/hbase-spark/project-info.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; Project Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -167,7 +167,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-spark/project-reports.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/project-reports.html b/hbase-build-configuration/hbase-spark/project-reports.html
index c60cd1e..60a1c09 100644
--- a/hbase-build-configuration/hbase-spark/project-reports.html
+++ b/hbase-build-configuration/hbase-spark/project-reports.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; Generated Reports</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -131,7 +131,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-spark/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/project-summary.html b/hbase-build-configuration/hbase-spark/project-summary.html
index faaa34b..ccc536d 100644
--- a/hbase-build-configuration/hbase-spark/project-summary.html
+++ b/hbase-build-configuration/hbase-spark/project-summary.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; Project Summary</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -166,7 +166,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-spark/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/source-repository.html b/hbase-build-configuration/hbase-spark/source-repository.html
index 92ea845..ba83687 100644
--- a/hbase-build-configuration/hbase-spark/source-repository.html
+++ b/hbase-build-configuration/hbase-spark/source-repository.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; Source Code Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -134,7 +134,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-spark/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/team-list.html b/hbase-build-configuration/hbase-spark/team-list.html
index 5b45aef..057cf21 100644
--- a/hbase-build-configuration/hbase-spark/team-list.html
+++ b/hbase-build-configuration/hbase-spark/team-list.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; Project Team</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -529,7 +529,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/index.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/index.html b/hbase-build-configuration/index.html
index 19d0ebd..11e9c83 100644
--- a/hbase-build-configuration/index.html
+++ b/hbase-build-configuration/index.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Build Configuration &#x2013; About</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -119,7 +119,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/integration.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/integration.html b/hbase-build-configuration/integration.html
index 6f9550e..b37f17b 100644
--- a/hbase-build-configuration/integration.html
+++ b/hbase-build-configuration/integration.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Build Configuration &#x2013; CI Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -126,7 +126,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/issue-tracking.html b/hbase-build-configuration/issue-tracking.html
index 1960e06..79518cd 100644
--- a/hbase-build-configuration/issue-tracking.html
+++ b/hbase-build-configuration/issue-tracking.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Build Configuration &#x2013; Issue Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -123,7 +123,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/license.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/license.html b/hbase-build-configuration/license.html
index 0d728a6..004e87b 100644
--- a/hbase-build-configuration/license.html
+++ b/hbase-build-configuration/license.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Build Configuration &#x2013; Project Licenses</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -326,7 +326,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/mail-lists.html b/hbase-build-configuration/mail-lists.html
index df23ecc..31b648d 100644
--- a/hbase-build-configuration/mail-lists.html
+++ b/hbase-build-configuration/mail-lists.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Build Configuration &#x2013; Project Mailing Lists</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -176,7 +176,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/plugin-management.html b/hbase-build-configuration/plugin-management.html
index dcacaa3..ae38247 100644
--- a/hbase-build-configuration/plugin-management.html
+++ b/hbase-build-configuration/plugin-management.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Build Configuration &#x2013; Project Plugin Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -271,7 +271,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/plugins.html b/hbase-build-configuration/plugins.html
index 585658b..aa80ba9 100644
--- a/hbase-build-configuration/plugins.html
+++ b/hbase-build-configuration/plugins.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Build Configuration &#x2013; Project Plugins</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -214,7 +214,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/project-info.html b/hbase-build-configuration/project-info.html
index ae3a94b..ba38630 100644
--- a/hbase-build-configuration/project-info.html
+++ b/hbase-build-configuration/project-info.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Build Configuration &#x2013; Project Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -167,7 +167,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/project-summary.html b/hbase-build-configuration/project-summary.html
index 735d7cf..7a101ad 100644
--- a/hbase-build-configuration/project-summary.html
+++ b/hbase-build-configuration/project-summary.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Build Configuration &#x2013; Project Summary</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -163,7 +163,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/source-repository.html b/hbase-build-configuration/source-repository.html
index 41b7f4d..362d893 100644
--- a/hbase-build-configuration/source-repository.html
+++ b/hbase-build-configuration/source-repository.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Build Configuration &#x2013; Source Code Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -134,7 +134,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/team-list.html b/hbase-build-configuration/team-list.html
index e880b56..d663e12 100644
--- a/hbase-build-configuration/team-list.html
+++ b/hbase-build-configuration/team-list.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Build Configuration &#x2013; Project Team</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -529,7 +529,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-shaded-check-invariants/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/checkstyle.html b/hbase-shaded-check-invariants/checkstyle.html
index 2e147bb..2074510 100644
--- a/hbase-shaded-check-invariants/checkstyle.html
+++ b/hbase-shaded-check-invariants/checkstyle.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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; Checkstyle Results</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -150,7 +150,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-shaded-check-invariants/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/dependencies.html b/hbase-shaded-check-invariants/dependencies.html
index 658289d..d3541e5 100644
--- a/hbase-shaded-check-invariants/dependencies.html
+++ b/hbase-shaded-check-invariants/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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; Project Dependencies</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -2719,7 +2719,7 @@ Jackson JSON processor's data binding functionality.</p>
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-shaded-check-invariants/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/dependency-convergence.html b/hbase-shaded-check-invariants/dependency-convergence.html
index 47251c0..c107b83 100644
--- a/hbase-shaded-check-invariants/dependency-convergence.html
+++ b/hbase-shaded-check-invariants/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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; Reactor Dependency Convergence</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -650,7 +650,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-shaded-check-invariants/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/dependency-info.html b/hbase-shaded-check-invariants/dependency-info.html
index ccc1637..3ef3b8d 100644
--- a/hbase-shaded-check-invariants/dependency-info.html
+++ b/hbase-shaded-check-invariants/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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; Dependency Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -148,7 +148,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-shaded-check-invariants/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/dependency-management.html b/hbase-shaded-check-invariants/dependency-management.html
index 39eaf6d..4831b41 100644
--- a/hbase-shaded-check-invariants/dependency-management.html
+++ b/hbase-shaded-check-invariants/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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; Project Dependency Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -772,7 +772,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-shaded-check-invariants/index.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/index.html b/hbase-shaded-check-invariants/index.html
index d6ca13c..b9801f1 100644
--- a/hbase-shaded-check-invariants/index.html
+++ b/hbase-shaded-check-invariants/index.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; About</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -122,7 +122,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-shaded-check-invariants/integration.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/integration.html b/hbase-shaded-check-invariants/integration.html
index 1dd41c1..7ea224d 100644
--- a/hbase-shaded-check-invariants/integration.html
+++ b/hbase-shaded-check-invariants/integration.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; CI Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -126,7 +126,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-shaded-check-invariants/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/issue-tracking.html b/hbase-shaded-check-invariants/issue-tracking.html
index c721074..1ffc7e6 100644
--- a/hbase-shaded-check-invariants/issue-tracking.html
+++ b/hbase-shaded-check-invariants/issue-tracking.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; Issue Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -123,7 +123,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-shaded-check-invariants/license.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/license.html b/hbase-shaded-check-invariants/license.html
index c118bd8..b7572c2 100644
--- a/hbase-shaded-check-invariants/license.html
+++ b/hbase-shaded-check-invariants/license.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; Project Licenses</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -326,7 +326,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-shaded-check-invariants/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/mail-lists.html b/hbase-shaded-check-invariants/mail-lists.html
index 8ae047b..3cfdab6 100644
--- a/hbase-shaded-check-invariants/mail-lists.html
+++ b/hbase-shaded-check-invariants/mail-lists.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; Project Mailing Lists</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -176,7 +176,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-shaded-check-invariants/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/plugin-management.html b/hbase-shaded-check-invariants/plugin-management.html
index 2cc5801..cc8876b 100644
--- a/hbase-shaded-check-invariants/plugin-management.html
+++ b/hbase-shaded-check-invariants/plugin-management.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; Project Plugin Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -271,7 +271,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-shaded-check-invariants/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/plugins.html b/hbase-shaded-check-invariants/plugins.html
index f14b7eb..54a5d14 100644
--- a/hbase-shaded-check-invariants/plugins.html
+++ b/hbase-shaded-check-invariants/plugins.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; Project Plugins</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -218,7 +218,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-shaded-check-invariants/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/project-info.html b/hbase-shaded-check-invariants/project-info.html
index 49a4869..456e694 100644
--- a/hbase-shaded-check-invariants/project-info.html
+++ b/hbase-shaded-check-invariants/project-info.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; Project Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -170,7 +170,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-shaded-check-invariants/project-reports.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/project-reports.html b/hbase-shaded-check-invariants/project-reports.html
index e1c3fe8..db49420 100644
--- a/hbase-shaded-check-invariants/project-reports.html
+++ b/hbase-shaded-check-invariants/project-reports.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; Generated Reports</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -128,7 +128,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-shaded-check-invariants/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/project-summary.html b/hbase-shaded-check-invariants/project-summary.html
index 5e1dd99..ea273b2 100644
--- a/hbase-shaded-check-invariants/project-summary.html
+++ b/hbase-shaded-check-invariants/project-summary.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; Project Summary</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -166,7 +166,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-shaded-check-invariants/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/source-repository.html b/hbase-shaded-check-invariants/source-repository.html
index 04684d8..1067b30 100644
--- a/hbase-shaded-check-invariants/source-repository.html
+++ b/hbase-shaded-check-invariants/source-repository.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; Source Code Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -134,7 +134,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-shaded-check-invariants/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/team-list.html b/hbase-shaded-check-invariants/team-list.html
index 69f116c..f546bad 100644
--- a/hbase-shaded-check-invariants/team-list.html
+++ b/hbase-shaded-check-invariants/team-list.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; Project Team</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -529,7 +529,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/integration.html
----------------------------------------------------------------------
diff --git a/integration.html b/integration.html
index 16317ee..399ad49 100644
--- a/integration.html
+++ b/integration.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; CI Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -296,7 +296,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperation.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperation.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperation.html
index 2a29b1c..3b0b6dd 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperation.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperation.html
@@ -60,9 +60,9 @@
 <span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.procedure2.LockedResource;<a name="line.52"></a>
 <span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.procedure2.Procedure;<a name="line.53"></a>
 <span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.security.User;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.57"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.quotas.GlobalQuotaSettings;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.security.User;<a name="line.57"></a>
 <span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription;<a name="line.58"></a>
 <span class="sourceLineNo">059</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.59"></a>
 <span class="sourceLineNo">060</span><a name="line.60"></a>
@@ -1307,598 +1307,608 @@
 <span class="sourceLineNo">1299</span>    });<a name="line.1299"></a>
 <span class="sourceLineNo">1300</span>  }<a name="line.1300"></a>
 <span class="sourceLineNo">1301</span><a name="line.1301"></a>
-<span class="sourceLineNo">1302</span>  public void preSetUserQuota(final String user, final Quotas quotas) throws IOException {<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span>      @Override<a name="line.1304"></a>
-<span class="sourceLineNo">1305</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span>          throws IOException {<a name="line.1306"></a>
-<span class="sourceLineNo">1307</span>        oserver.preSetUserQuota(ctx, user, quotas);<a name="line.1307"></a>
-<span class="sourceLineNo">1308</span>      }<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span>    });<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span>  }<a name="line.1310"></a>
-<span class="sourceLineNo">1311</span><a name="line.1311"></a>
-<span class="sourceLineNo">1312</span>  public void postSetUserQuota(final String user, final Quotas quotas) throws IOException {<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span>      @Override<a name="line.1314"></a>
-<span class="sourceLineNo">1315</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1315"></a>
-<span class="sourceLineNo">1316</span>          throws IOException {<a name="line.1316"></a>
-<span class="sourceLineNo">1317</span>        oserver.postSetUserQuota(ctx, user, quotas);<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span>      }<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span>    });<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span>  }<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span><a name="line.1321"></a>
-<span class="sourceLineNo">1322</span>  public void preSetUserQuota(final String user, final TableName table, final Quotas quotas)<a name="line.1322"></a>
-<span class="sourceLineNo">1323</span>      throws IOException {<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1324"></a>
-<span class="sourceLineNo">1325</span>      @Override<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span>          throws IOException {<a name="line.1327"></a>
-<span class="sourceLineNo">1328</span>        oserver.preSetUserQuota(ctx, user, table, quotas);<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span>      }<a name="line.1329"></a>
-<span class="sourceLineNo">1330</span>    });<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span>  }<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span><a name="line.1332"></a>
-<span class="sourceLineNo">1333</span>  public void postSetUserQuota(final String user, final TableName table, final Quotas quotas)<a name="line.1333"></a>
-<span class="sourceLineNo">1334</span>      throws IOException {<a name="line.1334"></a>
-<span class="sourceLineNo">1335</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1335"></a>
-<span class="sourceLineNo">1336</span>      @Override<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1337"></a>
+<span class="sourceLineNo">1302</span>  public void preSetUserQuota(<a name="line.1302"></a>
+<span class="sourceLineNo">1303</span>      final String user, final GlobalQuotaSettings quotas) throws IOException {<a name="line.1303"></a>
+<span class="sourceLineNo">1304</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1304"></a>
+<span class="sourceLineNo">1305</span>      @Override<a name="line.1305"></a>
+<span class="sourceLineNo">1306</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1306"></a>
+<span class="sourceLineNo">1307</span>          throws IOException {<a name="line.1307"></a>
+<span class="sourceLineNo">1308</span>        oserver.preSetUserQuota(ctx, user, quotas);<a name="line.1308"></a>
+<span class="sourceLineNo">1309</span>      }<a name="line.1309"></a>
+<span class="sourceLineNo">1310</span>    });<a name="line.1310"></a>
+<span class="sourceLineNo">1311</span>  }<a name="line.1311"></a>
+<span class="sourceLineNo">1312</span><a name="line.1312"></a>
+<span class="sourceLineNo">1313</span>  public void postSetUserQuota(<a name="line.1313"></a>
+<span class="sourceLineNo">1314</span>      final String user, final GlobalQuotaSettings quotas) throws IOException {<a name="line.1314"></a>
+<span class="sourceLineNo">1315</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1315"></a>
+<span class="sourceLineNo">1316</span>      @Override<a name="line.1316"></a>
+<span class="sourceLineNo">1317</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1317"></a>
+<span class="sourceLineNo">1318</span>          throws IOException {<a name="line.1318"></a>
+<span class="sourceLineNo">1319</span>        oserver.postSetUserQuota(ctx, user, quotas);<a name="line.1319"></a>
+<span class="sourceLineNo">1320</span>      }<a name="line.1320"></a>
+<span class="sourceLineNo">1321</span>    });<a name="line.1321"></a>
+<span class="sourceLineNo">1322</span>  }<a name="line.1322"></a>
+<span class="sourceLineNo">1323</span><a name="line.1323"></a>
+<span class="sourceLineNo">1324</span>  public void preSetUserQuota(<a name="line.1324"></a>
+<span class="sourceLineNo">1325</span>      final String user, final TableName table, final GlobalQuotaSettings quotas)<a name="line.1325"></a>
+<span class="sourceLineNo">1326</span>          throws IOException {<a name="line.1326"></a>
+<span class="sourceLineNo">1327</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1327"></a>
+<span class="sourceLineNo">1328</span>      @Override<a name="line.1328"></a>
+<span class="sourceLineNo">1329</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1329"></a>
+<span class="sourceLineNo">1330</span>          throws IOException {<a name="line.1330"></a>
+<span class="sourceLineNo">1331</span>        oserver.preSetUserQuota(ctx, user, table, quotas);<a name="line.1331"></a>
+<span class="sourceLineNo">1332</span>      }<a name="line.1332"></a>
+<span class="sourceLineNo">1333</span>    });<a name="line.1333"></a>
+<span class="sourceLineNo">1334</span>  }<a name="line.1334"></a>
+<span class="sourceLineNo">1335</span><a name="line.1335"></a>
+<span class="sourceLineNo">1336</span>  public void postSetUserQuota(<a name="line.1336"></a>
+<span class="sourceLineNo">1337</span>      final String user, final TableName table, final GlobalQuotaSettings quotas)<a name="line.1337"></a>
 <span class="sourceLineNo">1338</span>          throws IOException {<a name="line.1338"></a>
-<span class="sourceLineNo">1339</span>        oserver.postSetUserQuota(ctx, user, table, quotas);<a name="line.1339"></a>
-<span class="sourceLineNo">1340</span>      }<a name="line.1340"></a>
-<span class="sourceLineNo">1341</span>    });<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span>  }<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span><a name="line.1343"></a>
-<span class="sourceLineNo">1344</span>  public void preSetUserQuota(final String user, final String namespace, final Quotas quotas)<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span>      throws IOException {<a name="line.1345"></a>
-<span class="sourceLineNo">1346</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1346"></a>
-<span class="sourceLineNo">1347</span>      @Override<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1348"></a>
-<span class="sourceLineNo">1349</span>          throws IOException {<a name="line.1349"></a>
-<span class="sourceLineNo">1350</span>        oserver.preSetUserQuota(ctx, user, namespace, quotas);<a name="line.1350"></a>
-<span class="sourceLineNo">1351</span>      }<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span>    });<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span>  }<a name="line.1353"></a>
-<span class="sourceLineNo">1354</span><a name="line.1354"></a>
-<span class="sourceLineNo">1355</span>  public void postSetUserQuota(final String user, final String namespace, final Quotas quotas)<a name="line.1355"></a>
-<span class="sourceLineNo">1356</span>      throws IOException {<a name="line.1356"></a>
-<span class="sourceLineNo">1357</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1357"></a>
-<span class="sourceLineNo">1358</span>      @Override<a name="line.1358"></a>
-<span class="sourceLineNo">1359</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1359"></a>
-<span class="sourceLineNo">1360</span>          throws IOException {<a name="line.1360"></a>
-<span class="sourceLineNo">1361</span>        oserver.postSetUserQuota(ctx, user, namespace, quotas);<a name="line.1361"></a>
-<span class="sourceLineNo">1362</span>      }<a name="line.1362"></a>
-<span class="sourceLineNo">1363</span>    });<a name="line.1363"></a>
-<span class="sourceLineNo">1364</span>  }<a name="line.1364"></a>
-<span class="sourceLineNo">1365</span><a name="line.1365"></a>
-<span class="sourceLineNo">1366</span>  public void preSetTableQuota(final TableName table, final Quotas quotas) throws IOException {<a name="line.1366"></a>
-<span class="sourceLineNo">1367</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1367"></a>
-<span class="sourceLineNo">1368</span>      @Override<a name="line.1368"></a>
-<span class="sourceLineNo">1369</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1369"></a>
-<span class="sourceLineNo">1370</span>          throws IOException {<a name="line.1370"></a>
-<span class="sourceLineNo">1371</span>        oserver.preSetTableQuota(ctx, table, quotas);<a name="line.1371"></a>
-<span class="sourceLineNo">1372</span>      }<a name="line.1372"></a>
-<span class="sourceLineNo">1373</span>    });<a name="line.1373"></a>
-<span class="sourceLineNo">1374</span>  }<a name="line.1374"></a>
-<span class="sourceLineNo">1375</span><a name="line.1375"></a>
-<span class="sourceLineNo">1376</span>  public void postSetTableQuota(final TableName table, final Quotas quotas) throws IOException {<a name="line.1376"></a>
-<span class="sourceLineNo">1377</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1377"></a>
-<span class="sourceLineNo">1378</span>      @Override<a name="line.1378"></a>
-<span class="sourceLineNo">1379</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1379"></a>
-<span class="sourceLineNo">1380</span>          throws IOException {<a name="line.1380"></a>
-<span class="sourceLineNo">1381</span>        oserver.postSetTableQuota(ctx, table, quotas);<a name="line.1381"></a>
-<span class="sourceLineNo">1382</span>      }<a name="line.1382"></a>
-<span class="sourceLineNo">1383</span>    });<a name="line.1383"></a>
-<span class="sourceLineNo">1384</span>  }<a name="line.1384"></a>
-<span class="sourceLineNo">1385</span><a name="line.1385"></a>
-<span class="sourceLineNo">1386</span>  public void preSetNamespaceQuota(final String namespace, final Quotas quotas) throws IOException {<a name="line.1386"></a>
-<span class="sourceLineNo">1387</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1387"></a>
-<span class="sourceLineNo">1388</span>      @Override<a name="line.1388"></a>
-<span class="sourceLineNo">1389</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1389"></a>
-<span class="sourceLineNo">1390</span>          throws IOException {<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span>        oserver.preSetNamespaceQuota(ctx, namespace, quotas);<a name="line.1391"></a>
-<span class="sourceLineNo">1392</span>      }<a name="line.1392"></a>
-<span class="sourceLineNo">1393</span>    });<a name="line.1393"></a>
-<span class="sourceLineNo">1394</span>  }<a name="line.1394"></a>
-<span class="sourceLineNo">1395</span><a name="line.1395"></a>
-<span class="sourceLineNo">1396</span>  public void postSetNamespaceQuota(final String namespace, final Quotas quotas) throws IOException{<a name="line.1396"></a>
-<span class="sourceLineNo">1397</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1397"></a>
-<span class="sourceLineNo">1398</span>      @Override<a name="line.1398"></a>
-<span class="sourceLineNo">1399</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1399"></a>
-<span class="sourceLineNo">1400</span>          throws IOException {<a name="line.1400"></a>
-<span class="sourceLineNo">1401</span>        oserver.postSetNamespaceQuota(ctx, namespace, quotas);<a name="line.1401"></a>
-<span class="sourceLineNo">1402</span>      }<a name="line.1402"></a>
-<span class="sourceLineNo">1403</span>    });<a name="line.1403"></a>
-<span class="sourceLineNo">1404</span>  }<a name="line.1404"></a>
-<span class="sourceLineNo">1405</span><a name="line.1405"></a>
-<span class="sourceLineNo">1406</span>  private static abstract class CoprocessorOperation<a name="line.1406"></a>
-<span class="sourceLineNo">1407</span>      extends ObserverContext&lt;MasterCoprocessorEnvironment&gt; {<a name="line.1407"></a>
-<span class="sourceLineNo">1408</span>    public CoprocessorOperation() {<a name="line.1408"></a>
-<span class="sourceLineNo">1409</span>      this(RpcServer.getRequestUser());<a name="line.1409"></a>
-<span class="sourceLineNo">1410</span>    }<a name="line.1410"></a>
-<span class="sourceLineNo">1411</span><a name="line.1411"></a>
-<span class="sourceLineNo">1412</span>    public CoprocessorOperation(User user) {<a name="line.1412"></a>
-<span class="sourceLineNo">1413</span>      super(user);<a name="line.1413"></a>
-<span class="sourceLineNo">1414</span>    }<a name="line.1414"></a>
+<span class="sourceLineNo">1339</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1339"></a>
+<span class="sourceLineNo">1340</span>      @Override<a name="line.1340"></a>
+<span class="sourceLineNo">1341</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1341"></a>
+<span class="sourceLineNo">1342</span>          throws IOException {<a name="line.1342"></a>
+<span class="sourceLineNo">1343</span>        oserver.postSetUserQuota(ctx, user, table, quotas);<a name="line.1343"></a>
+<span class="sourceLineNo">1344</span>      }<a name="line.1344"></a>
+<span class="sourceLineNo">1345</span>    });<a name="line.1345"></a>
+<span class="sourceLineNo">1346</span>  }<a name="line.1346"></a>
+<span class="sourceLineNo">1347</span><a name="line.1347"></a>
+<span class="sourceLineNo">1348</span>  public void preSetUserQuota(<a name="line.1348"></a>
+<span class="sourceLineNo">1349</span>      final String user, final String namespace, final GlobalQuotaSettings quotas)<a name="line.1349"></a>
+<span class="sourceLineNo">1350</span>          throws IOException {<a name="line.1350"></a>
+<span class="sourceLineNo">1351</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1351"></a>
+<span class="sourceLineNo">1352</span>      @Override<a name="line.1352"></a>
+<span class="sourceLineNo">1353</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1353"></a>
+<span class="sourceLineNo">1354</span>          throws IOException {<a name="line.1354"></a>
+<span class="sourceLineNo">1355</span>        oserver.preSetUserQuota(ctx, user, namespace, quotas);<a name="line.1355"></a>
+<span class="sourceLineNo">1356</span>      }<a name="line.1356"></a>
+<span class="sourceLineNo">1357</span>    });<a name="line.1357"></a>
+<span class="sourceLineNo">1358</span>  }<a name="line.1358"></a>
+<span class="sourceLineNo">1359</span><a name="line.1359"></a>
+<span class="sourceLineNo">1360</span>  public void postSetUserQuota(<a name="line.1360"></a>
+<span class="sourceLineNo">1361</span>      final String user, final String namespace, final GlobalQuotaSettings quotas)<a name="line.1361"></a>
+<span class="sourceLineNo">1362</span>          throws IOException {<a name="line.1362"></a>
+<span class="sourceLineNo">1363</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1363"></a>
+<span class="sourceLineNo">1364</span>      @Override<a name="line.1364"></a>
+<span class="sourceLineNo">1365</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1365"></a>
+<span class="sourceLineNo">1366</span>          throws IOException {<a name="line.1366"></a>
+<span class="sourceLineNo">1367</span>        oserver.postSetUserQuota(ctx, user, namespace, quotas);<a name="line.1367"></a>
+<span class="sourceLineNo">1368</span>      }<a name="line.1368"></a>
+<span class="sourceLineNo">1369</span>    });<a name="line.1369"></a>
+<span class="sourceLineNo">1370</span>  }<a name="line.1370"></a>
+<span class="sourceLineNo">1371</span><a name="line.1371"></a>
+<span class="sourceLineNo">1372</span>  public void preSetTableQuota(<a name="line.1372"></a>
+<span class="sourceLineNo">1373</span>      final TableName table, final GlobalQuotaSettings quotas) throws IOException {<a name="line.1373"></a>
+<span class="sourceLineNo">1374</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1374"></a>
+<span class="sourceLineNo">1375</span>      @Override<a name="line.1375"></a>
+<span class="sourceLineNo">1376</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1376"></a>
+<span class="sourceLineNo">1377</span>          throws IOException {<a name="line.1377"></a>
+<span class="sourceLineNo">1378</span>        oserver.preSetTableQuota(ctx, table, quotas);<a name="line.1378"></a>
+<span class="sourceLineNo">1379</span>      }<a name="line.1379"></a>
+<span class="sourceLineNo">1380</span>    });<a name="line.1380"></a>
+<span class="sourceLineNo">1381</span>  }<a name="line.1381"></a>
+<span class="sourceLineNo">1382</span><a name="line.1382"></a>
+<span class="sourceLineNo">1383</span>  public void postSetTableQuota(<a name="line.1383"></a>
+<span class="sourceLineNo">1384</span>      final TableName table, final GlobalQuotaSettings quotas) throws IOException {<a name="line.1384"></a>
+<span class="sourceLineNo">1385</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1385"></a>
+<span class="sourceLineNo">1386</span>      @Override<a name="line.1386"></a>
+<span class="sourceLineNo">1387</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1387"></a>
+<span class="sourceLineNo">1388</span>          throws IOException {<a name="line.1388"></a>
+<span class="sourceLineNo">1389</span>        oserver.postSetTableQuota(ctx, table, quotas);<a name="line.1389"></a>
+<span class="sourceLineNo">1390</span>      }<a name="line.1390"></a>
+<span class="sourceLineNo">1391</span>    });<a name="line.1391"></a>
+<span class="sourceLineNo">1392</span>  }<a name="line.1392"></a>
+<span class="sourceLineNo">1393</span><a name="line.1393"></a>
+<span class="sourceLineNo">1394</span>  public void preSetNamespaceQuota(<a name="line.1394"></a>
+<span class="sourceLineNo">1395</span>      final String namespace, final GlobalQuotaSettings quotas) throws IOException {<a name="line.1395"></a>
+<span class="sourceLineNo">1396</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1396"></a>
+<span class="sourceLineNo">1397</span>      @Override<a name="line.1397"></a>
+<span class="sourceLineNo">1398</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1398"></a>
+<span class="sourceLineNo">1399</span>          throws IOException {<a name="line.1399"></a>
+<span class="sourceLineNo">1400</span>        oserver.preSetNamespaceQuota(ctx, namespace, quotas);<a name="line.1400"></a>
+<span class="sourceLineNo">1401</span>      }<a name="line.1401"></a>
+<span class="sourceLineNo">1402</span>    });<a name="line.1402"></a>
+<span class="sourceLineNo">1403</span>  }<a name="line.1403"></a>
+<span class="sourceLineNo">1404</span><a name="line.1404"></a>
+<span class="sourceLineNo">1405</span>  public void postSetNamespaceQuota(<a name="line.1405"></a>
+<span class="sourceLineNo">1406</span>      final String namespace, final GlobalQuotaSettings quotas) throws IOException{<a name="line.1406"></a>
+<span class="sourceLineNo">1407</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1407"></a>
+<span class="sourceLineNo">1408</span>      @Override<a name="line.1408"></a>
+<span class="sourceLineNo">1409</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1409"></a>
+<span class="sourceLineNo">1410</span>          throws IOException {<a name="line.1410"></a>
+<span class="sourceLineNo">1411</span>        oserver.postSetNamespaceQuota(ctx, namespace, quotas);<a name="line.1411"></a>
+<span class="sourceLineNo">1412</span>      }<a name="line.1412"></a>
+<span class="sourceLineNo">1413</span>    });<a name="line.1413"></a>
+<span class="sourceLineNo">1414</span>  }<a name="line.1414"></a>
 <span class="sourceLineNo">1415</span><a name="line.1415"></a>
-<span class="sourceLineNo">1416</span>    public abstract void call(MasterObserver oserver,<a name="line.1416"></a>
-<span class="sourceLineNo">1417</span>        ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException;<a name="line.1417"></a>
-<span class="sourceLineNo">1418</span><a name="line.1418"></a>
-<span class="sourceLineNo">1419</span>    public void postEnvCall(MasterEnvironment env) {<a name="line.1419"></a>
+<span class="sourceLineNo">1416</span>  private static abstract class CoprocessorOperation<a name="line.1416"></a>
+<span class="sourceLineNo">1417</span>      extends ObserverContext&lt;MasterCoprocessorEnvironment&gt; {<a name="line.1417"></a>
+<span class="sourceLineNo">1418</span>    public CoprocessorOperation() {<a name="line.1418"></a>
+<span class="sourceLineNo">1419</span>      this(RpcServer.getRequestUser());<a name="line.1419"></a>
 <span class="sourceLineNo">1420</span>    }<a name="line.1420"></a>
-<span class="sourceLineNo">1421</span>  }<a name="line.1421"></a>
-<span class="sourceLineNo">1422</span><a name="line.1422"></a>
-<span class="sourceLineNo">1423</span>  private static abstract class CoprocessorOperationWithResult&lt;T&gt; extends CoprocessorOperation {<a name="line.1423"></a>
-<span class="sourceLineNo">1424</span>    private T result = null;<a name="line.1424"></a>
-<span class="sourceLineNo">1425</span>    public void setResult(final T result) { this.result = result; }<a name="line.1425"></a>
-<span class="sourceLineNo">1426</span>    public T getResult() { return this.result; }<a name="line.1426"></a>
-<span class="sourceLineNo">1427</span>  }<a name="line.1427"></a>
+<span class="sourceLineNo">1421</span><a name="line.1421"></a>
+<span class="sourceLineNo">1422</span>    public CoprocessorOperation(User user) {<a name="line.1422"></a>
+<span class="sourceLineNo">1423</span>      super(user);<a name="line.1423"></a>
+<span class="sourceLineNo">1424</span>    }<a name="line.1424"></a>
+<span class="sourceLineNo">1425</span><a name="line.1425"></a>
+<span class="sourceLineNo">1426</span>    public abstract void call(MasterObserver oserver,<a name="line.1426"></a>
+<span class="sourceLineNo">1427</span>        ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException;<a name="line.1427"></a>
 <span class="sourceLineNo">1428</span><a name="line.1428"></a>
-<span class="sourceLineNo">1429</span>  private &lt;T&gt; T execOperationWithResult(final T defaultValue,<a name="line.1429"></a>
-<span class="sourceLineNo">1430</span>      final CoprocessorOperationWithResult&lt;T&gt; ctx) throws IOException {<a name="line.1430"></a>
-<span class="sourceLineNo">1431</span>    if (ctx == null) return defaultValue;<a name="line.1431"></a>
-<span class="sourceLineNo">1432</span>    ctx.setResult(defaultValue);<a name="line.1432"></a>
-<span class="sourceLineNo">1433</span>    execOperation(ctx);<a name="line.1433"></a>
-<span class="sourceLineNo">1434</span>    return ctx.getResult();<a name="line.1434"></a>
-<span class="sourceLineNo">1435</span>  }<a name="line.1435"></a>
-<span class="sourceLineNo">1436</span><a name="line.1436"></a>
-<span class="sourceLineNo">1437</span>  private boolean execOperation(final CoprocessorOperation ctx) throws IOException {<a name="line.1437"></a>
-<span class="sourceLineNo">1438</span>    if (ctx == null) return false;<a name="line.1438"></a>
-<span class="sourceLineNo">1439</span>    boolean bypass = false;<a name="line.1439"></a>
-<span class="sourceLineNo">1440</span>    List&lt;MasterEnvironment&gt; envs = coprocessors.get();<a name="line.1440"></a>
-<span class="sourceLineNo">1441</span>    for (int i = 0; i &lt; envs.size(); i++) {<a name="line.1441"></a>
-<span class="sourceLineNo">1442</span>      MasterEnvironment env = envs.get(i);<a name="line.1442"></a>
-<span class="sourceLineNo">1443</span>      if (env.getInstance() instanceof MasterObserver) {<a name="line.1443"></a>
-<span class="sourceLineNo">1444</span>        ctx.prepare(env);<a name="line.1444"></a>
-<span class="sourceLineNo">1445</span>        Thread currentThread = Thread.currentThread();<a name="line.1445"></a>
-<span class="sourceLineNo">1446</span>        ClassLoader cl = currentThread.getContextClassLoader();<a name="line.1446"></a>
-<span class="sourceLineNo">1447</span>        try {<a name="line.1447"></a>
-<span class="sourceLineNo">1448</span>          currentThread.setContextClassLoader(env.getClassLoader());<a name="line.1448"></a>
-<span class="sourceLineNo">1449</span>          ctx.call((MasterObserver)env.getInstance(), ctx);<a name="line.1449"></a>
-<span class="sourceLineNo">1450</span>        } catch (Throwable e) {<a name="line.1450"></a>
-<span class="sourceLineNo">1451</span>          handleCoprocessorThrowable(env, e);<a name="line.1451"></a>
-<span class="sourceLineNo">1452</span>        } finally {<a name="line.1452"></a>
-<span class="sourceLineNo">1453</span>          currentThread.setContextClassLoader(cl);<a name="line.1453"></a>
-<span class="sourceLineNo">1454</span>        }<a name="line.1454"></a>
-<span class="sourceLineNo">1455</span>        bypass |= ctx.shouldBypass();<a name="line.1455"></a>
-<span class="sourceLineNo">1456</span>        if (ctx.shouldComplete()) {<a name="line.1456"></a>
-<span class="sourceLineNo">1457</span>          break;<a name="line.1457"></a>
-<span class="sourceLineNo">1458</span>        }<a name="line.1458"></a>
-<span class="sourceLineNo">1459</span>      }<a name="line.1459"></a>
-<span class="sourceLineNo">1460</span>      ctx.postEnvCall(env);<a name="line.1460"></a>
-<span class="sourceLineNo">1461</span>    }<a name="line.1461"></a>
-<span class="sourceLineNo">1462</span>    return bypass;<a name="line.1462"></a>
-<span class="sourceLineNo">1463</span>  }<a name="line.1463"></a>
-<span class="sourceLineNo">1464</span><a name="line.1464"></a>
-<span class="sourceLineNo">1465</span>  /**<a name="line.1465"></a>
-<span class="sourceLineNo">1466</span>   * Master coprocessor classes can be configured in any order, based on that priority is set and<a name="line.1466"></a>
-<span class="sourceLineNo">1467</span>   * chained in a sorted order. For preStopMaster()/preShutdown(), coprocessor methods are invoked<a name="line.1467"></a>
-<span class="sourceLineNo">1468</span>   * in call() and environment is shutdown in postEnvCall(). &lt;br&gt;<a name="line.1468"></a>
-<span class="sourceLineNo">1469</span>   * Need to execute all coprocessor methods first then postEnvCall(), otherwise some coprocessors<a name="line.1469"></a>
-<span class="sourceLineNo">1470</span>   * may remain shutdown if any exception occurs during next coprocessor execution which prevent<a name="line.1470"></a>
-<span class="sourceLineNo">1471</span>   * Master stop or cluster shutdown. (Refer:<a name="line.1471"></a>
-<span class="sourceLineNo">1472</span>   * &lt;a href="https://issues.apache.org/jira/browse/HBASE-16663"&gt;HBASE-16663&lt;/a&gt;<a name="line.1472"></a>
-<span class="sourceLineNo">1473</span>   * @param ctx CoprocessorOperation<a name="line.1473"></a>
-<span class="sourceLineNo">1474</span>   * @return true if bypaas coprocessor execution, false if not.<a name="line.1474"></a>
-<span class="sourceLineNo">1475</span>   * @throws IOException<a name="line.1475"></a>
-<span class="sourceLineNo">1476</span>   */<a name="line.1476"></a>
-<span class="sourceLineNo">1477</span>  private boolean execShutdown(final CoprocessorOperation ctx) throws IOException {<a name="line.1477"></a>
-<span class="sourceLineNo">1478</span>    if (ctx == null) return false;<a name="line.1478"></a>
-<span class="sourceLineNo">1479</span>    boolean bypass = false;<a name="line.1479"></a>
-<span class="sourceLineNo">1480</span>    List&lt;MasterEnvironment&gt; envs = coprocessors.get();<a name="line.1480"></a>
-<span class="sourceLineNo">1481</span>    int envsSize = envs.size();<a name="line.1481"></a>
-<span class="sourceLineNo">1482</span>    // Iterate the coprocessors and execute CoprocessorOperation's call()<a name="line.1482"></a>
-<span class="sourceLineNo">1483</span>    for (int i = 0; i &lt; envsSize; i++) {<a name="line.1483"></a>
-<span class="sourceLineNo">1484</span>      MasterEnvironment env = envs.get(i);<a name="line.1484"></a>
-<span class="sourceLineNo">1485</span>      if (env.getInstance() instanceof MasterObserver) {<a name="line.1485"></a>
-<span class="sourceLineNo">1486</span>        ctx.prepare(env);<a name="line.1486"></a>
-<span class="sourceLineNo">1487</span>        Thread currentThread = Thread.currentThread();<a name="line.1487"></a>
-<span class="sourceLineNo">1488</span>        ClassLoader cl = currentThread.getContextClassLoader();<a name="line.1488"></a>
-<span class="sourceLineNo">1489</span>        try {<a name="line.1489"></a>
-<span class="sourceLineNo">1490</span>          currentThread.setContextClassLoader(env.getClassLoader());<a name="line.1490"></a>
-<span class="sourceLineNo">1491</span>          ctx.call((MasterObserver) env.getInstance(), ctx);<a name="line.1491"></a>
-<span class="sourceLineNo">1492</span>        } catch (Throwable e) {<a name="line.1492"></a>
-<span class="sourceLineNo">1493</span>          handleCoprocessorThrowable(env, e);<a name="line.1493"></a>
-<span class="sourceLineNo">1494</span>        } finally {<a name="line.1494"></a>
-<span class="sourceLineNo">1495</span>          currentThread.setContextClassLoader(cl);<a name="line.1495"></a>
-<span class="sourceLineNo">1496</span>        }<a name="line.1496"></a>
-<span class="sourceLineNo">1497</span>        bypass |= ctx.shouldBypass();<a name="line.1497"></a>
-<span class="sourceLineNo">1498</span>        if (ctx.shouldComplete()) {<a name="line.1498"></a>
-<span class="sourceLineNo">1499</span>          break;<a name="line.1499"></a>
-<span class="sourceLineNo">1500</span>        }<a name="line.1500"></a>
-<span class="sourceLineNo">1501</span>      }<a name="line.1501"></a>
-<span class="sourceLineNo">1502</span>    }<a name="line.1502"></a>
-<span class="sourceLineNo">1503</span><a name="line.1503"></a>
-<span class="sourceLineNo">1504</span>    // Iterate the coprocessors and execute CoprocessorOperation's postEnvCall()<a name="line.1504"></a>
-<span class="sourceLineNo">1505</span>    for (int i = 0; i &lt; envsSize; i++) {<a name="line.1505"></a>
-<span class="sourceLineNo">1506</span>      MasterEnvironment env = envs.get(i);<a name="line.1506"></a>
-<span class="sourceLineNo">1507</span>      ctx.postEnvCall(env);<a name="line.1507"></a>
-<span class="sourceLineNo">1508</span>    }<a name="line.1508"></a>
-<span class="sourceLineNo">1509</span>    return bypass;<a name="line.1509"></a>
-<span class="sourceLineNo">1510</span>  }<a name="line.1510"></a>
-<span class="sourceLineNo">1511</span><a name="line.1511"></a>
-<span class="sourceLineNo">1512</span>  public void preMoveServersAndTables(final Set&lt;Address&gt; servers, final Set&lt;TableName&gt; tables, final String targetGroup)<a name="line.1512"></a>
-<span class="sourceLineNo">1513</span>          throws IOException {<a name="line.1513"></a>
-<span class="sourceLineNo">1514</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1514"></a>
-<span class="sourceLineNo">1515</span>      @Override<a name="line.1515"></a>
-<span class="sourceLineNo">1516</span>      public void call(MasterObserver oserver,<a name="line.1516"></a>
-<span class="sourceLineNo">1517</span>                       ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1517"></a>
-<span class="sourceLineNo">1518</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1518"></a>
-<span class="sourceLineNo">1519</span>          oserver.preMoveServersAndTables(ctx, servers, tables, targetGroup);<a name="line.1519"></a>
-<span class="sourceLineNo">1520</span>        }<a name="line.1520"></a>
-<span class="sourceLineNo">1521</span>      }<a name="line.1521"></a>
-<span class="sourceLineNo">1522</span>    });<a name="line.1522"></a>
-<span class="sourceLineNo">1523</span>  }<a name="line.1523"></a>
-<span class="sourceLineNo">1524</span><a name="line.1524"></a>
-<span class="sourceLineNo">1525</span>  public void postMoveServersAndTables(final Set&lt;Address&gt; servers, final Set&lt;TableName&gt; tables, final String targetGroup)<a name="line.1525"></a>
-<span class="sourceLineNo">1526</span>          throws IOException {<a name="line.1526"></a>
-<span class="sourceLineNo">1527</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1527"></a>
-<span class="sourceLineNo">1528</span>      @Override<a name="line.1528"></a>
-<span class="sourceLineNo">1529</span>      public void call(MasterObserver oserver,<a name="line.1529"></a>
-<span class="sourceLineNo">1530</span>                       ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1530"></a>
-<span class="sourceLineNo">1531</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1531"></a>
-<span class="sourceLineNo">1532</span>          oserver.postMoveServersAndTables(ctx, servers, tables, targetGroup);<a name="line.1532"></a>
-<span class="sourceLineNo">1533</span>        }<a name="line.1533"></a>
-<span class="sourceLineNo">1534</span>      }<a name="line.1534"></a>
-<span class="sourceLineNo">1535</span>    });<a name="line.1535"></a>
-<span class="sourceLineNo">1536</span>  }<a name="line.1536"></a>
-<span class="sourceLineNo">1537</span><a name="line.1537"></a>
-<span class="sourceLineNo">1538</span>  public void preMoveServers(final Set&lt;Address&gt; servers, final String targetGroup)<a name="line.1538"></a>
-<span class="sourceLineNo">1539</span>      throws IOException {<a name="line.1539"></a>
-<span class="sourceLineNo">1540</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1540"></a>
-<span class="sourceLineNo">1541</span>      @Override<a name="line.1541"></a>
-<span class="sourceLineNo">1542</span>      public void call(MasterObserver oserver,<a name="line.1542"></a>
-<span class="sourceLineNo">1543</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1543"></a>
-<span class="sourceLineNo">1544</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1544"></a>
-<span class="sourceLineNo">1545</span>          oserver.preMoveServers(ctx, servers, targetGroup);<a name="line.1545"></a>
-<span class="sourceLineNo">1546</span>        }<a name="line.1546"></a>
-<span class="sourceLineNo">1547</span>      }<a name="line.1547"></a>
-<span class="sourceLineNo">1548</span>    });<a name="line.1548"></a>
-<span class="sourceLineNo">1549</span>  }<a name="line.1549"></a>
-<span class="sourceLineNo">1550</span><a name="line.1550"></a>
-<span class="sourceLineNo">1551</span>  public void postMoveServers(final Set&lt;Address&gt; servers, final String targetGroup)<a name="line.1551"></a>
-<span class="sourceLineNo">1552</span>      throws IOException {<a name="line.1552"></a>
-<span class="sourceLineNo">1553</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1553"></a>
-<span class="sourceLineNo">1554</span>      @Override<a name="line.1554"></a>
-<span class="sourceLineNo">1555</span>      public void call(MasterObserver oserver,<a name="line.1555"></a>
-<span class="sourceLineNo">1556</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1556"></a>
-<span class="sourceLineNo">1557</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1557"></a>
-<span class="sourceLineNo">1558</span>          oserver.postMoveServers(ctx, servers, targetGroup);<a name="line.1558"></a>
-<span class="sourceLineNo">1559</span>        }<a name="line.1559"></a>
-<span class="sourceLineNo">1560</span>      }<a name="line.1560"></a>
-<span class="sourceLineNo">1561</span>    });<a name="line.1561"></a>
-<span class="sourceLineNo">1562</span>  }<a name="line.1562"></a>
-<span class="sourceLineNo">1563</span><a name="line.1563"></a>
-<span class="sourceLineNo">1564</span>  public void preMoveTables(final Set&lt;TableName&gt; tables, final String targetGroup)<a name="line.1564"></a>
-<span class="sourceLineNo">1565</span>      throws IOException {<a name="line.1565"></a>
-<span class="sourceLineNo">1566</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1566"></a>
-<span class="sourceLineNo">1567</span>      @Override<a name="line.1567"></a>
-<span class="sourceLineNo">1568</span>      public void call(MasterObserver oserver,<a name="line.1568"></a>
-<span class="sourceLineNo">1569</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1569"></a>
-<span class="sourceLineNo">1570</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1570"></a>
-<span class="sourceLineNo">1571</span>          oserver.preMoveTables(ctx, tables, targetGroup);<a name="line.1571"></a>
-<span class="sourceLineNo">1572</span>        }<a name="line.1572"></a>
-<span class="sourceLineNo">1573</span>      }<a name="line.1573"></a>
-<span class="sourceLineNo">1574</span>    });<a name="line.1574"></a>
-<span class="sourceLineNo">1575</span>  }<a name="line.1575"></a>
-<span class="sourceLineNo">1576</span><a name="line.1576"></a>
-<span class="sourceLineNo">1577</span>  public void postMoveTables(final Set&lt;TableName&gt; tables, final String targetGroup)<a name="line.1577"></a>
-<span class="sourceLineNo">1578</span>      throws IOException {<a name="line.1578"></a>
-<span class="sourceLineNo">1579</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1579"></a>
-<span class="sourceLineNo">1580</span>      @Override<a name="line.1580"></a>
-<span class="sourceLineNo">1581</span>      public void call(MasterObserver oserver,<a name="line.1581"></a>
-<span class="sourceLineNo">1582</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1582"></a>
-<span class="sourceLineNo">1583</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1583"></a>
-<span class="sourceLineNo">1584</span>          oserver.postMoveTables(ctx, tables, targetGroup);<a name="line.1584"></a>
-<span class="sourceLineNo">1585</span>        }<a name="line.1585"></a>
-<span class="sourceLineNo">1586</span>      }<a name="line.1586"></a>
-<span class="sourceLineNo">1587</span>    });<a name="line.1587"></a>
-<span class="sourceLineNo">1588</span>  }<a name="line.1588"></a>
-<span class="sourceLineNo">1589</span><a name="line.1589"></a>
-<span class="sourceLineNo">1590</span>  public void preAddRSGroup(final String name)<a name="line.1590"></a>
-<span class="sourceLineNo">1591</span>      throws IOException {<a name="line.1591"></a>
-<span class="sourceLineNo">1592</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1592"></a>
-<span class="sourceLineNo">1593</span>      @Override<a name="line.1593"></a>
-<span class="sourceLineNo">1594</span>      public void call(MasterObserver oserver,<a name="line.1594"></a>
-<span class="sourceLineNo">1595</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1595"></a>
-<span class="sourceLineNo">1596</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1596"></a>
-<span class="sourceLineNo">1597</span>          oserver.preAddRSGroup(ctx, name);<a name="line.1597"></a>
-<span class="sourceLineNo">1598</span>        }<a name="line.1598"></a>
-<span class="sourceLineNo">1599</span>      }<a name="line.1599"></a>
-<span class="sourceLineNo">1600</span>    });<a name="line.1600"></a>
-<span class="sourceLineNo">1601</span>  }<a name="line.1601"></a>
-<span class="sourceLineNo">1602</span><a name="line.1602"></a>
-<span class="sourceLineNo">1603</span>  public void postAddRSGroup(final String name)<a name="line.1603"></a>
-<span class="sourceLineNo">1604</span>      throws IOException {<a name="line.1604"></a>
-<span class="sourceLineNo">1605</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1605"></a>
-<span class="sourceLineNo">1606</span>      @Override<a name="line.1606"></a>
-<span class="sourceLineNo">1607</span>      public void call(MasterObserver oserver,<a name="line.1607"></a>
-<span class="sourceLineNo">1608</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1608"></a>
-<span class="sourceLineNo">1609</span>        if (((MasterEnvironment) ctx.getEnvironment()).supportGroupCPs) {<a name="line.1609"></a>
-<span class="sourceLineNo">1610</span>          oserver.postAddRSGroup(ctx, name);<a name="line.1610"></a>
-<span class="sourceLineNo">1611</span>        }<a name="line.1611"></a>
-<span class="sourceLineNo">1612</span>      }<a name="line.1612"></a>
-<span class="sourceLineNo">1613</span>    });<a name="line.1613"></a>
-<span class="sourceLineNo">1614</span>  }<a name="line.1614"></a>
-<span class="sourceLineNo">1615</span><a name="line.1615"></a>
-<span class="sourceLineNo">1616</span>  public void preRemoveRSGroup(final String name)<a name="line.1616"></a>
-<span class="sourceLineNo">1617</span>      throws IOException {<a name="line.1617"></a>
-<span class="sourceLineNo">1618</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1618"></a>
-<span class="sourceLineNo">1619</span>      @Override<a name="line.1619"></a>
-<span class="sourceLineNo">1620</span>      public void call(MasterObserver oserver,<a name="line.1620"></a>
-<span class="sourceLineNo">1621</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1621"></a>
-<span class="sourceLineNo">1622</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1622"></a>
-<span class="sourceLineNo">1623</span>          oserver.preRemoveRSGroup(ctx, name);<a name="line.1623"></a>
-<span class="sourceLineNo">1624</span>        }<a name="line.1624"></a>
-<span class="sourceLineNo">1625</span>      }<a name="line.1625"></a>
-<span class="sourceLineNo">1626</span>    });<a name="line.1626"></a>
-<span class="sourceLineNo">1627</span>  }<a name="line.1627"></a>
-<span class="sourceLineNo">1628</span><a name="line.1628"></a>
-<span class="sourceLineNo">1629</span>  public void postRemoveRSGroup(final String name)<a name="line.1629"></a>
-<span class="sourceLineNo">1630</span>      throws IOException {<a name="line.1630"></a>
-<span class="sourceLineNo">1631</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1631"></a>
-<span class="sourceLineNo">1632</span>      @Override<a name="line.1632"></a>
-<span class="sourceLineNo">1633</span>      public void call(MasterObserver oserver,<a name="line.1633"></a>
-<span class="sourceLineNo">1634</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1634"></a>
-<span class="sourceLineNo">1635</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1635"></a>
-<span class="sourceLineNo">1636</span>          oserver.postRemoveRSGroup(ctx, name);<a name="line.1636"></a>
-<span class="sourceLineNo">1637</span>        }<a name="line.1637"></a>
-<span class="sourceLineNo">1638</span>      }<a name="line.1638"></a>
-<span class="sourceLineNo">1639</span>    });<a name="line.1639"></a>
-<span class="sourceLineNo">1640</span>  }<a name="line.1640"></a>
-<span class="sourceLineNo">1641</span><a name="line.1641"></a>
-<span class="sourceLineNo">1642</span>  public void preBalanceRSGroup(final String name)<a name="line.1642"></a>
-<span class="sourceLineNo">1643</span>      throws IOException {<a name="line.1643"></a>
-<span class="sourceLineNo">1644</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1644"></a>
-<span class="sourceLineNo">1645</span>      @Override<a name="line.1645"></a>
-<span class="sourceLineNo">1646</span>      public void call(MasterObserver oserver,<a name="line.1646"></a>
-<span class="sourceLineNo">1647</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1647"></a>
-<span class="sourceLineNo">1648</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1648"></a>
-<span class="sourceLineNo">1649</span>          oserver.preBalanceRSGroup(ctx, name);<a name="line.1649"></a>
-<span class="sourceLineNo">1650</span>        }<a name="line.1650"></a>
-<span class="sourceLineNo">1651</span>      }<a name="line.1651"></a>
-<span class="sourceLineNo">1652</span>    });<a name="line.1652"></a>
-<span class="sourceLineNo">1653</span>  }<a name="line.1653"></a>
-<span class="sourceLineNo">1654</span><a name="line.1654"></a>
-<span class="sourceLineNo">1655</span>  public void postBalanceRSGroup(final String name, final boolean balanceRan)<a name="line.1655"></a>
-<span class="sourceLineNo">1656</span>      throws IOException {<a name="line.1656"></a>
-<span class="sourceLineNo">1657</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1657"></a>
-<span class="sourceLineNo">1658</span>      @Override<a name="line.1658"></a>
-<span class="sourceLineNo">1659</span>      public void call(MasterObserver oserver,<a name="line.1659"></a>
-<span class="sourceLineNo">1660</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1660"></a>
-<span class="sourceLineNo">1661</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1661"></a>
-<span class="sourceLineNo">1662</span>          oserver.postBalanceRSGroup(ctx, name, balanceRan);<a name="line.1662"></a>
-<span class="sourceLineNo">1663</span>        }<a name="line.1663"></a>
-<span class="sourceLineNo">1664</span>      }<a name="line.1664"></a>
-<span class="sourceLineNo">1665</span>    });<a name="line.1665"></a>
-<span class="sourceLineNo">1666</span>  }<a name="line.1666"></a>
-<span class="sourceLineNo">1667</span><a name="line.1667"></a>
-<span class="sourceLineNo">1668</span>  public void preAddReplicationPeer(final String peerId, final ReplicationPeerConfig peerConfig)<a name="line.1668"></a>
-<span class="sourceLineNo">1669</span>      throws IOException {<a name="line.1669"></a>
-<span class="sourceLineNo">1670</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1670"></a>
-<span class="sourceLineNo">1671</span>      @Override<a name="line.1671"></a>
-<span class="sourceLineNo">1672</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1672"></a>
-<span class="sourceLineNo">1673</span>          throws IOException {<a name="line.1673"></a>
-<span class="sourceLineNo">1674</span>        observer.preAddReplicationPeer(ctx, peerId, peerConfig);<a name="line.1674"></a>
-<span class="sourceLineNo">1675</span>      }<a name="line.1675"></a>
-<span class="sourceLineNo">1676</span>    });<a name="line.1676"></a>
-<span class="sourceLineNo">1677</span>  }<a name="line.1677"></a>
-<span class="sourceLineNo">1678</span><a name="line.1678"></a>
-<span class="sourceLineNo">1679</span>  public void postAddReplicationPeer(final String peerId, final ReplicationPeerConfig peerConfig)<a name="line.1679"></a>
-<span class="sourceLineNo">1680</span>      throws IOException {<a name="line.1680"></a>
-<span class="sourceLineNo">1681</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1681"></a>
-<span class="sourceLineNo">1682</span>      @Override<a name="line.1682"></a>
-<span class="sourceLineNo">1683</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1683"></a>
-<span class="sourceLineNo">1684</span>          throws IOException {<a name="line.1684"></a>
-<span class="sourceLineNo">1685</span>        observer.postAddReplicationPeer(ctx, peerId, peerConfig);<a name="line.1685"></a>
-<span class="sourceLineNo">1686</span>      }<a name="line.1686"></a>
-<span class="sourceLineNo">1687</span>    });<a name="line.1687"></a>
-<span class="sourceLineNo">1688</span>  }<a name="line.1688"></a>
-<span class="sourceLineNo">1689</span><a name="line.1689"></a>
-<span class="sourceLineNo">1690</span>  public void preRemoveReplicationPeer(final String peerId) throws IOException {<a name="line.1690"></a>
+<span class="sourceLineNo">1429</span>    public void postEnvCall(MasterEnvironment env) {<a name="line.1429"></a>
+<span class="sourceLineNo">1430</span>    }<a name="line.1430"></a>
+<span class="sourceLineNo">1431</span>  }<a name="line.1431"></a>
+<span class="sourceLineNo">1432</span><a name="line.1432"></a>
+<span class="sourceLineNo">1433</span>  private static abstract class CoprocessorOperationWithResult&lt;T&gt; extends CoprocessorOperation {<a name="line.1433"></a>
+<span class="sourceLineNo">1434</span>    private T result = null;<a name="line.1434"></a>
+<span class="sourceLineNo">1435</span>    public void setResult(final T result) { this.result = result; }<a name="line.1435"></a>
+<span class="sourceLineNo">1436</span>    public T getResult() { return this.result; }<a name="line.1436"></a>
+<span class="sourceLineNo">1437</span>  }<a name="line.1437"></a>
+<span class="sourceLineNo">1438</span><a name="line.1438"></a>
+<span class="sourceLineNo">1439</span>  private &lt;T&gt; T execOperationWithResult(final T defaultValue,<a name="line.1439"></a>
+<span class="sourceLineNo">1440</span>      final CoprocessorOperationWithResult&lt;T&gt; ctx) throws IOException {<a name="line.1440"></a>
+<span class="sourceLineNo">1441</span>    if (ctx == null) return defaultValue;<a name="line.1441"></a>
+<span class="sourceLineNo">1442</span>    ctx.setResult(defaultValue);<a name="line.1442"></a>
+<span class="sourceLineNo">1443</span>    execOperation(ctx);<a name="line.1443"></a>
+<span class="sourceLineNo">1444</span>    return ctx.getResult();<a name="line.1444"></a>
+<span class="sourceLineNo">1445</span>  }<a name="line.1445"></a>
+<span class="sourceLineNo">1446</span><a name="line.1446"></a>
+<span class="sourceLineNo">1447</span>  private boolean execOperation(final CoprocessorOperation ctx) throws IOException {<a name="line.1447"></a>
+<span class="sourceLineNo">1448</span>    if (ctx == null) return false;<a name="line.1448"></a>
+<span class="sourceLineNo">1449</span>    boolean bypass = false;<a name="line.1449"></a>
+<span class="sourceLineNo">1450</span>    List&lt;MasterEnvironment&gt; envs = coprocessors.get();<a name="line.1450"></a>
+<span class="sourceLineNo">1451</span>    for (int i = 0; i &lt; envs.size(); i++) {<a name="line.1451"></a>
+<span class="sourceLineNo">1452</span>      MasterEnvironment env = envs.get(i);<a name="line.1452"></a>
+<span class="sourceLineNo">1453</span>      if (env.getInstance() instanceof MasterObserver) {<a name="line.1453"></a>
+<span class="sourceLineNo">1454</span>        ctx.prepare(env);<a name="line.1454"></a>
+<span class="sourceLineNo">1455</span>        Thread currentThread = Thread.currentThread();<a name="line.1455"></a>
+<span class="sourceLineNo">1456</span>        ClassLoader cl = currentThread.getContextClassLoader();<a name="line.1456"></a>
+<span class="sourceLineNo">1457</span>        try {<a name="line.1457"></a>
+<span class="sourceLineNo">1458</span>          currentThread.setContextClassLoader(env.getClassLoader());<a name="line.1458"></a>
+<span class="sourceLineNo">1459</span>          ctx.call((MasterObserver)env.getInstance(), ctx);<a name="line.1459"></a>
+<span class="sourceLineNo">1460</span>        } catch (Throwable e) {<a name="line.1460"></a>
+<span class="sourceLineNo">1461</span>          handleCoprocessorThrowable(env, e);<a name="line.1461"></a>
+<span class="sourceLineNo">1462</span>        } finally {<a name="line.1462"></a>
+<span class="sourceLineNo">1463</span>          currentThread.setContextClassLoader(cl);<a name="line.1463"></a>
+<span class="sourceLineNo">1464</span>        }<a name="line.1464"></a>
+<span class="sourceLineNo">1465</span>        bypass |= ctx.shouldBypass();<a name="line.1465"></a>
+<span class="sourceLineNo">1466</span>        if (ctx.shouldComplete()) {<a name="line.1466"></a>
+<span class="sourceLineNo">1467</span>          break;<a name="line.1467"></a>
+<span class="sourceLineNo">1468</span>        }<a name="line.1468"></a>
+<span class="sourceLineNo">1469</span>      }<a name="line.1469"></a>
+<span class="sourceLineNo">1470</span>      ctx.postEnvCall(env);<a name="line.1470"></a>
+<span class="sourceLineNo">1471</span>    }<a name="line.1471"></a>
+<span class="sourceLineNo">1472</span>    return bypass;<a name="line.1472"></a>
+<span class="sourceLineNo">1473</span>  }<a name="line.1473"></a>
+<span class="sourceLineNo">1474</span><a name="line.1474"></a>
+<span class="sourceLineNo">1475</span>  /**<a name="line.1475"></a>
+<span class="sourceLineNo">1476</span>   * Master coprocessor classes can be configured in any order, based on that priority is set and<a name="line.1476"></a>
+<span class="sourceLineNo">1477</span>   * chained in a sorted order. For preStopMaster()/preShutdown(), coprocessor methods are invoked<a name="line.1477"></a>
+<span class="sourceLineNo">1478</span>   * in call() and environment is shutdown in postEnvCall(). &lt;br&gt;<a name="line.1478"></a>
+<span class="sourceLineNo">1479</span>   * Need to execute all coprocessor methods first then postEnvCall(), otherwise some coprocessors<a name="line.1479"></a>
+<span class="sourceLineNo">1480</span>   * may remain shutdown if any exception occurs during next coprocessor execution which prevent<a name="line.1480"></a>
+<span class="sourceLineNo">1481</span>   * Master stop or cluster shutdown. (Refer:<a name="line.1481"></a>
+<span class="sourceLineNo">1482</span>   * &lt;a href="https://issues.apache.org/jira/browse/HBASE-16663"&gt;HBASE-16663&lt;/a&gt;<a name="line.1482"></a>
+<span class="sourceLineNo">1483</span>   * @param ctx CoprocessorOperation<a name="line.1483"></a>
+<span class="sourceLineNo">1484</span>   * @return true if bypaas coprocessor execution, false if not.<a name="line.1484"></a>
+<span class="sourceLineNo">1485</span>   * @throws IOException<a name="line.1485"></a>
+<span class="sourceLineNo">1486</span>   */<a name="line.1486"></a>
+<span class="sourceLineNo">1487</span>  private boolean execShutdown(final CoprocessorOperation ctx) throws IOException {<a name="line.1487"></a>
+<span class="sourceLineNo">1488</span>    if (ctx == null) return false;<a name="line.1488"></a>
+<span class="sourceLineNo">1489</span>    boolean bypass = false;<a name="line.1489"></a>
+<span class="sourceLineNo">1490</span>    List&lt;MasterEnvironment&gt; envs = coprocessors.get();<a name="line.1490"></a>
+<span class="sourceLineNo">1491</span>    int envsSize = envs.size();<a name="line.1491"></a>
+<span class="sourceLineNo">1492</span>    // Iterate the coprocessors and execute CoprocessorOperation's call()<a name="line.1492"></a>
+<span class="sourceLineNo">1493</span>    for (int i = 0; i &lt; envsSize; i++) {<a name="line.1493"></a>
+<span class="sourceLineNo">1494</span>      MasterEnvironment env = envs.get(i);<a name="line.1494"></a>
+<span class="sourceLineNo">1495</span>      if (env.getInstance() instanceof MasterObserver) {<a name="line.1495"></a>
+<span class="sourceLineNo">1496</span>        ctx.prepare(env);<a name="line.1496"></a>
+<span class="sourceLineNo">1497</span>        Thread currentThread = Thread.currentThread();<a name="line.1497"></a>
+<span class="sourceLineNo">1498</span>        ClassLoader cl = currentThread.getContextClassLoader();<a name="line.1498"></a>
+<span class="sourceLineNo">1499</span>        try {<a name="line.1499"></a>
+<span class="sourceLineNo">1500</span>          currentThread.setContextClassLoader(env.getClassLoader());<a name="line.1500"></a>
+<span class="sourceLineNo">1501</span>          ctx.call((MasterObserver) env.getInstance(), ctx);<a name="line.1501"></a>
+<span class="sourceLineNo">1502</span>        } catch (Throwable e) {<a name="line.1502"></a>
+<span class="sourceLineNo">1503</span>          handleCoprocessorThrowable(env, e);<a name="line.1503"></a>
+<span class="sourceLineNo">1504</span>        } finally {<a name="line.1504"></a>
+<span class="sourceLineNo">1505</span>          currentThread.setContextClassLoader(cl);<a name="line.1505"></a>
+<span class="sourceLineNo">1506</span>        }<a name="line.1506"></a>
+<span class="sourceLineNo">1507</span>        bypass |= ctx.shouldBypass();<a name="line.1507"></a>
+<span class="sourceLineNo">1508</span>        if (ctx.shouldComplete()) {<a name="line.1508"></a>
+<span class="sourceLineNo">1509</span>          break;<a name="line.1509"></a>
+<span class="sourceLineNo">1510</span>        }<a name="line.1510"></a>
+<span class="sourceLineNo">1511</span>      }<a name="line.1511"></a>
+<span class="sourceLineNo">1512</span>    }<a name="line.1512"></a>
+<span class="sourceLineNo">1513</span><a name="line.1513"></a>
+<span class="sourceLineNo">1514</span>    // Iterate the coprocessors and execute CoprocessorOperation's postEnvCall()<a name="line.1514"></a>
+<span class="sourceLineNo">1515</span>    for (int i = 0; i &lt; envsSize; i++) {<a name="line.1515"></a>
+<span class="sourceLineNo">1516</span>      MasterEnvironment env = envs.get(i);<a name="line.1516"></a>
+<span class="sourceLineNo">1517</span>      ctx.postEnvCall(env);<a name="line.1517"></a>
+<span class="sourceLineNo">1518</span>    }<a name="line.1518"></a>
+<span class="sourceLineNo">1519</span>    return bypass;<a name="line.1519"></a>
+<span class="sourceLineNo">1520</span>  }<a name="line.1520"></a>
+<span class="sourceLineNo">1521</span><a name="line.1521"></a>
+<span class="sourceLineNo">1522</span>  public void preMoveServersAndTables(final Set&lt;Address&gt; servers, final Set&lt;TableName&gt; tables, final String targetGroup)<a name="line.1522"></a>
+<span class="sourceLineNo">1523</span>          throws IOException {<a name="line.1523"></a>
+<span class="sourceLineNo">1524</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1524"></a>
+<span class="sourceLineNo">1525</span>      @Override<a name="line.1525"></a>
+<span class="sourceLineNo">1526</span>      public void call(MasterObserver oserver,<a name="line.1526"></a>
+<span class="sourceLineNo">1527</span>                       ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1527"></a>
+<span class="sourceLineNo">1528</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1528"></a>
+<span class="sourceLineNo">1529</span>          oserver.preMoveServersAndTables(ctx, servers, tables, targetGroup);<a name="line.1529"></a>
+<span class="sourceLineNo">1530</span>        }<a name="line.1530"></a>
+<span class="sourceLineNo">1531</span>      }<a name="line.1531"></a>
+<span class="sourceLineNo">1532</span>    });<a name="line.1532"></a>
+<span class="sourceLineNo">1533</span>  }<a name="line.1533"></a>
+<span class="sourceLineNo">1534</span><a name="line.1534"></a>
+<span class="sourceLineNo">1535</span>  public void postMoveServersAndTables(final Set&lt;Address&gt; servers, final Set&lt;TableName&gt; tables, final String targetGroup)<a name="line.1535"></a>
+<span class="sourceLineNo">1536</span>          throws IOException {<a name="line.1536"></a>
+<span class="sourceLineNo">1537</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1537"></a>
+<span class="sourceLineNo">1538</span>      @Override<a name="line.1538"></a>
+<span class="sourceLineNo">1539</span>      public void call(MasterObserver oserver,<a name="line.1539"></a>
+<span class="sourceLineNo">1540</span>                       ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1540"></a>
+<span class="sourceLineNo">1541</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1541"></a>
+<span class="sourceLineNo">1542</span>          oserver.postMoveServersAndTables(ctx, servers, tables, targetGroup);<a name="line.1542"></a>
+<span class="sourceLineNo">1543</span>        }<a name="line.1543"></a>
+<span class="sourceLineNo">1544</span>      }<a name="line.1544"></a>
+<span class="sourceLineNo">1545</span>    });<a name="line.1545"></a>
+<span class="sourceLineNo">1546</span>  }<a name="line.1546"></a>
+<span class="sourceLineNo">1547</span><a name="line.1547"></a>
+<span class="sourceLineNo">1548</span>  public void preMoveServers(final Set&lt;Address&gt; servers, final String targetGroup)<a name="line.1548"></a>
+<span class="sourceLineNo">1549</span>      throws IOException {<a name="line.1549"></a>
+<span class="sourceLineNo">1550</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1550"></a>
+<span class="sourceLineNo">1551</span>      @Override<a name="line.1551"></a>
+<span class="sourceLineNo">1552</span>      public void call(MasterObserver oserver,<a name="line.1552"></a>
+<span class="sourceLineNo">1553</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1553"></a>
+<span class="sourceLineNo">1554</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1554"></a>
+<span class="sourceLineNo">1555</span>          oserver.preMoveServers(ctx, servers, targetGroup);<a name="line.1555"></a>
+<span class="sourceLineNo">1556</span>        }<a name="line.1556"></a>
+<span class="sourceLineNo">1557</span>      }<a name="line.1557"></a>
+<span class="sourceLineNo">1558</span>    });<a name="line.1558"></a>
+<span class="sourceLineNo">1559</span>  }<a name="line.1559"></a>
+<span class="sourceLineNo">1560</span><a name="line.1560"></a>
+<span class="sourceLineNo">1561</span>  public void postMoveServers(final Set&lt;Address&gt; servers, final String targetGroup)<a name="line.1561"></a>
+<span class="sourceLineNo">1562</span>      throws IOException {<a name="line.1562"></a>
+<span class="sourceLineNo">1563</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1563"></a>
+<span class="sourceLineNo">1564</span>      @Override<a name="line.1564"></a>
+<span class="sourceLineNo">1565</span>      public void call(MasterObserver oserver,<a name="line.1565"></a>
+<span class="sourceLineNo">1566</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1566"></a>
+<span class="sourceLineNo">1567</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1567"></a>
+<span class="sourceLineNo">1568</span>          oserver.postMoveServers(ctx, servers, targetGroup);<a name="line.1568"></a>
+<span class="sourceLineNo">1569</span>        }<a name="line.1569"></a>
+<span class="sourceLineNo">1570</span>      }<a name="line.1570"></a>
+<span class="sourceLineNo">1571</span>    });<a name="line.1571"></a>
+<span class="sourceLineNo">1572</span>  }<a name="line.1572"></a>
+<span class="sourceLineNo">1573</span><a name="line.1573"></a>
+<span class="sourceLineNo">1574</span>  public void preMoveTables(final Set&lt;TableName&gt; tables, final String targetGroup)<a name="line.1574"></a>
+<span class="sourceLineNo">1575</span>      throws IOException {<a name="line.1575"></a>
+<span class="sourceLineNo">1576</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1576"></a>
+<span class="sourceLineNo">1577</span>      @Override<a name="line.1577"></a>
+<span class="sourceLineNo">1578</span>      public void call(MasterObserver oserver,<a name="line.1578"></a>
+<span class="sourceLineNo">1579</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1579"></a>
+<span class="sourceLineNo">1580</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1580"></a>
+<span class="sourceLineNo">1581</span>          oserver.preMoveTables(ctx, tables, targetGroup);<a name="line.1581"></a>
+<span class="sourceLineNo">1582</span>        }<a name="line.1582"></a>
+<span class="sourceLineNo">1583</span>      }<a name="line.1583"></a>
+<span class="sourceLineNo">1584</span>    });<a name="line.1584"></a>
+<span class="sourceLineNo">1585</span>  }<a name="line.1585"></a>
+<span class="sourceLineNo">1586</span><a name="line.1586"></a>
+<span class="sourceLineNo">1587</span>  public void postMoveTables(final Set&lt;TableName&gt; tables, final String targetGroup)<a name="line.1587"></a>
+<span class="sourceLineNo">1588</span>      throws IOException {<a name="line.1588"></a>
+<span class="sourceLineNo">1589</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1589"></a>
+<span class="sourceLineNo">1590</span>      @Override<a name="line.1590"></a>
+<span class="sourceLineNo">1591</span>      public void call(MasterObserver oserver,<a name="line.1591"></a>
+<span class="sourceLineNo">1592</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1592"></a>
+<span class="sourceLineNo">1593</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1593"></a>
+<span class="sourceLineNo">1594</span>          oserver.postMoveTables(ctx, tables, targetGroup);<a name="line.1594"></a>
+<span class="sourceLineNo">1595</span>        }<a name="line.1595"></a>
+<span class="sourceLineNo">1596</span>      }<a name="line.1596"></a>
+<span class="sourceLineNo">1597</span>    });<a name="line.1597"></a>
+<span class="sourceLineNo">1598</span>  }<a name="line.1598"></a>
+<span class="sourceLineNo">1599</span><a name="line.1599"></a>
+<span class="sourceLineNo">1600</span>  public void preAddRSGroup(final String name)<a name="line.1600"></a>
+<span class="sourceLineNo">1601</span>      throws IOException {<a name="line.1601"></a>
+<span class="sourceLineNo">1602</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1602"></a>
+<span class="sourceLineNo">1603</span>      @Override<a name="line.1603"></a>
+<span class="sourceLineNo">1604</span>      public void call(MasterObserver oserver,<a name="line.1604"></a>
+<span class="sourceLineNo">1605</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1605"></a>
+<span class="sourceLineNo">1606</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1606"></a>
+<span class="sourceLineNo">1607</span>          oserver.preAddRSGroup(ctx, name);<a name="line.1607"></a>
+<span class="sourceLineNo">1608</span>        }<a name="line.1608"></a>
+<span class="sourceLineNo">1609</span>      }<a name="line.1609"></a>
+<span class="sourceLineNo">1610</span>    });<a name="line.1610"></a>
+<span class="sourceLineNo">1611</span>  }<a name="line.1611"></a>
+<span class="sourceLineNo">1612</span><a name="line.1612"></a>
+<span class="sourceLineNo">1613</span>  public void postAddRSGroup(final String name)<a name="line.1613"></a>
+<span class="sourceLineNo">1614</span>      throws IOException {<a name="line.1614"></a>
+<span class="sourceLineNo">1615</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1615"></a>
+<span class="sourceLineNo">1616</span>      @Override<a name="line.1616"></a>
+<span class="sourceLineNo">1617</span>      public void call(MasterObserver oserver,<a name="line.1617"></a>
+<span class="sourceLineNo">1618</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1618"></a>
+<span class="sourceLineNo">1619</span>        if (((MasterEnvironment) ctx.getEnvironment()).supportGroupCPs) {<a name="line.1619"></a>
+<span class="sourceLineNo">1620</span>          oserver.postAddRSGroup(ctx, name);<a name="line.1620"></a>
+<span class="sourceLineNo">1621</span>        }<a name="line.1621"></a>
+<span class="sourceLineNo">1622</span>      }<a name="line.1622"></a>
+<span class="sourceLineNo">1623</span>    });<a name="line.1623"></a>
+<span class="sourceLineNo">1624</span>  }<a name="line.1624"></a>
+<span class="sourceLineNo">1625</span><a name="line.1625"></a>
+<span class="sourceLineNo">1626</span>  public void preRemoveRSGroup(final String name)<a name="line.1626"></a>
+<span class="sourceLineNo">1627</span>      throws IOException {<a name="line.1627"></a>
+<span class="sourceLineNo">1628</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1628"></a>
+<span class="sourceLineNo">1629</span>      @Override<a name="line.1629"></a>
+<span class="sourceLineNo">1630</span>      public void call(MasterObserver oserver,<a name="line.1630"></a>
+<span class="sourceLineNo">1631</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1631"></a>
+<span class="sourceLineNo">1632</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1632"></a>
+<span class="sourceLineNo">1633</span>          oserver.preRemoveRSGroup(ctx, name);<a name="line.1633"></a>
+<span class="sourceLineNo">1634</span>        }<a name="line.1634"></a>
+<span class="sourceLineNo">1635</span>      }<a name="line.1635"></a>
+<span class="sourceLineNo">1636</span>    });<a name="line.1636"></a>
+<span class="sourceLineNo">1637</span>  }<a name="line.1637"></a>
+<span class="sourceLineNo">1638</span><a name="line.1638"></a>
+<span class="sourceLineNo">1639</span>  public void postRemoveRSGroup(final String name)<a name="line.1639"></a>
+<span class="sourceLineNo">1640</span>      throws IOException {<a name="line.1640"></a>
+<span class="sourceLineNo">1641</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1641"></a>
+<span class="sourceLineNo">1642</span>      @Override<a name="line.1642"></a>
+<span class="sourceLineNo">1643</span>      public void call(MasterObserver oserver,<a name="line.1643"></a>
+<span class="sourceLineNo">1644</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1644"></a>
+<span class="sourceLineNo">1645</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1645"></a>
+<span class="sourceLineNo">1646</span>          oserver.postRemoveRSGroup(ctx, name);<a name="line.1646"></a>
+<span class="sourceLineNo">1647</span>        }<a name="line.1647"></a>
+<span class="sourceLineNo">1648</span>      }<a name="line.1648"></a>
+<span class="sourceLineNo">1649</span>    });<a name="line.1649"></a>
+<span class="sourceLineNo">1650</span>  }<a name="line.1650"></a>
+<span class="sourceLineNo">1651</span><a name="line.1651"></a>
+<span class="sourceLineNo">1652</span>  public void preBalanceRSGroup(final String name)<a name="line.1652"></a>
+<span class="sourceLineNo">1653</span>      throws IOException {<a name="line.1653"></a>
+<span class="sourceLineNo">1654</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1654"></a>
+<span class="sourceLineNo">1655</span>      @Override<a name="line.1655"></a>
+<span class="sourceLineNo">1656</span>      public void call(MasterObserver oserver,<a name="line.1656"></a>
+<span class="sourceLineNo">1657</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1657"></a>
+<span class="sourceLineNo">1658</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1658"></a>
+<span class="sourceLineNo">1659</span>          oserver.preBalanceRSGroup(ctx, name);<a name="line.1659"></a>
+<span class="sourceLineNo">1660</span>        }<a name="line.1660"></a>
+<span class="sourceLineNo">1661</span>      }<a name="line.1661"></a>
+<span class="sourceLineNo">1662</span>    });<a name="line.1662"></a>
+<span class="sourceLineNo">1663</span>  }<a name="line.1663"></a>
+<span class="sourceLineNo">1664</span><a name="line.1664"></a>
+<span class="sourceLineNo">1665</span>  public void postBalanceRSGroup(final String name, final boolean balanceRan)<a name="line.1665"></a>
+<span class="sourceLineNo">1666</span>      throws IOException {<a name="line.1666"></a>
+<span class="sourceLineNo">1667</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1667"></a>
+<span class="sourceLineNo">1668</span>      @Override<a name="line.1668"></a>
+<span class="sourceLineNo">1669</span>      public void call(MasterObserver oserver,<a name="line.1669"></a>
+<span class="sourceLineNo">1670</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1670"></a>
+<span class="sourceLineNo">1671</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1671"></a>
+<span class="sourceLineNo">1672</span>          oserver.postBalanceRSGroup(ctx, name, balanceRan);<a name="line.1672"></a>
+<span class="sourceLineNo">1673</span>        }<a name="line.1673"></a>
+<span class="sourceLineNo">1674</span>      }<a name="line.1674"></a>
+<span class="sourceLineNo">1675</span>    });<a name="line.1675"></a>
+<span class="sourceLineNo">1676</span>  }<a name="line.1676"></a>
+<span class="sourceLineNo">1677</span><a name="line.1677"></a>
+<span class="sourceLineNo">1678</span>  public void preAddReplicationPeer(final String peerId, final ReplicationPeerConfig peerConfig)<a name="line.1678"></a>
+<span class="sourceLineNo">1679</span>      throws IOException {<a name="line.1679"></a>
+<span class="sourceLineNo">1680</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1680"></a>
+<span class="sourceLineNo">1681</span>      @Override<a name="line.1681"></a>
+<span class="sourceLineNo">1682</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1682"></a>
+<span class="sourceLineNo">1683</span>          throws IOException {<a name="line.1683"></a>
+<span class="sourceLineNo">1684</span>        observer.preAddReplicationPeer(ctx, peerId, peerConfig);<a name="line.1684"></a>
+<span class="sourceLineNo">1685</span>      }<a name="line.1685"></a>
+<span class="sourceLineNo">1686</span>    });<a name="line.1686"></a>
+<span class="sourceLineNo">1687</span>  }<a name="line.1687"></a>
+<span class="sourceLineNo">1688</span><a name="line.1688"></a>
+<span class="sourceLineNo">1689</span>  public void postAddReplicationPeer(final String peerId, final ReplicationPeerConfig peerConfig)<a name="line.1689"></a>
+<span class="sourceLineNo">1690</span>      throws IOException {<a name="line.1690"></a>
 <span class="sourceLineNo">1691</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1691"></a>
 <span class="sourceLineNo">1692</span>      @Override<a name="line.1692"></a>
 <span class="sourceLineNo">1693</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1693"></a>
 <span class="sourceLineNo">1694</span>          throws IOException {<a name="line.1694"></a>
-<span class="sourceLineNo">1695</span>        observer.preRemoveReplicationPeer(ctx, peerId);<a name="line.1695"></a>
+<span class="sourceLineNo">1695</span>        observer.postAddReplicationPeer(ctx, peerId, peerConfig);<a name="line.1695"></a>
 <span class="sourceLineNo">1696</span>      }<a name="line.1696"></a>
 <span class="sourceLineNo">1697</span>    });<a name="line.1697"></a>
 <span class="sourceLineNo">1698</span>  }<a name="line.1698"></a>
 <span class="sourceLineNo">1699</span><a name="line.1699"></a>
-<span class="sourceLineNo">1700</span>  public void postRemoveReplicationPeer(final String peerId) throws IOException {<a name="line.1700"></a>
+<span class="sourceLineNo">1700</span>  public void preRemoveReplicationPeer(final String peerId) throws IOException {<a name="line.1700"></a>
 <span class="sourceLineNo">1701</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1701"></a>
 <span class="sourceLineNo">1702</span>      @Override<a name="line.1702"></a>
 <span class="sourceLineNo">1703</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1703"></a>
 <span class="sourceLineNo">1704</span>          throws IOException {<a name="line.1704"></a>
-<span class="sourceLineNo">1705</span>        observer.postRemoveReplicationPeer(ctx, peerId);<a name="line.1705"></a>
+<span class="sourceLineNo">1705</span>        observer.preRemoveReplicationPeer(ctx, peerId);<a name="line.1705"></a>
 <span class="sourceLineNo">1706</span>      }<a name="line.1706"></a>
 <span class="sourceLineNo">1707</span>    });<a name="line.1707"></a>
 <span class="sourceLineNo">1708</span>  }<a name="line.1708"></a>
 <span class="sourceLineNo">1709</span><a name="line.1709"></a>
-<span class="sourceLineNo">1710</span>  public void preEnableReplicationPeer(final String peerId) throws IOException {<a name="line.1710"></a>
+<span class="sourceLineNo">1710</span>  public void postRemoveReplicationPeer(final String peerId) throws IOException {<a name="line.1710"></a>
 <span class="sourceLineNo">1711</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1711"></a>
 <span class="sourceLineNo">1712</span>      @Override<a name="line.1712"></a>
 <span class="sourceLineNo">1713</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1713"></a>
 <span class="sourceLineNo">1714</span>          throws IOException {<a name="line.1714"></a>
-<span class="sourceLineNo">1715</span>        observer.preEnableReplicationPeer(ctx, peerId);<a name="line.1715"></a>
+<span class="sourceLineNo">1715</span>        observer.postRemoveReplicationPeer(ctx, peerId);<a name="line.1715"></a>
 <span class="sourceLineNo">1716</span>      }<a name="line.1716"></a>
 <span class="sourceLineNo">1717</span>    });<a name="line.1717"></a>
 <span class="sourceLineNo">1718</span>  }<a name="line.1718"></a>
 <span class="sourceLineNo">1719</span><a name="line.1719"></a>
-<span class="sourceLineNo">1720</span>  public void postEnableReplicationPeer(final String peerId) throws IOException {<a name="line.1720"></a>
+<span class="sourceLineNo">1720</span>  public void preEnableReplicationPeer(final String peerId) throws IOException {<a name="line.1720"></a>
 <span class="sourceLineNo">1721</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1721"></a>
 <span class="sourceLineNo">1722</span>      @Override<a name="line.1722"></a>
 <span class="sourceLineNo">1723</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1723"></a>
 <span class="sourceLineNo">1724</span>          throws IOException {<a name="line.1724"></a>
-<span class="sourceLineNo">1725</span>        observer.postEnableReplicationPeer(ctx, peerId);<a name="line.1725"></a>
+<span class="sourceLineNo">1725</span>        observer.preEnableReplicationPeer(ctx, peerId);<a name="line.1725"></a>
 <span class="sourceLineNo">1726</span>      }<a name="line.1726"></a>
 <span class="sourceLineNo">1727</span>    });<a name="line.1727"></a>
 <span class="sourceLineNo">1728</span>  }<a name="line.1728"></a>
 <span class="sourceLineNo">1729</span><a name="line.1729"></a>
-<span class="sourceLineNo">1730</span>  public void preDisableReplicationPeer(final String peerId) throws IOException {<a name="line.1730"></a>
+<span class="sourceLineNo">1730</span>  public void postEnableReplicationPeer(final String peerId) throws IOException {<a name="line.1730"></a>
 <span class="sourceLineNo">1731</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1731"></a>
 <span class="sourceLineNo">1732</span>      @Override<a name="line.1732"></a>
 <span class="sourceLineNo">1733</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1733"></a>
 <span class="sourceLineNo">1734</span>          throws IOException {<a name="line.1734"></a>
-<span class="sourceLineNo">1735</span>        observer.preDisableReplicationPeer(ctx, peerId);<a name="line.1735"></a>
+<span class="sourceLineNo">1735</span>        observer.postEnableReplicationPeer(ctx, peerId);<a name="line.1735"></a>
 <span class="sourceLineNo">1736</span>      }<a name="line.1736"></a>
 <span class="sourceLineNo">1737</span>    });<a name="line.1737"></a>
 <span class="sourceLineNo">1738</span>  }<a name="line.1738"></a>
 <span class="sourceLineNo">1739</span><a name="line.1739"></a>
-<span class="sourceLineNo">1740</span>  public void postDisableReplicationPeer(final String peerId) throws IOException {<a name="line.1740"></a>
+<span class="sourceLineNo">1740</span>  public void preDisableReplicationPeer(final String peerId) throws IOException {<a name="line.1740"></a>
 <span class="sourceLineNo">1741</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1741"></a>
 <span class="sourceLineNo">1742</span>      @Override<a name="line.1742"></a>
 <span class="sourceLineNo">1743</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1743"></a>
 <span class="sourceLineNo">1744</span>          throws IOException {<a name="line.1744"></a>
-<span class="sourceLineNo">1745</span>        observer.postDisableReplicationPeer(ctx, peerId);<a name="line.1745"></a>
+<span class="sourceLineNo">1745</span>        observer.preDisableReplicationPeer(ctx, peerId);<a name="line.1745"></a>
 <span class="sourceLineNo">1746</span>      }<a name="line.1746"></a>
 <span class="sourceLineNo">1747</span>    });<a name="line.1747"></a>
 <span class="sourceLineNo">1748</span>  }<a name="line.1748"></a>
 <span class="sourceLineNo">1749</span><a name="line.1749"></a>
-<span class="sourceLineNo">1750</span>  public void preGetReplicationPeerConfig(final String peerId) throws IOException {<a name="line.1750"></a>
+<span class="sourceLineNo">1750</span>  public void postDisableReplicationPeer(final String peerId) throws IOException {<a name="line.1750"></a>
 <span class="sourceLineNo">1751</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1751"></a>
 <span class="sourceLineNo">1752</span>      @Override<a name="line.1752"></a>
 <span class="sourceLineNo">1753</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1753"></a>
 <span class="sourceLineNo">1754</span>          throws IOException {<a name="line.1754"></a>
-<span class="sourceLineNo">1755</span>        observer.preGetReplicationPeerConfig(ctx, peerId);<a name="line.1755"></a>
+<span class="sourceLineNo">1755</span>        observer.postDisableReplicationPeer(ctx, peerId);<a name="

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/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 9857de6..a062260 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
@@ -5347,18 +5347,18 @@ service.</div>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetTableQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetTableQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                  <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-                 org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+                 <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called after the quota for the table is stored.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                 <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-                org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+                <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called after the quota for the user on the specified table is stored.</div>
 </td>
 </tr>
@@ -5497,18 +5497,18 @@ service.</div>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetTableQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetTableQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-                org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+                <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called before the quota for the table is stored.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+               <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called before the quota for the user on the specified table is stored.</div>
 </td>
 </tr>
@@ -6430,14 +6430,14 @@ service.</div>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postSetTableQuota-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetTableQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
-                 org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postSetTableQuota-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetTableQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+                 <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postSetUserQuota-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
+<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postSetUserQuota-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
                 <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
-                org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+                <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
@@ -6528,14 +6528,14 @@ service.</div>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preSetTableQuota-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetTableQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
-                org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preSetTableQuota-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetTableQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+                <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preSetUserQuota-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
+<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preSetUserQuota-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
                <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
-               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+               <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
@@ -8735,6 +8735,20 @@ service.</div>
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#GlobalQuotaSettings-java.lang.String-org.apache.hadoop.hbase.TableName-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">GlobalQuotaSettings</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;username,
+                   <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                   <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+                   org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#GlobalQuotaSettings-java.lang.String-org.apache.hadoop.hbase.TableName-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Throttle-java.lang.Boolean-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota-">GlobalQuotaSettings</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+                   <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                   <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+                   org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Throttle&nbsp;throttleProto,
+                   <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;bypassGlobals,
+                   org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota&nbsp;spaceProto)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html#QuotaGlobalsSettingsBypass-java.lang.String-org.apache.hadoop.hbase.TableName-java.lang.String-boolean-">QuotaGlobalsSettingsBypass</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                           <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
@@ -8756,6 +8770,11 @@ service.</div>
                   <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html" title="enum in org.apache.hadoop.hbase.quotas">SpaceViolationPolicy</a>&nbsp;violationPolicy)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#SpaceLimitSettings-org.apache.hadoop.hbase.TableName-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceLimitRequest-">SpaceLimitSettings</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+                  org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceLimitRequest&nbsp;req)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleSettings.html#ThrottleSettings-java.lang.String-org.apache.hadoop.hbase.TableName-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.ThrottleRequest-">ThrottleSettings</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                 <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
@@ -9916,16 +9935,16 @@ service.</div>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AccessController.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetTableQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">AccessController.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetTableQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-                org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+                <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AccessController.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">AccessController.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+               <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/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 a0a97bd..51a399a 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
@@ -547,25 +547,25 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Consistency.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Consistency</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RequestController.ReturnCode.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RequestController.ReturnCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Durability</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">CompactionState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRequestFutureImpl.Retry.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncRequestFutureImpl.Retry</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MasterSwitchType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">IsolationLevel</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/ScannerCallable.MoreResults.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">ScannerCallable.MoreResults</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncProcessTask.SubmittedRows.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncProcessTask.SubmittedRows</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">CompactType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AbstractResponse.ResponseType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AbstractResponse.ResponseType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">CompactionState</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">SnapshotType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/ScannerCallable.MoreResults.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">ScannerCallable.MoreResults</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/MobCompactPartitionPolicy.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MobCompactPartitionPolicy</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Scan.ReadType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RegionLocateType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RegionLocateType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Durability</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Consistency.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Consistency</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncProcessTask.SubmittedRows.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncProcessTask.SubmittedRows</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.ReplicationState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">HBaseAdmin.ReplicationState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRequestFutureImpl.Retry.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncRequestFutureImpl.Retry</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RequestController.ReturnCode.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RequestController.ReturnCode</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">TableState.State</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AbstractResponse.ResponseType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AbstractResponse.ResponseType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RegionLocateType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RegionLocateType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Scan.ReadType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MasterSwitchType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">IsolationLevel</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</span></a></li>
 </ul>
 </li>
 </ul>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html
index 2a29b1c..3b0b6dd 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html
@@ -60,9 +60,9 @@
 <span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.procedure2.LockedResource;<a name="line.52"></a>
 <span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.procedure2.Procedure;<a name="line.53"></a>
 <span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.security.User;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.57"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.quotas.GlobalQuotaSettings;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.security.User;<a name="line.57"></a>
 <span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription;<a name="line.58"></a>
 <span class="sourceLineNo">059</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.59"></a>
 <span class="sourceLineNo">060</span><a name="line.60"></a>
@@ -1307,598 +1307,608 @@
 <span class="sourceLineNo">1299</span>    });<a name="line.1299"></a>
 <span class="sourceLineNo">1300</span>  }<a name="line.1300"></a>
 <span class="sourceLineNo">1301</span><a name="line.1301"></a>
-<span class="sourceLineNo">1302</span>  public void preSetUserQuota(final String user, final Quotas quotas) throws IOException {<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span>      @Override<a name="line.1304"></a>
-<span class="sourceLineNo">1305</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span>          throws IOException {<a name="line.1306"></a>
-<span class="sourceLineNo">1307</span>        oserver.preSetUserQuota(ctx, user, quotas);<a name="line.1307"></a>
-<span class="sourceLineNo">1308</span>      }<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span>    });<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span>  }<a name="line.1310"></a>
-<span class="sourceLineNo">1311</span><a name="line.1311"></a>
-<span class="sourceLineNo">1312</span>  public void postSetUserQuota(final String user, final Quotas quotas) throws IOException {<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span>      @Override<a name="line.1314"></a>
-<span class="sourceLineNo">1315</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1315"></a>
-<span class="sourceLineNo">1316</span>          throws IOException {<a name="line.1316"></a>
-<span class="sourceLineNo">1317</span>        oserver.postSetUserQuota(ctx, user, quotas);<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span>      }<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span>    });<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span>  }<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span><a name="line.1321"></a>
-<span class="sourceLineNo">1322</span>  public void preSetUserQuota(final String user, final TableName table, final Quotas quotas)<a name="line.1322"></a>
-<span class="sourceLineNo">1323</span>      throws IOException {<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1324"></a>
-<span class="sourceLineNo">1325</span>      @Override<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span>          throws IOException {<a name="line.1327"></a>
-<span class="sourceLineNo">1328</span>        oserver.preSetUserQuota(ctx, user, table, quotas);<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span>      }<a name="line.1329"></a>
-<span class="sourceLineNo">1330</span>    });<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span>  }<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span><a name="line.1332"></a>
-<span class="sourceLineNo">1333</span>  public void postSetUserQuota(final String user, final TableName table, final Quotas quotas)<a name="line.1333"></a>
-<span class="sourceLineNo">1334</span>      throws IOException {<a name="line.1334"></a>
-<span class="sourceLineNo">1335</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1335"></a>
-<span class="sourceLineNo">1336</span>      @Override<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1337"></a>
+<span class="sourceLineNo">1302</span>  public void preSetUserQuota(<a name="line.1302"></a>
+<span class="sourceLineNo">1303</span>      final String user, final GlobalQuotaSettings quotas) throws IOException {<a name="line.1303"></a>
+<span class="sourceLineNo">1304</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1304"></a>
+<span class="sourceLineNo">1305</span>      @Override<a name="line.1305"></a>
+<span class="sourceLineNo">1306</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1306"></a>
+<span class="sourceLineNo">1307</span>          throws IOException {<a name="line.1307"></a>
+<span class="sourceLineNo">1308</span>        oserver.preSetUserQuota(ctx, user, quotas);<a name="line.1308"></a>
+<span class="sourceLineNo">1309</span>      }<a name="line.1309"></a>
+<span class="sourceLineNo">1310</span>    });<a name="line.1310"></a>
+<span class="sourceLineNo">1311</span>  }<a name="line.1311"></a>
+<span class="sourceLineNo">1312</span><a name="line.1312"></a>
+<span class="sourceLineNo">1313</span>  public void postSetUserQuota(<a name="line.1313"></a>
+<span class="sourceLineNo">1314</span>      final String user, final GlobalQuotaSettings quotas) throws IOException {<a name="line.1314"></a>
+<span class="sourceLineNo">1315</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1315"></a>
+<span class="sourceLineNo">1316</span>      @Override<a name="line.1316"></a>
+<span class="sourceLineNo">1317</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1317"></a>
+<span class="sourceLineNo">1318</span>          throws IOException {<a name="line.1318"></a>
+<span class="sourceLineNo">1319</span>        oserver.postSetUserQuota(ctx, user, quotas);<a name="line.1319"></a>
+<span class="sourceLineNo">1320</span>      }<a name="line.1320"></a>
+<span class="sourceLineNo">1321</span>    });<a name="line.1321"></a>
+<span class="sourceLineNo">1322</span>  }<a name="line.1322"></a>
+<span class="sourceLineNo">1323</span><a name="line.1323"></a>
+<span class="sourceLineNo">1324</span>  public void preSetUserQuota(<a name="line.1324"></a>
+<span class="sourceLineNo">1325</span>      final String user, final TableName table, final GlobalQuotaSettings quotas)<a name="line.1325"></a>
+<span class="sourceLineNo">1326</span>          throws IOException {<a name="line.1326"></a>
+<span class="sourceLineNo">1327</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1327"></a>
+<span class="sourceLineNo">1328</span>      @Override<a name="line.1328"></a>
+<span class="sourceLineNo">1329</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1329"></a>
+<span class="sourceLineNo">1330</span>          throws IOException {<a name="line.1330"></a>
+<span class="sourceLineNo">1331</span>        oserver.preSetUserQuota(ctx, user, table, quotas);<a name="line.1331"></a>
+<span class="sourceLineNo">1332</span>      }<a name="line.1332"></a>
+<span class="sourceLineNo">1333</span>    });<a name="line.1333"></a>
+<span class="sourceLineNo">1334</span>  }<a name="line.1334"></a>
+<span class="sourceLineNo">1335</span><a name="line.1335"></a>
+<span class="sourceLineNo">1336</span>  public void postSetUserQuota(<a name="line.1336"></a>
+<span class="sourceLineNo">1337</span>      final String user, final TableName table, final GlobalQuotaSettings quotas)<a name="line.1337"></a>
 <span class="sourceLineNo">1338</span>          throws IOException {<a name="line.1338"></a>
-<span class="sourceLineNo">1339</span>        oserver.postSetUserQuota(ctx, user, table, quotas);<a name="line.1339"></a>
-<span class="sourceLineNo">1340</span>      }<a name="line.1340"></a>
-<span class="sourceLineNo">1341</span>    });<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span>  }<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span><a name="line.1343"></a>
-<span class="sourceLineNo">1344</span>  public void preSetUserQuota(final String user, final String namespace, final Quotas quotas)<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span>      throws IOException {<a name="line.1345"></a>
-<span class="sourceLineNo">1346</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1346"></a>
-<span class="sourceLineNo">1347</span>      @Override<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1348"></a>
-<span class="sourceLineNo">1349</span>          throws IOException {<a name="line.1349"></a>
-<span class="sourceLineNo">1350</span>        oserver.preSetUserQuota(ctx, user, namespace, quotas);<a name="line.1350"></a>
-<span class="sourceLineNo">1351</span>      }<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span>    });<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span>  }<a name="line.1353"></a>
-<span class="sourceLineNo">1354</span><a name="line.1354"></a>
-<span class="sourceLineNo">1355</span>  public void postSetUserQuota(final String user, final String namespace, final Quotas quotas)<a name="line.1355"></a>
-<span class="sourceLineNo">1356</span>      throws IOException {<a name="line.1356"></a>
-<span class="sourceLineNo">1357</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1357"></a>
-<span class="sourceLineNo">1358</span>      @Override<a name="line.1358"></a>
-<span class="sourceLineNo">1359</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1359"></a>
-<span class="sourceLineNo">1360</span>          throws IOException {<a name="line.1360"></a>
-<span class="sourceLineNo">1361</span>        oserver.postSetUserQuota(ctx, user, namespace, quotas);<a name="line.1361"></a>
-<span class="sourceLineNo">1362</span>      }<a name="line.1362"></a>
-<span class="sourceLineNo">1363</span>    });<a name="line.1363"></a>
-<span class="sourceLineNo">1364</span>  }<a name="line.1364"></a>
-<span class="sourceLineNo">1365</span><a name="line.1365"></a>
-<span class="sourceLineNo">1366</span>  public void preSetTableQuota(final TableName table, final Quotas quotas) throws IOException {<a name="line.1366"></a>
-<span class="sourceLineNo">1367</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1367"></a>
-<span class="sourceLineNo">1368</span>      @Override<a name="line.1368"></a>
-<span class="sourceLineNo">1369</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1369"></a>
-<span class="sourceLineNo">1370</span>          throws IOException {<a name="line.1370"></a>
-<span class="sourceLineNo">1371</span>        oserver.preSetTableQuota(ctx, table, quotas);<a name="line.1371"></a>
-<span class="sourceLineNo">1372</span>      }<a name="line.1372"></a>
-<span class="sourceLineNo">1373</span>    });<a name="line.1373"></a>
-<span class="sourceLineNo">1374</span>  }<a name="line.1374"></a>
-<span class="sourceLineNo">1375</span><a name="line.1375"></a>
-<span class="sourceLineNo">1376</span>  public void postSetTableQuota(final TableName table, final Quotas quotas) throws IOException {<a name="line.1376"></a>
-<span class="sourceLineNo">1377</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1377"></a>
-<span class="sourceLineNo">1378</span>      @Override<a name="line.1378"></a>
-<span class="sourceLineNo">1379</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1379"></a>
-<span class="sourceLineNo">1380</span>          throws IOException {<a name="line.1380"></a>
-<span class="sourceLineNo">1381</span>        oserver.postSetTableQuota(ctx, table, quotas);<a name="line.1381"></a>
-<span class="sourceLineNo">1382</span>      }<a name="line.1382"></a>
-<span class="sourceLineNo">1383</span>    });<a name="line.1383"></a>
-<span class="sourceLineNo">1384</span>  }<a name="line.1384"></a>
-<span class="sourceLineNo">1385</span><a name="line.1385"></a>
-<span class="sourceLineNo">1386</span>  public void preSetNamespaceQuota(final String namespace, final Quotas quotas) throws IOException {<a name="line.1386"></a>
-<span class="sourceLineNo">1387</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1387"></a>
-<span class="sourceLineNo">1388</span>      @Override<a name="line.1388"></a>
-<span class="sourceLineNo">1389</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1389"></a>
-<span class="sourceLineNo">1390</span>          throws IOException {<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span>        oserver.preSetNamespaceQuota(ctx, namespace, quotas);<a name="line.1391"></a>
-<span class="sourceLineNo">1392</span>      }<a name="line.1392"></a>
-<span class="sourceLineNo">1393</span>    });<a name="line.1393"></a>
-<span class="sourceLineNo">1394</span>  }<a name="line.1394"></a>
-<span class="sourceLineNo">1395</span><a name="line.1395"></a>
-<span class="sourceLineNo">1396</span>  public void postSetNamespaceQuota(final String namespace, final Quotas quotas) throws IOException{<a name="line.1396"></a>
-<span class="sourceLineNo">1397</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1397"></a>
-<span class="sourceLineNo">1398</span>      @Override<a name="line.1398"></a>
-<span class="sourceLineNo">1399</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1399"></a>
-<span class="sourceLineNo">1400</span>          throws IOException {<a name="line.1400"></a>
-<span class="sourceLineNo">1401</span>        oserver.postSetNamespaceQuota(ctx, namespace, quotas);<a name="line.1401"></a>
-<span class="sourceLineNo">1402</span>      }<a name="line.1402"></a>
-<span class="sourceLineNo">1403</span>    });<a name="line.1403"></a>
-<span class="sourceLineNo">1404</span>  }<a name="line.1404"></a>
-<span class="sourceLineNo">1405</span><a name="line.1405"></a>
-<span class="sourceLineNo">1406</span>  private static abstract class CoprocessorOperation<a name="line.1406"></a>
-<span class="sourceLineNo">1407</span>      extends ObserverContext&lt;MasterCoprocessorEnvironment&gt; {<a name="line.1407"></a>
-<span class="sourceLineNo">1408</span>    public CoprocessorOperation() {<a name="line.1408"></a>
-<span class="sourceLineNo">1409</span>      this(RpcServer.getRequestUser());<a name="line.1409"></a>
-<span class="sourceLineNo">1410</span>    }<a name="line.1410"></a>
-<span class="sourceLineNo">1411</span><a name="line.1411"></a>
-<span class="sourceLineNo">1412</span>    public CoprocessorOperation(User user) {<a name="line.1412"></a>
-<span class="sourceLineNo">1413</span>      super(user);<a name="line.1413"></a>
-<span class="sourceLineNo">1414</span>    }<a name="line.1414"></a>
+<span class="sourceLineNo">1339</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1339"></a>
+<span class="sourceLineNo">1340</span>      @Override<a name="line.1340"></a>
+<span class="sourceLineNo">1341</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1341"></a>
+<span class="sourceLineNo">1342</span>          throws IOException {<a name="line.1342"></a>
+<span class="sourceLineNo">1343</span>        oserver.postSetUserQuota(ctx, user, table, quotas);<a name="line.1343"></a>
+<span class="sourceLineNo">1344</span>      }<a name="line.1344"></a>
+<span class="sourceLineNo">1345</span>    });<a name="line.1345"></a>
+<span class="sourceLineNo">1346</span>  }<a name="line.1346"></a>
+<span class="sourceLineNo">1347</span><a name="line.1347"></a>
+<span class="sourceLineNo">1348</span>  public void preSetUserQuota(<a name="line.1348"></a>
+<span class="sourceLineNo">1349</span>      final String user, final String namespace, final GlobalQuotaSettings quotas)<a name="line.1349"></a>
+<span class="sourceLineNo">1350</span>          throws IOException {<a name="line.1350"></a>
+<span class="sourceLineNo">1351</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1351"></a>
+<span class="sourceLineNo">1352</span>      @Override<a name="line.1352"></a>
+<span class="sourceLineNo">1353</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1353"></a>
+<span class="sourceLineNo">1354</span>          throws IOException {<a name="line.1354"></a>
+<span class="sourceLineNo">1355</span>        oserver.preSetUserQuota(ctx, user, namespace, quotas);<a name="line.1355"></a>
+<span class="sourceLineNo">1356</span>      }<a name="line.1356"></a>
+<span class="sourceLineNo">1357</span>    });<a name="line.1357"></a>
+<span class="sourceLineNo">1358</span>  }<a name="line.1358"></a>
+<span class="sourceLineNo">1359</span><a name="line.1359"></a>
+<span class="sourceLineNo">1360</span>  public void postSetUserQuota(<a name="line.1360"></a>
+<span class="sourceLineNo">1361</span>      final String user, final String namespace, final GlobalQuotaSettings quotas)<a name="line.1361"></a>
+<span class="sourceLineNo">1362</span>          throws IOException {<a name="line.1362"></a>
+<span class="sourceLineNo">1363</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1363"></a>
+<span class="sourceLineNo">1364</span>      @Override<a name="line.1364"></a>
+<span class="sourceLineNo">1365</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1365"></a>
+<span class="sourceLineNo">1366</span>          throws IOException {<a name="line.1366"></a>
+<span class="sourceLineNo">1367</span>        oserver.postSetUserQuota(ctx, user, namespace, quotas);<a name="line.1367"></a>
+<span class="sourceLineNo">1368</span>      }<a name="line.1368"></a>
+<span class="sourceLineNo">1369</span>    });<a name="line.1369"></a>
+<span class="sourceLineNo">1370</span>  }<a name="line.1370"></a>
+<span class="sourceLineNo">1371</span><a name="line.1371"></a>
+<span class="sourceLineNo">1372</span>  public void preSetTableQuota(<a name="line.1372"></a>
+<span class="sourceLineNo">1373</span>      final TableName table, final GlobalQuotaSettings quotas) throws IOException {<a name="line.1373"></a>
+<span class="sourceLineNo">1374</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1374"></a>
+<span class="sourceLineNo">1375</span>      @Override<a name="line.1375"></a>
+<span class="sourceLineNo">1376</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1376"></a>
+<span class="sourceLineNo">1377</span>          throws IOException {<a name="line.1377"></a>
+<span class="sourceLineNo">1378</span>        oserver.preSetTableQuota(ctx, table, quotas);<a name="line.1378"></a>
+<span class="sourceLineNo">1379</span>      }<a name="line.1379"></a>
+<span class="sourceLineNo">1380</span>    });<a name="line.1380"></a>
+<span class="sourceLineNo">1381</span>  }<a name="line.1381"></a>
+<span class="sourceLineNo">1382</span><a name="line.1382"></a>
+<span class="sourceLineNo">1383</span>  public void postSetTableQuota(<a name="line.1383"></a>
+<span class="sourceLineNo">1384</span>      final TableName table, final GlobalQuotaSettings quotas) throws IOException {<a name="line.1384"></a>
+<span class="sourceLineNo">1385</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1385"></a>
+<span class="sourceLineNo">1386</span>      @Override<a name="line.1386"></a>
+<span class="sourceLineNo">1387</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1387"></a>
+<span class="sourceLineNo">1388</span>          throws IOException {<a name="line.1388"></a>
+<span class="sourceLineNo">1389</span>        oserver.postSetTableQuota(ctx, table, quotas);<a name="line.1389"></a>
+<span class="sourceLineNo">1390</span>      }<a name="line.1390"></a>
+<span class="sourceLineNo">1391</span>    });<a name="line.1391"></a>
+<span class="sourceLineNo">1392</span>  }<a name="line.1392"></a>
+<span class="sourceLineNo">1393</span><a name="line.1393"></a>
+<span class="sourceLineNo">1394</span>  public void preSetNamespaceQuota(<a name="line.1394"></a>
+<span class="sourceLineNo">1395</span>      final String namespace, final GlobalQuotaSettings quotas) throws IOException {<a name="line.1395"></a>
+<span class="sourceLineNo">1396</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1396"></a>
+<span class="sourceLineNo">1397</span>      @Override<a name="line.1397"></a>
+<span class="sourceLineNo">1398</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1398"></a>
+<span class="sourceLineNo">1399</span>          throws IOException {<a name="line.1399"></a>
+<span class="sourceLineNo">1400</span>        oserver.preSetNamespaceQuota(ctx, namespace, quotas);<a name="line.1400"></a>
+<span class="sourceLineNo">1401</span>      }<a name="line.1401"></a>
+<span class="sourceLineNo">1402</span>    });<a name="line.1402"></a>
+<span class="sourceLineNo">1403</span>  }<a name="line.1403"></a>
+<span class="sourceLineNo">1404</span><a name="line.1404"></a>
+<span class="sourceLineNo">1405</span>  public void postSetNamespaceQuota(<a name="line.1405"></a>
+<span class="sourceLineNo">1406</span>      final String namespace, final GlobalQuotaSettings quotas) throws IOException{<a name="line.1406"></a>
+<span class="sourceLineNo">1407</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1407"></a>
+<span class="sourceLineNo">1408</span>      @Override<a name="line.1408"></a>
+<span class="sourceLineNo">1409</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1409"></a>
+<span class="sourceLineNo">1410</span>          throws IOException {<a name="line.1410"></a>
+<span class="sourceLineNo">1411</span>        oserver.postSetNamespaceQuota(ctx, namespace, quotas);<a name="line.1411"></a>
+<span class="sourceLineNo">1412</span>      }<a name="line.1412"></a>
+<span class="sourceLineNo">1413</span>    });<a name="line.1413"></a>
+<span class="sourceLineNo">1414</span>  }<a name="line.1414"></a>
 <span class="sourceLineNo">1415</span><a name="line.1415"></a>
-<span class="sourceLineNo">1416</span>    public abstract void call(MasterObserver oserver,<a name="line.1416"></a>
-<span class="sourceLineNo">1417</span>        ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException;<a name="line.1417"></a>
-<span class="sourceLineNo">1418</span><a name="line.1418"></a>
-<span class="sourceLineNo">1419</span>    public void postEnvCall(MasterEnvironment env) {<a name="line.1419"></a>
+<span class="sourceLineNo">1416</span>  private static abstract class CoprocessorOperation<a name="line.1416"></a>
+<span class="sourceLineNo">1417</span>      extends ObserverContext&lt;MasterCoprocessorEnvironment&gt; {<a name="line.1417"></a>
+<span class="sourceLineNo">1418</span>    public CoprocessorOperation() {<a name="line.1418"></a>
+<span class="sourceLineNo">1419</span>      this(RpcServer.getRequestUser());<a name="line.1419"></a>
 <span class="sourceLineNo">1420</span>    }<a name="line.1420"></a>
-<span class="sourceLineNo">1421</span>  }<a name="line.1421"></a>
-<span class="sourceLineNo">1422</span><a name="line.1422"></a>
-<span class="sourceLineNo">1423</span>  private static abstract class CoprocessorOperationWithResult&lt;T&gt; extends CoprocessorOperation {<a name="line.1423"></a>
-<span class="sourceLineNo">1424</span>    private T result = null;<a name="line.1424"></a>
-<span class="sourceLineNo">1425</span>    public void setResult(final T result) { this.result = result; }<a name="line.1425"></a>
-<span class="sourceLineNo">1426</span>    public T getResult() { return this.result; }<a name="line.1426"></a>
-<span class="sourceLineNo">1427</span>  }<a name="line.1427"></a>
+<span class="sourceLineNo">1421</span><a name="line.1421"></a>
+<span class="sourceLineNo">1422</span>    public CoprocessorOperation(User user) {<a name="line.1422"></a>
+<span class="sourceLineNo">1423</span>      super(user);<a name="line.1423"></a>
+<span class="sourceLineNo">1424</span>    }<a name="line.1424"></a>
+<span class="sourceLineNo">1425</span><a name="line.1425"></a>
+<span class="sourceLineNo">1426</span>    public abstract void call(MasterObserver oserver,<a name="line.1426"></a>
+<span class="sourceLineNo">1427</span>        ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException;<a name="line.1427"></a>
 <span class="sourceLineNo">1428</span><a name="line.1428"></a>
-<span class="sourceLineNo">1429</span>  private &lt;T&gt; T execOperationWithResult(final T defaultValue,<a name="line.1429"></a>
-<span class="sourceLineNo">1430</span>      final CoprocessorOperationWithResult&lt;T&gt; ctx) throws IOException {<a name="line.1430"></a>
-<span class="sourceLineNo">1431</span>    if (ctx == null) return defaultValue;<a name="line.1431"></a>
-<span class="sourceLineNo">1432</span>    ctx.setResult(defaultValue);<a name="line.1432"></a>
-<span class="sourceLineNo">1433</span>    execOperation(ctx);<a name="line.1433"></a>
-<span class="sourceLineNo">1434</span>    return ctx.getResult();<a name="line.1434"></a>
-<span class="sourceLineNo">1435</span>  }<a name="line.1435"></a>
-<span class="sourceLineNo">1436</span><a name="line.1436"></a>
-<span class="sourceLineNo">1437</span>  private boolean execOperation(final CoprocessorOperation ctx) throws IOException {<a name="line.1437"></a>
-<span class="sourceLineNo">1438</span>    if (ctx == null) return false;<a name="line.1438"></a>
-<span class="sourceLineNo">1439</span>    boolean bypass = false;<a name="line.1439"></a>
-<span class="sourceLineNo">1440</span>    List&lt;MasterEnvironment&gt; envs = coprocessors.get();<a name="line.1440"></a>
-<span class="sourceLineNo">1441</span>    for (int i = 0; i &lt; envs.size(); i++) {<a name="line.1441"></a>
-<span class="sourceLineNo">1442</span>      MasterEnvironment env = envs.get(i);<a name="line.1442"></a>
-<span class="sourceLineNo">1443</span>      if (env.getInstance() instanceof MasterObserver) {<a name="line.1443"></a>
-<span class="sourceLineNo">1444</span>        ctx.prepare(env);<a name="line.1444"></a>
-<span class="sourceLineNo">1445</span>        Thread currentThread = Thread.currentThread();<a name="line.1445"></a>
-<span class="sourceLineNo">1446</span>        ClassLoader cl = currentThread.getContextClassLoader();<a name="line.1446"></a>
-<span class="sourceLineNo">1447</span>        try {<a name="line.1447"></a>
-<span class="sourceLineNo">1448</span>          currentThread.setContextClassLoader(env.getClassLoader());<a name="line.1448"></a>
-<span class="sourceLineNo">1449</span>          ctx.call((MasterObserver)env.getInstance(), ctx);<a name="line.1449"></a>
-<span class="sourceLineNo">1450</span>        } catch (Throwable e) {<a name="line.1450"></a>
-<span class="sourceLineNo">1451</span>          handleCoprocessorThrowable(env, e);<a name="line.1451"></a>
-<span class="sourceLineNo">1452</span>        } finally {<a name="line.1452"></a>
-<span class="sourceLineNo">1453</span>          currentThread.setContextClassLoader(cl);<a name="line.1453"></a>
-<span class="sourceLineNo">1454</span>        }<a name="line.1454"></a>
-<span class="sourceLineNo">1455</span>        bypass |= ctx.shouldBypass();<a name="line.1455"></a>
-<span class="sourceLineNo">1456</span>        if (ctx.shouldComplete()) {<a name="line.1456"></a>
-<span class="sourceLineNo">1457</span>          break;<a name="line.1457"></a>
-<span class="sourceLineNo">1458</span>        }<a name="line.1458"></a>
-<span class="sourceLineNo">1459</span>      }<a name="line.1459"></a>
-<span class="sourceLineNo">1460</span>      ctx.postEnvCall(env);<a name="line.1460"></a>
-<span class="sourceLineNo">1461</span>    }<a name="line.1461"></a>
-<span class="sourceLineNo">1462</span>    return bypass;<a name="line.1462"></a>
-<span class="sourceLineNo">1463</span>  }<a name="line.1463"></a>
-<span class="sourceLineNo">1464</span><a name="line.1464"></a>
-<span class="sourceLineNo">1465</span>  /**<a name="line.1465"></a>
-<span class="sourceLineNo">1466</span>   * Master coprocessor classes can be configured in any order, based on that priority is set and<a name="line.1466"></a>
-<span class="sourceLineNo">1467</span>   * chained in a sorted order. For preStopMaster()/preShutdown(), coprocessor methods are invoked<a name="line.1467"></a>
-<span class="sourceLineNo">1468</span>   * in call() and environment is shutdown in postEnvCall(). &lt;br&gt;<a name="line.1468"></a>
-<span class="sourceLineNo">1469</span>   * Need to execute all coprocessor methods first then postEnvCall(), otherwise some coprocessors<a name="line.1469"></a>
-<span class="sourceLineNo">1470</span>   * may remain shutdown if any exception occurs during next coprocessor execution which prevent<a name="line.1470"></a>
-<span class="sourceLineNo">1471</span>   * Master stop or cluster shutdown. (Refer:<a name="line.1471"></a>
-<span class="sourceLineNo">1472</span>   * &lt;a href="https://issues.apache.org/jira/browse/HBASE-16663"&gt;HBASE-16663&lt;/a&gt;<a name="line.1472"></a>
-<span class="sourceLineNo">1473</span>   * @param ctx CoprocessorOperation<a name="line.1473"></a>
-<span class="sourceLineNo">1474</span>   * @return true if bypaas coprocessor execution, false if not.<a name="line.1474"></a>
-<span class="sourceLineNo">1475</span>   * @throws IOException<a name="line.1475"></a>
-<span class="sourceLineNo">1476</span>   */<a name="line.1476"></a>
-<span class="sourceLineNo">1477</span>  private boolean execShutdown(final CoprocessorOperation ctx) throws IOException {<a name="line.1477"></a>
-<span class="sourceLineNo">1478</span>    if (ctx == null) return false;<a name="line.1478"></a>
-<span class="sourceLineNo">1479</span>    boolean bypass = false;<a name="line.1479"></a>
-<span class="sourceLineNo">1480</span>    List&lt;MasterEnvironment&gt; envs = coprocessors.get();<a name="line.1480"></a>
-<span class="sourceLineNo">1481</span>    int envsSize = envs.size();<a name="line.1481"></a>
-<span class="sourceLineNo">1482</span>    // Iterate the coprocessors and execute CoprocessorOperation's call()<a name="line.1482"></a>
-<span class="sourceLineNo">1483</span>    for (int i = 0; i &lt; envsSize; i++) {<a name="line.1483"></a>
-<span class="sourceLineNo">1484</span>      MasterEnvironment env = envs.get(i);<a name="line.1484"></a>
-<span class="sourceLineNo">1485</span>      if (env.getInstance() instanceof MasterObserver) {<a name="line.1485"></a>
-<span class="sourceLineNo">1486</span>        ctx.prepare(env);<a name="line.1486"></a>
-<span class="sourceLineNo">1487</span>        Thread currentThread = Thread.currentThread();<a name="line.1487"></a>
-<span class="sourceLineNo">1488</span>        ClassLoader cl = currentThread.getContextClassLoader();<a name="line.1488"></a>
-<span class="sourceLineNo">1489</span>        try {<a name="line.1489"></a>
-<span class="sourceLineNo">1490</span>          currentThread.setContextClassLoader(env.getClassLoader());<a name="line.1490"></a>
-<span class="sourceLineNo">1491</span>          ctx.call((MasterObserver) env.getInstance(), ctx);<a name="line.1491"></a>
-<span class="sourceLineNo">1492</span>        } catch (Throwable e) {<a name="line.1492"></a>
-<span class="sourceLineNo">1493</span>          handleCoprocessorThrowable(env, e);<a name="line.1493"></a>
-<span class="sourceLineNo">1494</span>        } finally {<a name="line.1494"></a>
-<span class="sourceLineNo">1495</span>          currentThread.setContextClassLoader(cl);<a name="line.1495"></a>
-<span class="sourceLineNo">1496</span>        }<a name="line.1496"></a>
-<span class="sourceLineNo">1497</span>        bypass |= ctx.shouldBypass();<a name="line.1497"></a>
-<span class="sourceLineNo">1498</span>        if (ctx.shouldComplete()) {<a name="line.1498"></a>
-<span class="sourceLineNo">1499</span>          break;<a name="line.1499"></a>
-<span class="sourceLineNo">1500</span>        }<a name="line.1500"></a>
-<span class="sourceLineNo">1501</span>      }<a name="line.1501"></a>
-<span class="sourceLineNo">1502</span>    }<a name="line.1502"></a>
-<span class="sourceLineNo">1503</span><a name="line.1503"></a>
-<span class="sourceLineNo">1504</span>    // Iterate the coprocessors and execute CoprocessorOperation's postEnvCall()<a name="line.1504"></a>
-<span class="sourceLineNo">1505</span>    for (int i = 0; i &lt; envsSize; i++) {<a name="line.1505"></a>
-<span class="sourceLineNo">1506</span>      MasterEnvironment env = envs.get(i);<a name="line.1506"></a>
-<span class="sourceLineNo">1507</span>      ctx.postEnvCall(env);<a name="line.1507"></a>
-<span class="sourceLineNo">1508</span>    }<a name="line.1508"></a>
-<span class="sourceLineNo">1509</span>    return bypass;<a name="line.1509"></a>
-<span class="sourceLineNo">1510</span>  }<a name="line.1510"></a>
-<span class="sourceLineNo">1511</span><a name="line.1511"></a>
-<span class="sourceLineNo">1512</span>  public void preMoveServersAndTables(final Set&lt;Address&gt; servers, final Set&lt;TableName&gt; tables, final String targetGroup)<a name="line.1512"></a>
-<span class="sourceLineNo">1513</span>          throws IOException {<a name="line.1513"></a>
-<span class="sourceLineNo">1514</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1514"></a>
-<span class="sourceLineNo">1515</span>      @Override<a name="line.1515"></a>
-<span class="sourceLineNo">1516</span>      public void call(MasterObserver oserver,<a name="line.1516"></a>
-<span class="sourceLineNo">1517</span>                       ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1517"></a>
-<span class="sourceLineNo">1518</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1518"></a>
-<span class="sourceLineNo">1519</span>          oserver.preMoveServersAndTables(ctx, servers, tables, targetGroup);<a name="line.1519"></a>
-<span class="sourceLineNo">1520</span>        }<a name="line.1520"></a>
-<span class="sourceLineNo">1521</span>      }<a name="line.1521"></a>
-<span class="sourceLineNo">1522</span>    });<a name="line.1522"></a>
-<span class="sourceLineNo">1523</span>  }<a name="line.1523"></a>
-<span class="sourceLineNo">1524</span><a name="line.1524"></a>
-<span class="sourceLineNo">1525</span>  public void postMoveServersAndTables(final Set&lt;Address&gt; servers, final Set&lt;TableName&gt; tables, final String targetGroup)<a name="line.1525"></a>
-<span class="sourceLineNo">1526</span>          throws IOException {<a name="line.1526"></a>
-<span class="sourceLineNo">1527</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1527"></a>
-<span class="sourceLineNo">1528</span>      @Override<a name="line.1528"></a>
-<span class="sourceLineNo">1529</span>      public void call(MasterObserver oserver,<a name="line.1529"></a>
-<span class="sourceLineNo">1530</span>                       ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1530"></a>
-<span class="sourceLineNo">1531</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1531"></a>
-<span class="sourceLineNo">1532</span>          oserver.postMoveServersAndTables(ctx, servers, tables, targetGroup);<a name="line.1532"></a>
-<span class="sourceLineNo">1533</span>        }<a name="line.1533"></a>
-<span class="sourceLineNo">1534</span>      }<a name="line.1534"></a>
-<span class="sourceLineNo">1535</span>    });<a name="line.1535"></a>
-<span class="sourceLineNo">1536</span>  }<a name="line.1536"></a>
-<span class="sourceLineNo">1537</span><a name="line.1537"></a>
-<span class="sourceLineNo">1538</span>  public void preMoveServers(final Set&lt;Address&gt; servers, final String targetGroup)<a name="line.1538"></a>
-<span class="sourceLineNo">1539</span>      throws IOException {<a name="line.1539"></a>
-<span class="sourceLineNo">1540</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1540"></a>
-<span class="sourceLineNo">1541</span>      @Override<a name="line.1541"></a>
-<span class="sourceLineNo">1542</span>      public void call(MasterObserver oserver,<a name="line.1542"></a>
-<span class="sourceLineNo">1543</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1543"></a>
-<span class="sourceLineNo">1544</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1544"></a>
-<span class="sourceLineNo">1545</span>          oserver.preMoveServers(ctx, servers, targetGroup);<a name="line.1545"></a>
-<span class="sourceLineNo">1546</span>        }<a name="line.1546"></a>
-<span class="sourceLineNo">1547</span>      }<a name="line.1547"></a>
-<span class="sourceLineNo">1548</span>    });<a name="line.1548"></a>
-<span class="sourceLineNo">1549</span>  }<a name="line.1549"></a>
-<span class="sourceLineNo">1550</span><a name="line.1550"></a>
-<span class="sourceLineNo">1551</span>  public void postMoveServers(final Set&lt;Address&gt; servers, final String targetGroup)<a name="line.1551"></a>
-<span class="sourceLineNo">1552</span>      throws IOException {<a name="line.1552"></a>
-<span class="sourceLineNo">1553</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1553"></a>
-<span class="sourceLineNo">1554</span>      @Override<a name="line.1554"></a>
-<span class="sourceLineNo">1555</span>      public void call(MasterObserver oserver,<a name="line.1555"></a>
-<span class="sourceLineNo">1556</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1556"></a>
-<span class="sourceLineNo">1557</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1557"></a>
-<span class="sourceLineNo">1558</span>          oserver.postMoveServers(ctx, servers, targetGroup);<a name="line.1558"></a>
-<span class="sourceLineNo">1559</span>        }<a name="line.1559"></a>
-<span class="sourceLineNo">1560</span>      }<a name="line.1560"></a>
-<span class="sourceLineNo">1561</span>    });<a name="line.1561"></a>
-<span class="sourceLineNo">1562</span>  }<a name="line.1562"></a>
-<span class="sourceLineNo">1563</span><a name="line.1563"></a>
-<span class="sourceLineNo">1564</span>  public void preMoveTables(final Set&lt;TableName&gt; tables, final String targetGroup)<a name="line.1564"></a>
-<span class="sourceLineNo">1565</span>      throws IOException {<a name="line.1565"></a>
-<span class="sourceLineNo">1566</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1566"></a>
-<span class="sourceLineNo">1567</span>      @Override<a name="line.1567"></a>
-<span class="sourceLineNo">1568</span>      public void call(MasterObserver oserver,<a name="line.1568"></a>
-<span class="sourceLineNo">1569</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1569"></a>
-<span class="sourceLineNo">1570</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1570"></a>
-<span class="sourceLineNo">1571</span>          oserver.preMoveTables(ctx, tables, targetGroup);<a name="line.1571"></a>
-<span class="sourceLineNo">1572</span>        }<a name="line.1572"></a>
-<span class="sourceLineNo">1573</span>      }<a name="line.1573"></a>
-<span class="sourceLineNo">1574</span>    });<a name="line.1574"></a>
-<span class="sourceLineNo">1575</span>  }<a name="line.1575"></a>
-<span class="sourceLineNo">1576</span><a name="line.1576"></a>
-<span class="sourceLineNo">1577</span>  public void postMoveTables(final Set&lt;TableName&gt; tables, final String targetGroup)<a name="line.1577"></a>
-<span class="sourceLineNo">1578</span>      throws IOException {<a name="line.1578"></a>
-<span class="sourceLineNo">1579</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1579"></a>
-<span class="sourceLineNo">1580</span>      @Override<a name="line.1580"></a>
-<span class="sourceLineNo">1581</span>      public void call(MasterObserver oserver,<a name="line.1581"></a>
-<span class="sourceLineNo">1582</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1582"></a>
-<span class="sourceLineNo">1583</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1583"></a>
-<span class="sourceLineNo">1584</span>          oserver.postMoveTables(ctx, tables, targetGroup);<a name="line.1584"></a>
-<span class="sourceLineNo">1585</span>        }<a name="line.1585"></a>
-<span class="sourceLineNo">1586</span>      }<a name="line.1586"></a>
-<span class="sourceLineNo">1587</span>    });<a name="line.1587"></a>
-<span class="sourceLineNo">1588</span>  }<a name="line.1588"></a>
-<span class="sourceLineNo">1589</span><a name="line.1589"></a>
-<span class="sourceLineNo">1590</span>  public void preAddRSGroup(final String name)<a name="line.1590"></a>
-<span class="sourceLineNo">1591</span>      throws IOException {<a name="line.1591"></a>
-<span class="sourceLineNo">1592</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1592"></a>
-<span class="sourceLineNo">1593</span>      @Override<a name="line.1593"></a>
-<span class="sourceLineNo">1594</span>      public void call(MasterObserver oserver,<a name="line.1594"></a>
-<span class="sourceLineNo">1595</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1595"></a>
-<span class="sourceLineNo">1596</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1596"></a>
-<span class="sourceLineNo">1597</span>          oserver.preAddRSGroup(ctx, name);<a name="line.1597"></a>
-<span class="sourceLineNo">1598</span>        }<a name="line.1598"></a>
-<span class="sourceLineNo">1599</span>      }<a name="line.1599"></a>
-<span class="sourceLineNo">1600</span>    });<a name="line.1600"></a>
-<span class="sourceLineNo">1601</span>  }<a name="line.1601"></a>
-<span class="sourceLineNo">1602</span><a name="line.1602"></a>
-<span class="sourceLineNo">1603</span>  public void postAddRSGroup(final String name)<a name="line.1603"></a>
-<span class="sourceLineNo">1604</span>      throws IOException {<a name="line.1604"></a>
-<span class="sourceLineNo">1605</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1605"></a>
-<span class="sourceLineNo">1606</span>      @Override<a name="line.1606"></a>
-<span class="sourceLineNo">1607</span>      public void call(MasterObserver oserver,<a name="line.1607"></a>
-<span class="sourceLineNo">1608</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1608"></a>
-<span class="sourceLineNo">1609</span>        if (((MasterEnvironment) ctx.getEnvironment()).supportGroupCPs) {<a name="line.1609"></a>
-<span class="sourceLineNo">1610</span>          oserver.postAddRSGroup(ctx, name);<a name="line.1610"></a>
-<span class="sourceLineNo">1611</span>        }<a name="line.1611"></a>
-<span class="sourceLineNo">1612</span>      }<a name="line.1612"></a>
-<span class="sourceLineNo">1613</span>    });<a name="line.1613"></a>
-<span class="sourceLineNo">1614</span>  }<a name="line.1614"></a>
-<span class="sourceLineNo">1615</span><a name="line.1615"></a>
-<span class="sourceLineNo">1616</span>  public void preRemoveRSGroup(final String name)<a name="line.1616"></a>
-<span class="sourceLineNo">1617</span>      throws IOException {<a name="line.1617"></a>
-<span class="sourceLineNo">1618</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1618"></a>
-<span class="sourceLineNo">1619</span>      @Override<a name="line.1619"></a>
-<span class="sourceLineNo">1620</span>      public void call(MasterObserver oserver,<a name="line.1620"></a>
-<span class="sourceLineNo">1621</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1621"></a>
-<span class="sourceLineNo">1622</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1622"></a>
-<span class="sourceLineNo">1623</span>          oserver.preRemoveRSGroup(ctx, name);<a name="line.1623"></a>
-<span class="sourceLineNo">1624</span>        }<a name="line.1624"></a>
-<span class="sourceLineNo">1625</span>      }<a name="line.1625"></a>
-<span class="sourceLineNo">1626</span>    });<a name="line.1626"></a>
-<span class="sourceLineNo">1627</span>  }<a name="line.1627"></a>
-<span class="sourceLineNo">1628</span><a name="line.1628"></a>
-<span class="sourceLineNo">1629</span>  public void postRemoveRSGroup(final String name)<a name="line.1629"></a>
-<span class="sourceLineNo">1630</span>      throws IOException {<a name="line.1630"></a>
-<span class="sourceLineNo">1631</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1631"></a>
-<span class="sourceLineNo">1632</span>      @Override<a name="line.1632"></a>
-<span class="sourceLineNo">1633</span>      public void call(MasterObserver oserver,<a name="line.1633"></a>
-<span class="sourceLineNo">1634</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1634"></a>
-<span class="sourceLineNo">1635</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1635"></a>
-<span class="sourceLineNo">1636</span>          oserver.postRemoveRSGroup(ctx, name);<a name="line.1636"></a>
-<span class="sourceLineNo">1637</span>        }<a name="line.1637"></a>
-<span class="sourceLineNo">1638</span>      }<a name="line.1638"></a>
-<span class="sourceLineNo">1639</span>    });<a name="line.1639"></a>
-<span class="sourceLineNo">1640</span>  }<a name="line.1640"></a>
-<span class="sourceLineNo">1641</span><a name="line.1641"></a>
-<span class="sourceLineNo">1642</span>  public void preBalanceRSGroup(final String name)<a name="line.1642"></a>
-<span class="sourceLineNo">1643</span>      throws IOException {<a name="line.1643"></a>
-<span class="sourceLineNo">1644</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1644"></a>
-<span class="sourceLineNo">1645</span>      @Override<a name="line.1645"></a>
-<span class="sourceLineNo">1646</span>      public void call(MasterObserver oserver,<a name="line.1646"></a>
-<span class="sourceLineNo">1647</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1647"></a>
-<span class="sourceLineNo">1648</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1648"></a>
-<span class="sourceLineNo">1649</span>          oserver.preBalanceRSGroup(ctx, name);<a name="line.1649"></a>
-<span class="sourceLineNo">1650</span>        }<a name="line.1650"></a>
-<span class="sourceLineNo">1651</span>      }<a name="line.1651"></a>
-<span class="sourceLineNo">1652</span>    });<a name="line.1652"></a>
-<span class="sourceLineNo">1653</span>  }<a name="line.1653"></a>
-<span class="sourceLineNo">1654</span><a name="line.1654"></a>
-<span class="sourceLineNo">1655</span>  public void postBalanceRSGroup(final String name, final boolean balanceRan)<a name="line.1655"></a>
-<span class="sourceLineNo">1656</span>      throws IOException {<a name="line.1656"></a>
-<span class="sourceLineNo">1657</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1657"></a>
-<span class="sourceLineNo">1658</span>      @Override<a name="line.1658"></a>
-<span class="sourceLineNo">1659</span>      public void call(MasterObserver oserver,<a name="line.1659"></a>
-<span class="sourceLineNo">1660</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1660"></a>
-<span class="sourceLineNo">1661</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1661"></a>
-<span class="sourceLineNo">1662</span>          oserver.postBalanceRSGroup(ctx, name, balanceRan);<a name="line.1662"></a>
-<span class="sourceLineNo">1663</span>        }<a name="line.1663"></a>
-<span class="sourceLineNo">1664</span>      }<a name="line.1664"></a>
-<span class="sourceLineNo">1665</span>    });<a name="line.1665"></a>
-<span class="sourceLineNo">1666</span>  }<a name="line.1666"></a>
-<span class="sourceLineNo">1667</span><a name="line.1667"></a>
-<span class="sourceLineNo">1668</span>  public void preAddReplicationPeer(final String peerId, final ReplicationPeerConfig peerConfig)<a name="line.1668"></a>
-<span class="sourceLineNo">1669</span>      throws IOException {<a name="line.1669"></a>
-<span class="sourceLineNo">1670</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1670"></a>
-<span class="sourceLineNo">1671</span>      @Override<a name="line.1671"></a>
-<span class="sourceLineNo">1672</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1672"></a>
-<span class="sourceLineNo">1673</span>          throws IOException {<a name="line.1673"></a>
-<span class="sourceLineNo">1674</span>        observer.preAddReplicationPeer(ctx, peerId, peerConfig);<a name="line.1674"></a>
-<span class="sourceLineNo">1675</span>      }<a name="line.1675"></a>
-<span class="sourceLineNo">1676</span>    });<a name="line.1676"></a>
-<span class="sourceLineNo">1677</span>  }<a name="line.1677"></a>
-<span class="sourceLineNo">1678</span><a name="line.1678"></a>
-<span class="sourceLineNo">1679</span>  public void postAddReplicationPeer(final String peerId, final ReplicationPeerConfig peerConfig)<a name="line.1679"></a>
-<span class="sourceLineNo">1680</span>      throws IOException {<a name="line.1680"></a>
-<span class="sourceLineNo">1681</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1681"></a>
-<span class="sourceLineNo">1682</span>      @Override<a name="line.1682"></a>
-<span class="sourceLineNo">1683</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1683"></a>
-<span class="sourceLineNo">1684</span>          throws IOException {<a name="line.1684"></a>
-<span class="sourceLineNo">1685</span>        observer.postAddReplicationPeer(ctx, peerId, peerConfig);<a name="line.1685"></a>
-<span class="sourceLineNo">1686</span>      }<a name="line.1686"></a>
-<span class="sourceLineNo">1687</span>    });<a name="line.1687"></a>
-<span class="sourceLineNo">1688</span>  }<a name="line.1688"></a>
-<span class="sourceLineNo">1689</span><a name="line.1689"></a>
-<span class="sourceLineNo">1690</span>  public void preRemoveReplicationPeer(final String peerId) throws IOException {<a name="line.1690"></a>
+<span class="sourceLineNo">1429</span>    public void postEnvCall(MasterEnvironment env) {<a name="line.1429"></a>
+<span class="sourceLineNo">1430</span>    }<a name="line.1430"></a>
+<span class="sourceLineNo">1431</span>  }<a name="line.1431"></a>
+<span class="sourceLineNo">1432</span><a name="line.1432"></a>
+<span class="sourceLineNo">1433</span>  private static abstract class CoprocessorOperationWithResult&lt;T&gt; extends CoprocessorOperation {<a name="line.1433"></a>
+<span class="sourceLineNo">1434</span>    private T result = null;<a name="line.1434"></a>
+<span class="sourceLineNo">1435</span>    public void setResult(final T result) { this.result = result; }<a name="line.1435"></a>
+<span class="sourceLineNo">1436</span>    public T getResult() { return this.result; }<a name="line.1436"></a>
+<span class="sourceLineNo">1437</span>  }<a name="line.1437"></a>
+<span class="sourceLineNo">1438</span><a name="line.1438"></a>
+<span class="sourceLineNo">1439</span>  private &lt;T&gt; T execOperationWithResult(final T defaultValue,<a name="line.1439"></a>
+<span class="sourceLineNo">1440</span>      final CoprocessorOperationWithResult&lt;T&gt; ctx) throws IOException {<a name="line.1440"></a>
+<span class="sourceLineNo">1441</span>    if (ctx == null) return defaultValue;<a name="line.1441"></a>
+<span class="sourceLineNo">1442</span>    ctx.setResult(defaultValue);<a name="line.1442"></a>
+<span class="sourceLineNo">1443</span>    execOperation(ctx);<a name="line.1443"></a>
+<span class="sourceLineNo">1444</span>    return ctx.getResult();<a name="line.1444"></a>
+<span class="sourceLineNo">1445</span>  }<a name="line.1445"></a>
+<span class="sourceLineNo">1446</span><a name="line.1446"></a>
+<span class="sourceLineNo">1447</span>  private boolean execOperation(final CoprocessorOperation ctx) throws IOException {<a name="line.1447"></a>
+<span class="sourceLineNo">1448</span>    if (ctx == null) return false;<a name="line.1448"></a>
+<span class="sourceLineNo">1449</span>    boolean bypass = false;<a name="line.1449"></a>
+<span class="sourceLineNo">1450</span>    List&lt;MasterEnvironment&gt; envs = coprocessors.get();<a name="line.1450"></a>
+<span class="sourceLineNo">1451</span>    for (int i = 0; i &lt; envs.size(); i++) {<a name="line.1451"></a>
+<span class="sourceLineNo">1452</span>      MasterEnvironment env = envs.get(i);<a name="line.1452"></a>
+<span class="sourceLineNo">1453</span>      if (env.getInstance() instanceof MasterObserver) {<a name="line.1453"></a>
+<span class="sourceLineNo">1454</span>        ctx.prepare(env);<a name="line.1454"></a>
+<span class="sourceLineNo">1455</span>        Thread currentThread = Thread.currentThread();<a name="line.1455"></a>
+<span class="sourceLineNo">1456</span>        ClassLoader cl = currentThread.getContextClassLoader();<a name="line.1456"></a>
+<span class="sourceLineNo">1457</span>        try {<a name="line.1457"></a>
+<span class="sourceLineNo">1458</span>          currentThread.setContextClassLoader(env.getClassLoader());<a name="line.1458"></a>
+<span class="sourceLineNo">1459</span>          ctx.call((MasterObserver)env.getInstance(), ctx);<a name="line.1459"></a>
+<span class="sourceLineNo">1460</span>        } catch (Throwable e) {<a name="line.1460"></a>
+<span class="sourceLineNo">1461</span>          handleCoprocessorThrowable(env, e);<a name="line.1461"></a>
+<span class="sourceLineNo">1462</span>        } finally {<a name="line.1462"></a>
+<span class="sourceLineNo">1463</span>          currentThread.setContextClassLoader(cl);<a name="line.1463"></a>
+<span class="sourceLineNo">1464</span>        }<a name="line.1464"></a>
+<span class="sourceLineNo">1465</span>        bypass |= ctx.shouldBypass();<a name="line.1465"></a>
+<span class="sourceLineNo">1466</span>        if (ctx.shouldComplete()) {<a name="line.1466"></a>
+<span class="sourceLineNo">1467</span>          break;<a name="line.1467"></a>
+<span class="sourceLineNo">1468</span>        }<a name="line.1468"></a>
+<span class="sourceLineNo">1469</span>      }<a name="line.1469"></a>
+<span class="sourceLineNo">1470</span>      ctx.postEnvCall(env);<a name="line.1470"></a>
+<span class="sourceLineNo">1471</span>    }<a name="line.1471"></a>
+<span class="sourceLineNo">1472</span>    return bypass;<a name="line.1472"></a>
+<span class="sourceLineNo">1473</span>  }<a name="line.1473"></a>
+<span class="sourceLineNo">1474</span><a name="line.1474"></a>
+<span class="sourceLineNo">1475</span>  /**<a name="line.1475"></a>
+<span class="sourceLineNo">1476</span>   * Master coprocessor classes can be configured in any order, based on that priority is set and<a name="line.1476"></a>
+<span class="sourceLineNo">1477</span>   * chained in a sorted order. For preStopMaster()/preShutdown(), coprocessor methods are invoked<a name="line.1477"></a>
+<span class="sourceLineNo">1478</span>   * in call() and environment is shutdown in postEnvCall(). &lt;br&gt;<a name="line.1478"></a>
+<span class="sourceLineNo">1479</span>   * Need to execute all coprocessor methods first then postEnvCall(), otherwise some coprocessors<a name="line.1479"></a>
+<span class="sourceLineNo">1480</span>   * may remain shutdown if any exception occurs during next coprocessor execution which prevent<a name="line.1480"></a>
+<span class="sourceLineNo">1481</span>   * Master stop or cluster shutdown. (Refer:<a name="line.1481"></a>
+<span class="sourceLineNo">1482</span>   * &lt;a href="https://issues.apache.org/jira/browse/HBASE-16663"&gt;HBASE-16663&lt;/a&gt;<a name="line.1482"></a>
+<span class="sourceLineNo">1483</span>   * @param ctx CoprocessorOperation<a name="line.1483"></a>
+<span class="sourceLineNo">1484</span>   * @return true if bypaas coprocessor execution, false if not.<a name="line.1484"></a>
+<span class="sourceLineNo">1485</span>   * @throws IOException<a name="line.1485"></a>
+<span class="sourceLineNo">1486</span>   */<a name="line.1486"></a>
+<span class="sourceLineNo">1487</span>  private boolean execShutdown(final CoprocessorOperation ctx) throws IOException {<a name="line.1487"></a>
+<span class="sourceLineNo">1488</span>    if (ctx == null) return false;<a name="line.1488"></a>
+<span class="sourceLineNo">1489</span>    boolean bypass = false;<a name="line.1489"></a>
+<span class="sourceLineNo">1490</span>    List&lt;MasterEnvironment&gt; envs = coprocessors.get();<a name="line.1490"></a>
+<span class="sourceLineNo">1491</span>    int envsSize = envs.size();<a name="line.1491"></a>
+<span class="sourceLineNo">1492</span>    // Iterate the coprocessors and execute CoprocessorOperation's call()<a name="line.1492"></a>
+<span class="sourceLineNo">1493</span>    for (int i = 0; i &lt; envsSize; i++) {<a name="line.1493"></a>
+<span class="sourceLineNo">1494</span>      MasterEnvironment env = envs.get(i);<a name="line.1494"></a>
+<span class="sourceLineNo">1495</span>      if (env.getInstance() instanceof MasterObserver) {<a name="line.1495"></a>
+<span class="sourceLineNo">1496</span>        ctx.prepare(env);<a name="line.1496"></a>
+<span class="sourceLineNo">1497</span>        Thread currentThread = Thread.currentThread();<a name="line.1497"></a>
+<span class="sourceLineNo">1498</span>        ClassLoader cl = currentThread.getContextClassLoader();<a name="line.1498"></a>
+<span class="sourceLineNo">1499</span>        try {<a name="line.1499"></a>
+<span class="sourceLineNo">1500</span>          currentThread.setContextClassLoader(env.getClassLoader());<a name="line.1500"></a>
+<span class="sourceLineNo">1501</span>          ctx.call((MasterObserver) env.getInstance(), ctx);<a name="line.1501"></a>
+<span class="sourceLineNo">1502</span>        } catch (Throwable e) {<a name="line.1502"></a>
+<span class="sourceLineNo">1503</span>          handleCoprocessorThrowable(env, e);<a name="line.1503"></a>
+<span class="sourceLineNo">1504</span>        } finally {<a name="line.1504"></a>
+<span class="sourceLineNo">1505</span>          currentThread.setContextClassLoader(cl);<a name="line.1505"></a>
+<span class="sourceLineNo">1506</span>        }<a name="line.1506"></a>
+<span class="sourceLineNo">1507</span>        bypass |= ctx.shouldBypass();<a name="line.1507"></a>
+<span class="sourceLineNo">1508</span>        if (ctx.shouldComplete()) {<a name="line.1508"></a>
+<span class="sourceLineNo">1509</span>          break;<a name="line.1509"></a>
+<span class="sourceLineNo">1510</span>        }<a name="line.1510"></a>
+<span class="sourceLineNo">1511</span>      }<a name="line.1511"></a>
+<span class="sourceLineNo">1512</span>    }<a name="line.1512"></a>
+<span class="sourceLineNo">1513</span><a name="line.1513"></a>
+<span class="sourceLineNo">1514</span>    // Iterate the coprocessors and execute CoprocessorOperation's postEnvCall()<a name="line.1514"></a>
+<span class="sourceLineNo">1515</span>    for (int i = 0; i &lt; envsSize; i++) {<a name="line.1515"></a>
+<span class="sourceLineNo">1516</span>      MasterEnvironment env = envs.get(i);<a name="line.1516"></a>
+<span class="sourceLineNo">1517</span>      ctx.postEnvCall(env);<a name="line.1517"></a>
+<span class="sourceLineNo">1518</span>    }<a name="line.1518"></a>
+<span class="sourceLineNo">1519</span>    return bypass;<a name="line.1519"></a>
+<span class="sourceLineNo">1520</span>  }<a name="line.1520"></a>
+<span class="sourceLineNo">1521</span><a name="line.1521"></a>
+<span class="sourceLineNo">1522</span>  public void preMoveServersAndTables(final Set&lt;Address&gt; servers, final Set&lt;TableName&gt; tables, final String targetGroup)<a name="line.1522"></a>
+<span class="sourceLineNo">1523</span>          throws IOException {<a name="line.1523"></a>
+<span class="sourceLineNo">1524</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1524"></a>
+<span class="sourceLineNo">1525</span>      @Override<a name="line.1525"></a>
+<span class="sourceLineNo">1526</span>      public void call(MasterObserver oserver,<a name="line.1526"></a>
+<span class="sourceLineNo">1527</span>                       ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1527"></a>
+<span class="sourceLineNo">1528</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1528"></a>
+<span class="sourceLineNo">1529</span>          oserver.preMoveServersAndTables(ctx, servers, tables, targetGroup);<a name="line.1529"></a>
+<span class="sourceLineNo">1530</span>        }<a name="line.1530"></a>
+<span class="sourceLineNo">1531</span>      }<a name="line.1531"></a>
+<span class="sourceLineNo">1532</span>    });<a name="line.1532"></a>
+<span class="sourceLineNo">1533</span>  }<a name="line.1533"></a>
+<span class="sourceLineNo">1534</span><a name="line.1534"></a>
+<span class="sourceLineNo">1535</span>  public void postMoveServersAndTables(final Set&lt;Address&gt; servers, final Set&lt;TableName&gt; tables, final String targetGroup)<a name="line.1535"></a>
+<span class="sourceLineNo">1536</span>          throws IOException {<a name="line.1536"></a>
+<span class="sourceLineNo">1537</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1537"></a>
+<span class="sourceLineNo">1538</span>      @Override<a name="line.1538"></a>
+<span class="sourceLineNo">1539</span>      public void call(MasterObserver oserver,<a name="line.1539"></a>
+<span class="sourceLineNo">1540</span>                       ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1540"></a>
+<span class="sourceLineNo">1541</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1541"></a>
+<span class="sourceLineNo">1542</span>          oserver.postMoveServersAndTables(ctx, servers, tables, targetGroup);<a name="line.1542"></a>
+<span class="sourceLineNo">1543</span>        }<a name="line.1543"></a>
+<span class="sourceLineNo">1544</span>      }<a name="line.1544"></a>
+<span class="sourceLineNo">1545</span>    });<a name="line.1545"></a>
+<span class="sourceLineNo">1546</span>  }<a name="line.1546"></a>
+<span class="sourceLineNo">1547</span><a name="line.1547"></a>
+<span class="sourceLineNo">1548</span>  public void preMoveServers(final Set&lt;Address&gt; servers, final String targetGroup)<a name="line.1548"></a>
+<span class="sourceLineNo">1549</span>      throws IOException {<a name="line.1549"></a>
+<span class="sourceLineNo">1550</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1550"></a>
+<span class="sourceLineNo">1551</span>      @Override<a name="line.1551"></a>
+<span class="sourceLineNo">1552</span>      public void call(MasterObserver oserver,<a name="line.1552"></a>
+<span class="sourceLineNo">1553</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1553"></a>
+<span class="sourceLineNo">1554</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1554"></a>
+<span class="sourceLineNo">1555</span>          oserver.preMoveServers(ctx, servers, targetGroup);<a name="line.1555"></a>
+<span class="sourceLineNo">1556</span>        }<a name="line.1556"></a>
+<span class="sourceLineNo">1557</span>      }<a name="line.1557"></a>
+<span class="sourceLineNo">1558</span>    });<a name="line.1558"></a>
+<span class="sourceLineNo">1559</span>  }<a name="line.1559"></a>
+<span class="sourceLineNo">1560</span><a name="line.1560"></a>
+<span class="sourceLineNo">1561</span>  public void postMoveServers(final Set&lt;Address&gt; servers, final String targetGroup)<a name="line.1561"></a>
+<span class="sourceLineNo">1562</span>      throws IOException {<a name="line.1562"></a>
+<span class="sourceLineNo">1563</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1563"></a>
+<span class="sourceLineNo">1564</span>      @Override<a name="line.1564"></a>
+<span class="sourceLineNo">1565</span>      public void call(MasterObserver oserver,<a name="line.1565"></a>
+<span class="sourceLineNo">1566</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1566"></a>
+<span class="sourceLineNo">1567</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1567"></a>
+<span class="sourceLineNo">1568</span>          oserver.postMoveServers(ctx, servers, targetGroup);<a name="line.1568"></a>
+<span class="sourceLineNo">1569</span>        }<a name="line.1569"></a>
+<span class="sourceLineNo">1570</span>      }<a name="line.1570"></a>
+<span class="sourceLineNo">1571</span>    });<a name="line.1571"></a>
+<span class="sourceLineNo">1572</span>  }<a name="line.1572"></a>
+<span class="sourceLineNo">1573</span><a name="line.1573"></a>
+<span class="sourceLineNo">1574</span>  public void preMoveTables(final Set&lt;TableName&gt; tables, final String targetGroup)<a name="line.1574"></a>
+<span class="sourceLineNo">1575</span>      throws IOException {<a name="line.1575"></a>
+<span class="sourceLineNo">1576</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1576"></a>
+<span class="sourceLineNo">1577</span>      @Override<a name="line.1577"></a>
+<span class="sourceLineNo">1578</span>      public void call(MasterObserver oserver,<a name="line.1578"></a>
+<span class="sourceLineNo">1579</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1579"></a>
+<span class="sourceLineNo">1580</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1580"></a>
+<span class="sourceLineNo">1581</span>          oserver.preMoveTables(ctx, tables, targetGroup);<a name="line.1581"></a>
+<span class="sourceLineNo">1582</span>        }<a name="line.1582"></a>
+<span class="sourceLineNo">1583</span>      }<a name="line.1583"></a>
+<span class="sourceLineNo">1584</span>    });<a name="line.1584"></a>
+<span class="sourceLineNo">1585</span>  }<a name="line.1585"></a>
+<span class="sourceLineNo">1586</span><a name="line.1586"></a>
+<span class="sourceLineNo">1587</span>  public void postMoveTables(final Set&lt;TableName&gt; tables, final String targetGroup)<a name="line.1587"></a>
+<span class="sourceLineNo">1588</span>      throws IOException {<a name="line.1588"></a>
+<span class="sourceLineNo">1589</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1589"></a>
+<span class="sourceLineNo">1590</span>      @Override<a name="line.1590"></a>
+<span class="sourceLineNo">1591</span>      public void call(MasterObserver oserver,<a name="line.1591"></a>
+<span class="sourceLineNo">1592</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1592"></a>
+<span class="sourceLineNo">1593</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1593"></a>
+<span class="sourceLineNo">1594</span>          oserver.postMoveTables(ctx, tables, targetGroup);<a name="line.1594"></a>
+<span class="sourceLineNo">1595</span>        }<a name="line.1595"></a>
+<span class="sourceLineNo">1596</span>      }<a name="line.1596"></a>
+<span class="sourceLineNo">1597</span>    });<a name="line.1597"></a>
+<span class="sourceLineNo">1598</span>  }<a name="line.1598"></a>
+<span class="sourceLineNo">1599</span><a name="line.1599"></a>
+<span class="sourceLineNo">1600</span>  public void preAddRSGroup(final String name)<a name="line.1600"></a>
+<span class="sourceLineNo">1601</span>      throws IOException {<a name="line.1601"></a>
+<span class="sourceLineNo">1602</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1602"></a>
+<span class="sourceLineNo">1603</span>      @Override<a name="line.1603"></a>
+<span class="sourceLineNo">1604</span>      public void call(MasterObserver oserver,<a name="line.1604"></a>
+<span class="sourceLineNo">1605</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1605"></a>
+<span class="sourceLineNo">1606</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1606"></a>
+<span class="sourceLineNo">1607</span>          oserver.preAddRSGroup(ctx, name);<a name="line.1607"></a>
+<span class="sourceLineNo">1608</span>        }<a name="line.1608"></a>
+<span class="sourceLineNo">1609</span>      }<a name="line.1609"></a>
+<span class="sourceLineNo">1610</span>    });<a name="line.1610"></a>
+<span class="sourceLineNo">1611</span>  }<a name="line.1611"></a>
+<span class="sourceLineNo">1612</span><a name="line.1612"></a>
+<span class="sourceLineNo">1613</span>  public void postAddRSGroup(final String name)<a name="line.1613"></a>
+<span class="sourceLineNo">1614</span>      throws IOException {<a name="line.1614"></a>
+<span class="sourceLineNo">1615</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1615"></a>
+<span class="sourceLineNo">1616</span>      @Override<a name="line.1616"></a>
+<span class="sourceLineNo">1617</span>      public void call(MasterObserver oserver,<a name="line.1617"></a>
+<span class="sourceLineNo">1618</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1618"></a>
+<span class="sourceLineNo">1619</span>        if (((MasterEnvironment) ctx.getEnvironment()).supportGroupCPs) {<a name="line.1619"></a>
+<span class="sourceLineNo">1620</span>          oserver.postAddRSGroup(ctx, name);<a name="line.1620"></a>
+<span class="sourceLineNo">1621</span>        }<a name="line.1621"></a>
+<span class="sourceLineNo">1622</span>      }<a name="line.1622"></a>
+<span class="sourceLineNo">1623</span>    });<a name="line.1623"></a>
+<span class="sourceLineNo">1624</span>  }<a name="line.1624"></a>
+<span class="sourceLineNo">1625</span><a name="line.1625"></a>
+<span class="sourceLineNo">1626</span>  public void preRemoveRSGroup(final String name)<a name="line.1626"></a>
+<span class="sourceLineNo">1627</span>      throws IOException {<a name="line.1627"></a>
+<span class="sourceLineNo">1628</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1628"></a>
+<span class="sourceLineNo">1629</span>      @Override<a name="line.1629"></a>
+<span class="sourceLineNo">1630</span>      public void call(MasterObserver oserver,<a name="line.1630"></a>
+<span class="sourceLineNo">1631</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1631"></a>
+<span class="sourceLineNo">1632</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1632"></a>
+<span class="sourceLineNo">1633</span>          oserver.preRemoveRSGroup(ctx, name);<a name="line.1633"></a>
+<span class="sourceLineNo">1634</span>        }<a name="line.1634"></a>
+<span class="sourceLineNo">1635</span>      }<a name="line.1635"></a>
+<span class="sourceLineNo">1636</span>    });<a name="line.1636"></a>
+<span class="sourceLineNo">1637</span>  }<a name="line.1637"></a>
+<span class="sourceLineNo">1638</span><a name="line.1638"></a>
+<span class="sourceLineNo">1639</span>  public void postRemoveRSGroup(final String name)<a name="line.1639"></a>
+<span class="sourceLineNo">1640</span>      throws IOException {<a name="line.1640"></a>
+<span class="sourceLineNo">1641</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1641"></a>
+<span class="sourceLineNo">1642</span>      @Override<a name="line.1642"></a>
+<span class="sourceLineNo">1643</span>      public void call(MasterObserver oserver,<a name="line.1643"></a>
+<span class="sourceLineNo">1644</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1644"></a>
+<span class="sourceLineNo">1645</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1645"></a>
+<span class="sourceLineNo">1646</span>          oserver.postRemoveRSGroup(ctx, name);<a name="line.1646"></a>
+<span class="sourceLineNo">1647</span>        }<a name="line.1647"></a>
+<span class="sourceLineNo">1648</span>      }<a name="line.1648"></a>
+<span class="sourceLineNo">1649</span>    });<a name="line.1649"></a>
+<span class="sourceLineNo">1650</span>  }<a name="line.1650"></a>
+<span class="sourceLineNo">1651</span><a name="line.1651"></a>
+<span class="sourceLineNo">1652</span>  public void preBalanceRSGroup(final String name)<a name="line.1652"></a>
+<span class="sourceLineNo">1653</span>      throws IOException {<a name="line.1653"></a>
+<span class="sourceLineNo">1654</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1654"></a>
+<span class="sourceLineNo">1655</span>      @Override<a name="line.1655"></a>
+<span class="sourceLineNo">1656</span>      public void call(MasterObserver oserver,<a name="line.1656"></a>
+<span class="sourceLineNo">1657</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1657"></a>
+<span class="sourceLineNo">1658</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1658"></a>
+<span class="sourceLineNo">1659</span>          oserver.preBalanceRSGroup(ctx, name);<a name="line.1659"></a>
+<span class="sourceLineNo">1660</span>        }<a name="line.1660"></a>
+<span class="sourceLineNo">1661</span>      }<a name="line.1661"></a>
+<span class="sourceLineNo">1662</span>    });<a name="line.1662"></a>
+<span class="sourceLineNo">1663</span>  }<a name="line.1663"></a>
+<span class="sourceLineNo">1664</span><a name="line.1664"></a>
+<span class="sourceLineNo">1665</span>  public void postBalanceRSGroup(final String name, final boolean balanceRan)<a name="line.1665"></a>
+<span class="sourceLineNo">1666</span>      throws IOException {<a name="line.1666"></a>
+<span class="sourceLineNo">1667</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1667"></a>
+<span class="sourceLineNo">1668</span>      @Override<a name="line.1668"></a>
+<span class="sourceLineNo">1669</span>      public void call(MasterObserver oserver,<a name="line.1669"></a>
+<span class="sourceLineNo">1670</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1670"></a>
+<span class="sourceLineNo">1671</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1671"></a>
+<span class="sourceLineNo">1672</span>          oserver.postBalanceRSGroup(ctx, name, balanceRan);<a name="line.1672"></a>
+<span class="sourceLineNo">1673</span>        }<a name="line.1673"></a>
+<span class="sourceLineNo">1674</span>      }<a name="line.1674"></a>
+<span class="sourceLineNo">1675</span>    });<a name="line.1675"></a>
+<span class="sourceLineNo">1676</span>  }<a name="line.1676"></a>
+<span class="sourceLineNo">1677</span><a name="line.1677"></a>
+<span class="sourceLineNo">1678</span>  public void preAddReplicationPeer(final String peerId, final ReplicationPeerConfig peerConfig)<a name="line.1678"></a>
+<span class="sourceLineNo">1679</span>      throws IOException {<a name="line.1679"></a>
+<span class="sourceLineNo">1680</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1680"></a>
+<span class="sourceLineNo">1681</span>      @Override<a name="line.1681"></a>
+<span class="sourceLineNo">1682</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1682"></a>
+<span class="sourceLineNo">1683</span>          throws IOException {<a name="line.1683"></a>
+<span class="sourceLineNo">1684</span>        observer.preAddReplicationPeer(ctx, peerId, peerConfig);<a name="line.1684"></a>
+<span class="sourceLineNo">1685</span>      }<a name="line.1685"></a>
+<span class="sourceLineNo">1686</span>    });<a name="line.1686"></a>
+<span class="sourceLineNo">1687</span>  }<a name="line.1687"></a>
+<span class="sourceLineNo">1688</span><a name="line.1688"></a>
+<span class="sourceLineNo">1689</span>  public void postAddReplicationPeer(final String peerId, final ReplicationPeerConfig peerConfig)<a name="line.1689"></a>
+<span class="sourceLineNo">1690</span>      throws IOException {<a name="line.1690"></a>
 <span class="sourceLineNo">1691</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1691"></a>
 <span class="sourceLineNo">1692</span>      @Override<a name="line.1692"></a>
 <span class="sourceLineNo">1693</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1693"></a>
 <span class="sourceLineNo">1694</span>          throws IOException {<a name="line.1694"></a>
-<span class="sourceLineNo">1695</span>        observer.preRemoveReplicationPeer(ctx, peerId);<a name="line.1695"></a>
+<span class="sourceLineNo">1695</span>        observer.postAddReplicationPeer(ctx, peerId, peerConfig);<a name="line.1695"></a>
 <span class="sourceLineNo">1696</span>      }<a name="line.1696"></a>
 <span class="sourceLineNo">1697</span>    });<a name="line.1697"></a>
 <span class="sourceLineNo">1698</span>  }<a name="line.1698"></a>
 <span class="sourceLineNo">1699</span><a name="line.1699"></a>
-<span class="sourceLineNo">1700</span>  public void postRemoveReplicationPeer(final String peerId) throws IOException {<a name="line.1700"></a>
+<span class="sourceLineNo">1700</span>  public void preRemoveReplicationPeer(final String peerId) throws IOException {<a name="line.1700"></a>
 <span class="sourceLineNo">1701</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1701"></a>
 <span class="sourceLineNo">1702</span>      @Override<a name="line.1702"></a>
 <span class="sourceLineNo">1703</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1703"></a>
 <span class="sourceLineNo">1704</span>          throws IOException {<a name="line.1704"></a>
-<span class="sourceLineNo">1705</span>        observer.postRemoveReplicationPeer(ctx, peerId);<a name="line.1705"></a>
+<span class="sourceLineNo">1705</span>        observer.preRemoveReplicationPeer(ctx, peerId);<a name="line.1705"></a>
 <span class="sourceLineNo">1706</span>      }<a name="line.1706"></a>
 <span class="sourceLineNo">1707</span>    });<a name="line.1707"></a>
 <span class="sourceLineNo">1708</span>  }<a name="line.1708"></a>
 <span class="sourceLineNo">1709</span><a name="line.1709"></a>
-<span class="sourceLineNo">1710</span>  public void preEnableReplicationPeer(final String peerId) throws IOException {<a name="line.1710"></a>
+<span class="sourceLineNo">1710</span>  public void postRemoveReplicationPeer(final String peerId) throws IOException {<a name="line.1710"></a>
 <span class="sourceLineNo">1711</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1711"></a>
 <span class="sourceLineNo">1712</span>      @Override<a name="line.1712"></a>
 <span class="sourceLineNo">1713</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1713"></a>
 <span class="sourceLineNo">1714</span>          throws IOException {<a name="line.1714"></a>
-<span class="sourceLineNo">1715</span>        observer.preEnableReplicationPeer(ctx, peerId);<a name="line.1715"></a>
+<span class="sourceLineNo">1715</span>        observer.postRemoveReplicationPeer(ctx, peerId);<a name="line.1715"></a>
 <span class="sourceLineNo">1716</span>      }<a name="line.1716"></a>
 <span class="sourceLineNo">1717</span>    });<a name="line.1717"></a>
 <span class="sourceLineNo">1718</span>  }<a name="line.1718"></a>
 <span class="sourceLineNo">1719</span><a name="line.1719"></a>
-<span class="sourceLineNo">1720</span>  public void postEnableReplicationPeer(final String peerId) throws IOException {<a name="line.1720"></a>
+<span class="sourceLineNo">1720</span>  public void preEnableReplicationPeer(final String peerId) throws IOException {<a name="line.1720"></a>
 <span class="sourceLineNo">1721</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1721"></a>
 <span class="sourceLineNo">1722</span>      @Override<a name="line.1722"></a>
 <span class="sourceLineNo">1723</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1723"></a>
 <span class="sourceLineNo">1724</span>          throws IOException {<a name="line.1724"></a>
-<span class="sourceLineNo">1725</span>        observer.postEnableReplicationPeer(ctx, peerId);<a name="line.1725"></a>
+<span class="sourceLineNo">1725</span>        observer.preEnableReplicationPeer(ctx, peerId);<a name="line.1725"></a>
 <span class="sourceLineNo">1726</span>      }<a name="line.1726"></a>
 <span class="sourceLineNo">1727</span>    });<a name="line.1727"></a>
 <span class="sourceLineNo">1728</span>  }<a name="line.1728"></a>
 <span class="sourceLineNo">1729</span><a name="line.1729"></a>
-<span class="sourceLineNo">1730</span>  public void preDisableReplicationPeer(final String peerId) throws IOException {<a name="line.1730"></a>
+<span class="sourceLineNo">1730</span>  public void postEnableReplicationPeer(final String peerId) throws IOException {<a name="line.1730"></a>
 <span class="sourceLineNo">1731</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1731"></a>
 <span class="sourceLineNo">1732</span>      @Override<a name="line.1732"></a>
 <span class="sourceLineNo">1733</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1733"></a>
 <span class="sourceLineNo">1734</span>          throws IOException {<a name="line.1734"></a>
-<span class="sourceLineNo">1735</span>        observer.preDisableReplicationPeer(ctx, peerId);<a name="line.1735"></a>
+<span class="sourceLineNo">1735</span>        observer.postEnableReplicationPeer(ctx, peerId);<a name="line.1735"></a>
 <span class="sourceLineNo">1736</span>      }<a name="line.1736"></a>
 <span class="sourceLineNo">1737</span>    });<a name="line.1737"></a>
 <span class="sourceLineNo">1738</span>  }<a name="line.1738"></a>
 <span class="sourceLineNo">1739</span><a name="line.1739"></a>
-<span class="sourceLineNo">1740</span>  public void postDisableReplicationPeer(final String peerId) throws IOException {<a name="line.1740"></a>
+<span class="sourceLineNo">1740</span>  public void preDisableReplicationPeer(final String peerId) throws IOException {<a name="line.1740"></a>
 <span class="sourceLineNo">1741</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1741"></a>
 <span class="sourceLineNo">1742</span>      @Override<a name="line.1742"></a>
 <span class="sourceLineNo">1743</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1743"></a>
 <span class="sourceLineNo">1744</span>          throws IOException {<a name="line.1744"></a>
-<span class="sourceLineNo">1745</span>        observer.postDisableReplicationPeer(ctx, peerId);<a name="line.1745"></a>
+<span class="sourceLineNo">1745</span>        observer.preDisableReplicationPeer(ctx, peerId);<a name="line.1745"></a>
 <span class="sourceLineNo">1746</span>      }<a name="line.1746"></a>
 <span class="sourceLineNo">1747</span>    });<a name="line.1747"></a>
 <span class="sourceLineNo">1748</span>  }<a name="line.1748"></a>
 <span class="sourceLineNo">1749</span><a name="line.1749"></a>
-<span class="sourceLineNo">1750</span>  public void preGetReplicationPeerConfig(final String peerId) throws IOException {<a name="line.1750"></a>
+<span class="sourceLineNo">1750</span>  public void postDisableReplicationPeer(final String peerId) throws IOException {<a name="line.1750"></a>
 <span class="sourceLineNo">1751</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1751"></a>
 <span class="sourceLineNo">1752</span>      @Override<a name="line.1752"></a>
 <span class="sourceLineNo">1753</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1753"></a>
 <span class="sourceLineNo">1754</span>          throws IOException {<a name="line.1754"></a>
-<span class="sourceLineNo">1755</span>        observer.preGetReplicationPeerConfig(ctx, peerId);<a name="line.1755"></a>
+<span class="sourceLineNo">1755</span>        observer.postDisableReplicationPeer(ctx, peerId);<a name="line.1755"></a>
 <span class="sourceLineNo">1756</span>      }<a name="line.1756"></a>
 <span class="sour

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-annotations/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependency-info.html b/hbase-annotations/dependency-info.html
index 6b4c543..47d800e 100644
--- a/hbase-annotations/dependency-info.html
+++ b/hbase-annotations/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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; Dependency Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -147,7 +147,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-annotations/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependency-management.html b/hbase-annotations/dependency-management.html
index 48b7cfe..1ae48ef 100644
--- a/hbase-annotations/dependency-management.html
+++ b/hbase-annotations/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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; Project Dependency Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -772,7 +772,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-annotations/index.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/index.html b/hbase-annotations/index.html
index 0753c31..e88bc78 100644
--- a/hbase-annotations/index.html
+++ b/hbase-annotations/index.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; About</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -119,7 +119,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-annotations/integration.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/integration.html b/hbase-annotations/integration.html
index 2212d19..3751625 100644
--- a/hbase-annotations/integration.html
+++ b/hbase-annotations/integration.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; CI Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -126,7 +126,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-annotations/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/issue-tracking.html b/hbase-annotations/issue-tracking.html
index 020fb66..2d5e191 100644
--- a/hbase-annotations/issue-tracking.html
+++ b/hbase-annotations/issue-tracking.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; Issue Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -123,7 +123,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-annotations/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/mail-lists.html b/hbase-annotations/mail-lists.html
index 349911b..4e50a6a 100644
--- a/hbase-annotations/mail-lists.html
+++ b/hbase-annotations/mail-lists.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; Project Mailing Lists</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -176,7 +176,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-annotations/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/plugin-management.html b/hbase-annotations/plugin-management.html
index da269b6..eb88de6 100644
--- a/hbase-annotations/plugin-management.html
+++ b/hbase-annotations/plugin-management.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; Project Plugin Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -271,7 +271,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-annotations/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/plugins.html b/hbase-annotations/plugins.html
index ee66227..f216d56 100644
--- a/hbase-annotations/plugins.html
+++ b/hbase-annotations/plugins.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; Project Plugins</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -222,7 +222,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-annotations/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/project-info.html b/hbase-annotations/project-info.html
index fcaf924..373d66a 100644
--- a/hbase-annotations/project-info.html
+++ b/hbase-annotations/project-info.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; Project Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -167,7 +167,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-annotations/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/project-summary.html b/hbase-annotations/project-summary.html
index b150684..1e7fc36 100644
--- a/hbase-annotations/project-summary.html
+++ b/hbase-annotations/project-summary.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; Project Summary</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -166,7 +166,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-annotations/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/source-repository.html b/hbase-annotations/source-repository.html
index 13ae4fd..bbe2cd0 100644
--- a/hbase-annotations/source-repository.html
+++ b/hbase-annotations/source-repository.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; Source Code Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -134,7 +134,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-annotations/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/team-list.html b/hbase-annotations/team-list.html
index fa24c8c..49c0b17 100644
--- a/hbase-annotations/team-list.html
+++ b/hbase-annotations/team-list.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; Project Team</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -529,7 +529,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/dependencies.html b/hbase-build-configuration/dependencies.html
index 5d6273b..aba804f 100644
--- a/hbase-build-configuration/dependencies.html
+++ b/hbase-build-configuration/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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Build Configuration &#x2013; Project Dependencies</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -330,7 +330,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/dependency-convergence.html b/hbase-build-configuration/dependency-convergence.html
index a15065f..424171f 100644
--- a/hbase-build-configuration/dependency-convergence.html
+++ b/hbase-build-configuration/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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Build Configuration &#x2013; Reactor Dependency Convergence</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -650,7 +650,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/dependency-info.html b/hbase-build-configuration/dependency-info.html
index c662825..59a3700 100644
--- a/hbase-build-configuration/dependency-info.html
+++ b/hbase-build-configuration/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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Build Configuration &#x2013; Dependency Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -148,7 +148,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/dependency-management.html b/hbase-build-configuration/dependency-management.html
index 0ed43bc..1db20af 100644
--- a/hbase-build-configuration/dependency-management.html
+++ b/hbase-build-configuration/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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Build Configuration &#x2013; Project Dependency Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -772,7 +772,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/dependencies.html b/hbase-build-configuration/hbase-archetypes/dependencies.html
index a04a83d..73a6716 100644
--- a/hbase-build-configuration/hbase-archetypes/dependencies.html
+++ b/hbase-build-configuration/hbase-archetypes/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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetypes &#x2013; Project Dependencies</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -330,7 +330,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/dependency-convergence.html b/hbase-build-configuration/hbase-archetypes/dependency-convergence.html
index 0d01884..c30024b 100644
--- a/hbase-build-configuration/hbase-archetypes/dependency-convergence.html
+++ b/hbase-build-configuration/hbase-archetypes/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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetypes &#x2013; Reactor Dependency Convergence</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -650,7 +650,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/dependency-info.html b/hbase-build-configuration/hbase-archetypes/dependency-info.html
index 9343fa1..9dffefd 100644
--- a/hbase-build-configuration/hbase-archetypes/dependency-info.html
+++ b/hbase-build-configuration/hbase-archetypes/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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetypes &#x2013; Dependency Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -148,7 +148,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/dependency-management.html b/hbase-build-configuration/hbase-archetypes/dependency-management.html
index 559810e..965a4c8 100644
--- a/hbase-build-configuration/hbase-archetypes/dependency-management.html
+++ b/hbase-build-configuration/hbase-archetypes/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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetypes &#x2013; Project Dependency Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -772,7 +772,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/dependencies.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/dependencies.html
index 13ae738..430e322 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/dependencies.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetype builder &#x2013; Project Dependencies</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -330,7 +330,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/dependency-convergence.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/dependency-convergence.html
index cb1f475..40955fc 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/dependency-convergence.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetype builder &#x2013; Reactor Dependency Convergence</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -650,7 +650,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/dependency-info.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/dependency-info.html
index 98e4d72..7324a33 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/dependency-info.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetype builder &#x2013; Dependency Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -148,7 +148,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/dependency-management.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/dependency-management.html
index d696118..423a522 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/dependency-management.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetype builder &#x2013; Project Dependency Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -772,7 +772,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/index.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/index.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/index.html
index 39a936f..0e44b3d 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/index.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/index.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetype builder &#x2013; About</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -119,7 +119,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/integration.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/integration.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/integration.html
index adac373..c1c6ac3 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/integration.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/integration.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetype builder &#x2013; CI Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -126,7 +126,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/issue-tracking.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/issue-tracking.html
index 857e3d4..2967880 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/issue-tracking.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/issue-tracking.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetype builder &#x2013; Issue Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -123,7 +123,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/license.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/license.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/license.html
index 2badedc..35a9838 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/license.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/license.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetype builder &#x2013; Project Licenses</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -326,7 +326,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/mail-lists.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/mail-lists.html
index 9a5379e..ca9a2ce 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/mail-lists.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/mail-lists.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetype builder &#x2013; Project Mailing Lists</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -176,7 +176,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/plugin-management.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/plugin-management.html
index 505d83f..6fe1e3c 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/plugin-management.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/plugin-management.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetype builder &#x2013; Project Plugin Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -271,7 +271,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/plugins.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/plugins.html
index 007756d..b67dfb3 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/plugins.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/plugins.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetype builder &#x2013; Project Plugins</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -218,7 +218,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/project-info.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/project-info.html
index 4405ab4..6f366bc 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/project-info.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/project-info.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetype builder &#x2013; Project Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -167,7 +167,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/project-summary.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/project-summary.html
index 5addf40..5248ba8 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/project-summary.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/project-summary.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetype builder &#x2013; Project Summary</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -163,7 +163,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/source-repository.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/source-repository.html
index 96816a5..d9ae48a 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/source-repository.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/source-repository.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetype builder &#x2013; Source Code Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -134,7 +134,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/team-list.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/team-list.html
index 89d8eb4..945d9ff 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/team-list.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/team-list.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetype builder &#x2013; Project Team</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -529,7 +529,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-client-project/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/checkstyle.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/checkstyle.html
index b2846a7..c6302c6 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/checkstyle.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/checkstyle.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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; Checkstyle Results</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -150,7 +150,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-client-project/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/dependencies.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/dependencies.html
index 38ba223..3e5a717 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/dependencies.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; Project Dependencies</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -4164,7 +4164,7 @@ Jackson JSON processor's data binding functionality.</p>
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-client-project/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/dependency-convergence.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/dependency-convergence.html
index f649a45..c09e995 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/dependency-convergence.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; Reactor Dependency Convergence</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -650,7 +650,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-client-project/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/dependency-info.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/dependency-info.html
index c7f5ac5..6d73cdd 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/dependency-info.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; Dependency Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -147,7 +147,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-client-project/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/dependency-management.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/dependency-management.html
index 985cbbf..df073ae 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/dependency-management.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; Project Dependency Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -772,7 +772,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-client-project/index.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/index.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/index.html
index 7665b6b..c52eed1 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/index.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/index.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; About</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -119,7 +119,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-client-project/integration.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/integration.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/integration.html
index 8145588..1d0094f 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/integration.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/integration.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; CI Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -126,7 +126,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-client-project/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/issue-tracking.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/issue-tracking.html
index 6563714..e7d44ad 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/issue-tracking.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/issue-tracking.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; Issue Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -123,7 +123,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-client-project/license.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/license.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/license.html
index 7e61044..788f1ae 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/license.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/license.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; Project Licenses</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -326,7 +326,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-client-project/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/mail-lists.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/mail-lists.html
index e0dc8ee..19afc11 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/mail-lists.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/mail-lists.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; Project Mailing Lists</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -176,7 +176,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-client-project/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/plugin-management.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/plugin-management.html
index 0325ab3..b4b9064 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/plugin-management.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/plugin-management.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; Project Plugin Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -271,7 +271,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-client-project/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/plugins.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/plugins.html
index 10a6626..fb51e87 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/plugins.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/plugins.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; Project Plugins</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -226,7 +226,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-client-project/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/project-info.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/project-info.html
index b7c5bcf..a591786 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/project-info.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/project-info.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; Project Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -167,7 +167,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-client-project/project-reports.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/project-reports.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/project-reports.html
index ce3456c..15a75d9 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/project-reports.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/project-reports.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; Generated Reports</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -128,7 +128,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-client-project/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/project-summary.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/project-summary.html
index 8796086..543a86e 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/project-summary.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/project-summary.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; Project Summary</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -166,7 +166,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-client-project/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/source-repository.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/source-repository.html
index d390787..3cecf04 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/source-repository.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/source-repository.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; Source Code Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -134,7 +134,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-client-project/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/team-list.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/team-list.html
index 5c7e5b3..289087e 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/team-list.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/team-list.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; Project Team</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -529,7 +529,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/checkstyle.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/checkstyle.html
index 080080c..f1bdaf1 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/checkstyle.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/checkstyle.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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; Checkstyle Results</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -150,7 +150,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/dependencies.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/dependencies.html
index 5c23bfa..0c020f9 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/dependencies.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; Project Dependencies</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -4189,7 +4189,7 @@ These include: bzip2, gzip, pack200, xz and ar, cpio, jar, tar, zip, dump.</p>
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/dependency-convergence.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/dependency-convergence.html
index 30ab0d8..9c6e0b9 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/dependency-convergence.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; Reactor Dependency Convergence</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -650,7 +650,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/dependency-info.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/dependency-info.html
index dbda352..6f9ae14 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/dependency-info.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; Dependency Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -147,7 +147,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/dependency-management.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/dependency-management.html
index 29c12a5..1ca91b5 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/dependency-management.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; Project Dependency Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -772,7 +772,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/index.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/index.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/index.html
index 572b931..d8f7b31 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/index.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/index.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; About</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -119,7 +119,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/integration.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/integration.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/integration.html
index 4ea3bb1..08c87b8 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/integration.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/integration.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; CI Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -126,7 +126,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/issue-tracking.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/issue-tracking.html
index fc68c5c..97f237c 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/issue-tracking.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/issue-tracking.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; Issue Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -123,7 +123,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/license.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/license.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/license.html
index d7b1aa8..8bd8c46 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/license.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/license.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; Project Licenses</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -326,7 +326,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/issue-tracking.html
----------------------------------------------------------------------
diff --git a/issue-tracking.html b/issue-tracking.html
index 99b763a..1ead5f1 100644
--- a/issue-tracking.html
+++ b/issue-tracking.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Issue Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -293,7 +293,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/license.html
----------------------------------------------------------------------
diff --git a/license.html b/license.html
index 183cee5..a85fc47 100644
--- a/license.html
+++ b/license.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Licenses</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -496,7 +496,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

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

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/old_news.html
----------------------------------------------------------------------
diff --git a/old_news.html b/old_news.html
index 10cbe64..1814f34 100644
--- a/old_news.html
+++ b/old_news.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Old Apache HBase (TM) News
@@ -419,7 +419,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/plugins.html
----------------------------------------------------------------------
diff --git a/plugins.html b/plugins.html
index cf044ea..532f1e6 100644
--- a/plugins.html
+++ b/plugins.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Plugins</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -380,7 +380,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/poweredbyhbase.html
----------------------------------------------------------------------
diff --git a/poweredbyhbase.html b/poweredbyhbase.html
index b19f0bd..49fce9e 100644
--- a/poweredbyhbase.html
+++ b/poweredbyhbase.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Powered By Apache HBase™</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -774,7 +774,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/project-info.html
----------------------------------------------------------------------
diff --git a/project-info.html b/project-info.html
index 1a67060..d1148af 100644
--- a/project-info.html
+++ b/project-info.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -340,7 +340,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/project-reports.html
----------------------------------------------------------------------
diff --git a/project-reports.html b/project-reports.html
index 2363209..32afb6d 100644
--- a/project-reports.html
+++ b/project-reports.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Generated Reports</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -310,7 +310,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/pseudo-distributed.html
----------------------------------------------------------------------
diff --git a/pseudo-distributed.html b/pseudo-distributed.html
index cc51f36..3fb2168 100644
--- a/pseudo-distributed.html
+++ b/pseudo-distributed.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
 Running Apache HBase (TM) in pseudo-distributed mode
@@ -313,7 +313,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/replication.html
----------------------------------------------------------------------
diff --git a/replication.html b/replication.html
index a45163c..fe3c0b3 100644
--- a/replication.html
+++ b/replication.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Apache HBase (TM) Replication
@@ -308,7 +308,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/resources.html
----------------------------------------------------------------------
diff --git a/resources.html b/resources.html
index 751d3cb..7700bfe 100644
--- a/resources.html
+++ b/resources.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Other Apache HBase (TM) Resources</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -336,7 +336,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/sponsors.html
----------------------------------------------------------------------
diff --git a/sponsors.html b/sponsors.html
index ba99067..5f9393d 100644
--- a/sponsors.html
+++ b/sponsors.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Apache HBase™ Sponsors</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -338,7 +338,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/supportingprojects.html
----------------------------------------------------------------------
diff --git a/supportingprojects.html b/supportingprojects.html
index 52efad5..27ae9f7 100644
--- a/supportingprojects.html
+++ b/supportingprojects.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Supporting Projects</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -525,7 +525,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/team-list.html
----------------------------------------------------------------------
diff --git a/team-list.html b/team-list.html
index 9e251b6..5e33cea 100644
--- a/team-list.html
+++ b/team-list.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Team</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -699,7 +699,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/allclasses-frame.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/allclasses-frame.html b/testdevapidocs/allclasses-frame.html
index f311398..fc18883 100644
--- a/testdevapidocs/allclasses-frame.html
+++ b/testdevapidocs/allclasses-frame.html
@@ -1030,6 +1030,7 @@
 <li><a href="org/apache/hadoop/hbase/http/TestGlobalFilter.RecordingFilter.html" title="class in org.apache.hadoop.hbase.http" target="classFrame">TestGlobalFilter.RecordingFilter</a></li>
 <li><a href="org/apache/hadoop/hbase/http/TestGlobalFilter.RecordingFilter.Initializer.html" title="class in org.apache.hadoop.hbase.http" target="classFrame">TestGlobalFilter.RecordingFilter.Initializer</a></li>
 <li><a href="org/apache/hadoop/hbase/TestGlobalMemStoreSize.html" title="class in org.apache.hadoop.hbase" target="classFrame">TestGlobalMemStoreSize</a></li>
+<li><a href="org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">TestGlobalQuotaSettings</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/regionserver/TestGlobalThrottler.html" title="class in org.apache.hadoop.hbase.replication.regionserver" target="classFrame">TestGlobalThrottler</a></li>
 <li><a href="org/apache/hadoop/hbase/mapred/TestGroupingTableMap.html" title="class in org.apache.hadoop.hbase.mapred" target="classFrame">TestGroupingTableMap</a></li>
 <li><a href="org/apache/hadoop/hbase/mapreduce/TestGroupingTableMapper.html" title="class in org.apache.hadoop.hbase.mapreduce" target="classFrame">TestGroupingTableMapper</a></li>
@@ -1523,6 +1524,7 @@
 <li><a href="org/apache/hadoop/hbase/regionserver/TestQosFunction.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">TestQosFunction</a></li>
 <li><a href="org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">TestQuotaAdmin</a></li>
 <li><a href="org/apache/hadoop/hbase/quotas/TestQuotaFilter.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">TestQuotaFilter</a></li>
+<li><a href="org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">TestQuotaGlobalsSettingsBypass</a></li>
 <li><a href="org/apache/hadoop/hbase/quotas/TestQuotaObserverChore.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">TestQuotaObserverChore</a></li>
 <li><a href="org/apache/hadoop/hbase/quotas/TestQuotaObserverChoreRegionReports.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">TestQuotaObserverChoreRegionReports</a></li>
 <li><a href="org/apache/hadoop/hbase/quotas/TestQuotaObserverChoreWithMiniCluster.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">TestQuotaObserverChoreWithMiniCluster</a></li>
@@ -2024,6 +2026,7 @@
 <li><a href="org/apache/hadoop/hbase/thrift/TestThriftServer.MySlowHBaseHandler.html" title="class in org.apache.hadoop.hbase.thrift" target="classFrame">TestThriftServer.MySlowHBaseHandler</a></li>
 <li><a href="org/apache/hadoop/hbase/thrift/TestThriftServerCmdLine.html" title="class in org.apache.hadoop.hbase.thrift" target="classFrame">TestThriftServerCmdLine</a></li>
 <li><a href="org/apache/hadoop/hbase/io/hadoopbackport/TestThrottledInputStream.html" title="class in org.apache.hadoop.hbase.io.hadoopbackport" target="classFrame">TestThrottledInputStream</a></li>
+<li><a href="org/apache/hadoop/hbase/quotas/TestThrottleSettings.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">TestThrottleSettings</a></li>
 <li><a href="org/apache/hadoop/hbase/TestTimeout.html" title="class in org.apache.hadoop.hbase" target="classFrame">TestTimeout</a></li>
 <li><a href="org/apache/hadoop/hbase/errorhandling/TestTimeoutExceptionInjector.html" title="class in org.apache.hadoop.hbase.errorhandling" target="classFrame">TestTimeoutExceptionInjector</a></li>
 <li><a href="org/apache/hadoop/hbase/mapreduce/TestTimeRangeMapRed.html" title="class in org.apache.hadoop.hbase.mapreduce" target="classFrame">TestTimeRangeMapRed</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/allclasses-noframe.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/allclasses-noframe.html b/testdevapidocs/allclasses-noframe.html
index 5ae76e9..dd5035c 100644
--- a/testdevapidocs/allclasses-noframe.html
+++ b/testdevapidocs/allclasses-noframe.html
@@ -1030,6 +1030,7 @@
 <li><a href="org/apache/hadoop/hbase/http/TestGlobalFilter.RecordingFilter.html" title="class in org.apache.hadoop.hbase.http">TestGlobalFilter.RecordingFilter</a></li>
 <li><a href="org/apache/hadoop/hbase/http/TestGlobalFilter.RecordingFilter.Initializer.html" title="class in org.apache.hadoop.hbase.http">TestGlobalFilter.RecordingFilter.Initializer</a></li>
 <li><a href="org/apache/hadoop/hbase/TestGlobalMemStoreSize.html" title="class in org.apache.hadoop.hbase">TestGlobalMemStoreSize</a></li>
+<li><a href="org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">TestGlobalQuotaSettings</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/regionserver/TestGlobalThrottler.html" title="class in org.apache.hadoop.hbase.replication.regionserver">TestGlobalThrottler</a></li>
 <li><a href="org/apache/hadoop/hbase/mapred/TestGroupingTableMap.html" title="class in org.apache.hadoop.hbase.mapred">TestGroupingTableMap</a></li>
 <li><a href="org/apache/hadoop/hbase/mapreduce/TestGroupingTableMapper.html" title="class in org.apache.hadoop.hbase.mapreduce">TestGroupingTableMapper</a></li>
@@ -1523,6 +1524,7 @@
 <li><a href="org/apache/hadoop/hbase/regionserver/TestQosFunction.html" title="class in org.apache.hadoop.hbase.regionserver">TestQosFunction</a></li>
 <li><a href="org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html" title="class in org.apache.hadoop.hbase.quotas">TestQuotaAdmin</a></li>
 <li><a href="org/apache/hadoop/hbase/quotas/TestQuotaFilter.html" title="class in org.apache.hadoop.hbase.quotas">TestQuotaFilter</a></li>
+<li><a href="org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html" title="class in org.apache.hadoop.hbase.quotas">TestQuotaGlobalsSettingsBypass</a></li>
 <li><a href="org/apache/hadoop/hbase/quotas/TestQuotaObserverChore.html" title="class in org.apache.hadoop.hbase.quotas">TestQuotaObserverChore</a></li>
 <li><a href="org/apache/hadoop/hbase/quotas/TestQuotaObserverChoreRegionReports.html" title="class in org.apache.hadoop.hbase.quotas">TestQuotaObserverChoreRegionReports</a></li>
 <li><a href="org/apache/hadoop/hbase/quotas/TestQuotaObserverChoreWithMiniCluster.html" title="class in org.apache.hadoop.hbase.quotas">TestQuotaObserverChoreWithMiniCluster</a></li>
@@ -2024,6 +2026,7 @@
 <li><a href="org/apache/hadoop/hbase/thrift/TestThriftServer.MySlowHBaseHandler.html" title="class in org.apache.hadoop.hbase.thrift">TestThriftServer.MySlowHBaseHandler</a></li>
 <li><a href="org/apache/hadoop/hbase/thrift/TestThriftServerCmdLine.html" title="class in org.apache.hadoop.hbase.thrift">TestThriftServerCmdLine</a></li>
 <li><a href="org/apache/hadoop/hbase/io/hadoopbackport/TestThrottledInputStream.html" title="class in org.apache.hadoop.hbase.io.hadoopbackport">TestThrottledInputStream</a></li>
+<li><a href="org/apache/hadoop/hbase/quotas/TestThrottleSettings.html" title="class in org.apache.hadoop.hbase.quotas">TestThrottleSettings</a></li>
 <li><a href="org/apache/hadoop/hbase/TestTimeout.html" title="class in org.apache.hadoop.hbase">TestTimeout</a></li>
 <li><a href="org/apache/hadoop/hbase/errorhandling/TestTimeoutExceptionInjector.html" title="class in org.apache.hadoop.hbase.errorhandling">TestTimeoutExceptionInjector</a></li>
 <li><a href="org/apache/hadoop/hbase/mapreduce/TestTimeRangeMapRed.html" title="class in org.apache.hadoop.hbase.mapreduce">TestTimeRangeMapRed</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/index-all.html b/testdevapidocs/index-all.html
index b64f9e6..5efb237 100644
--- a/testdevapidocs/index-all.html
+++ b/testdevapidocs/index-all.html
@@ -4109,6 +4109,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/TestReplicationStateHBaseImpl.html#clearQueues--">clearQueues()</a></span> - Method in class org.apache.hadoop.hbase.replication.<a href="org/apache/hadoop/hbase/replication/TestReplicationStateHBaseImpl.html" title="class in org.apache.hadoop.hbase.replication">TestReplicationStateHBaseImpl</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#clearQuotaTable--">clearQuotaTable()</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html" title="class in org.apache.hadoop.hbase.quotas">TestQuotaAdmin</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotNotifierForTest.html#clearSnapshots--">clearSnapshots()</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotNotifierForTest.html" title="class in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotNotifierForTest</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/client/TestRemoteAdminRetries.html#client">client</a></span> - Variable in class org.apache.hadoop.hbase.rest.client.<a href="org/apache/hadoop/hbase/rest/client/TestRemoteAdminRetries.html" title="class in org.apache.hadoop.hbase.rest.client">TestRemoteAdminRetries</a></dt>
@@ -10377,6 +10379,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/visibility/TestVisibilityLabelsReplication.html#expectedVisString">expectedVisString</a></span> - Static variable in class org.apache.hadoop.hbase.security.visibility.<a href="org/apache/hadoop/hbase/security/visibility/TestVisibilityLabelsReplication.html" title="class in org.apache.hadoop.hbase.security.visibility">TestVisibilityLabelsReplication</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html#expectFailure-org.apache.hadoop.hbase.quotas.QuotaSettings-org.apache.hadoop.hbase.quotas.QuotaSettings-">expectFailure(QuotaSettings, QuotaSettings)</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html" title="class in org.apache.hadoop.hbase.quotas">TestQuotaGlobalsSettingsBypass</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/snapshot/SnapshotTestingUtils.html#expectSnapshotDoneException-org.apache.hadoop.hbase.master.HMaster-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest-java.lang.Class-">expectSnapshotDoneException(HMaster, MasterProtos.IsSnapshotDoneRequest, Class&lt;? extends HBaseSnapshotException&gt;)</a></span> - Static method in class org.apache.hadoop.hbase.snapshot.<a href="org/apache/hadoop/hbase/snapshot/SnapshotTestingUtils.html" title="class in org.apache.hadoop.hbase.snapshot">SnapshotTestingUtils</a></dt>
 <dd>
 <div class="block">Expect the snapshot to throw an error when checking if the snapshot is
@@ -25823,17 +25827,17 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/TestCoprocessorInterface.CoprocessorImpl.html#postScannerOpen-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Scan-org.apache.hadoop.hbase.regionserver.RegionScanner-">postScannerOpen(ObserverContext&lt;RegionCoprocessorEnvironment&gt;, Scan, RegionScanner)</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/TestCoprocessorInterface.CoprocessorImpl.html" title="class in org.apache.hadoop.hbase.coprocessor">TestCoprocessorInterface.CoprocessorImpl</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetNamespaceQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, QuotaProtos.Quotas)</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html" title="class in org.apache.hadoop.hbase.coprocessor">TestMasterObserver.CPMasterObserver</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetNamespaceQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, GlobalQuotaSettings)</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html" title="class in org.apache.hadoop.hbase.coprocessor">TestMasterObserver.CPMasterObserver</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#postSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">postSetSplitOrMergeEnabled(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, boolean, MasterSwitchType)</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html" title="class in org.apache.hadoop.hbase.coprocessor">TestMasterObserver.CPMasterObserver</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetTableQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, TableName, QuotaProtos.Quotas)</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html" title="class in org.apache.hadoop.hbase.coprocessor">TestMasterObserver.CPMasterObserver</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetTableQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, TableName, GlobalQuotaSettings)</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html" title="class in org.apache.hadoop.hbase.coprocessor">TestMasterObserver.CPMasterObserver</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, QuotaProtos.Quotas)</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html" title="class in org.apache.hadoop.hbase.coprocessor">TestMasterObserver.CPMasterObserver</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, GlobalQuotaSettings)</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html" title="class in org.apache.hadoop.hbase.coprocessor">TestMasterObserver.CPMasterObserver</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, TableName, QuotaProtos.Quotas)</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html" title="class in org.apache.hadoop.hbase.coprocessor">TestMasterObserver.CPMasterObserver</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, TableName, GlobalQuotaSettings)</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html" title="class in org.apache.hadoop.hbase.coprocessor">TestMasterObserver.CPMasterObserver</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, String, QuotaProtos.Quotas)</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html" title="class in org.apache.hadoop.hbase.coprocessor">TestMasterObserver.CPMasterObserver</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, String, GlobalQuotaSettings)</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html" title="class in org.apache.hadoop.hbase.coprocessor">TestMasterObserver.CPMasterObserver</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/ReplicationSourceDummy.html#postShipEdits-java.util.List-int-">postShipEdits(List&lt;WAL.Entry&gt;, int)</a></span> - Method in class org.apache.hadoop.hbase.replication.<a href="org/apache/hadoop/hbase/replication/ReplicationSourceDummy.html" title="class in org.apache.hadoop.hbase.replication">ReplicationSourceDummy</a></dt>
 <dd>&nbsp;</dd>
@@ -26445,17 +26449,17 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/TestCompaction.StoreMockMaker.TestCompactionContext.html#preSelect-java.util.List-">preSelect(List&lt;StoreFile&gt;)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestCompaction.StoreMockMaker.TestCompactionContext.html" title="class in org.apache.hadoop.hbase.regionserver">TestCompaction.StoreMockMaker.TestCompactionContext</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetNamespaceQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, QuotaProtos.Quotas)</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html" title="class in org.apache.hadoop.hbase.coprocessor">TestMasterObserver.CPMasterObserver</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetNamespaceQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, GlobalQuotaSettings)</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html" title="class in org.apache.hadoop.hbase.coprocessor">TestMasterObserver.CPMasterObserver</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#preSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">preSetSplitOrMergeEnabled(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, boolean, MasterSwitchType)</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html" title="class in org.apache.hadoop.hbase.coprocessor">TestMasterObserver.CPMasterObserver</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetTableQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, TableName, QuotaProtos.Quotas)</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html" title="class in org.apache.hadoop.hbase.coprocessor">TestMasterObserver.CPMasterObserver</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetTableQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, TableName, GlobalQuotaSettings)</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html" title="class in org.apache.hadoop.hbase.coprocessor">TestMasterObserver.CPMasterObserver</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, QuotaProtos.Quotas)</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html" title="class in org.apache.hadoop.hbase.coprocessor">TestMasterObserver.CPMasterObserver</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, GlobalQuotaSettings)</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html" title="class in org.apache.hadoop.hbase.coprocessor">TestMasterObserver.CPMasterObserver</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, TableName, QuotaProtos.Quotas)</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html" title="class in org.apache.hadoop.hbase.coprocessor">TestMasterObserver.CPMasterObserver</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, TableName, GlobalQuotaSettings)</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html" title="class in org.apache.hadoop.hbase.coprocessor">TestMasterObserver.CPMasterObserver</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, String, QuotaProtos.Quotas)</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html" title="class in org.apache.hadoop.hbase.coprocessor">TestMasterObserver.CPMasterObserver</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, String, GlobalQuotaSettings)</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html" title="class in org.apache.hadoop.hbase.coprocessor">TestMasterObserver.CPMasterObserver</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#preShutdown-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preShutdown(ObserverContext&lt;MasterCoprocessorEnvironment&gt;)</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html" title="class in org.apache.hadoop.hbase.coprocessor">TestMasterObserver.CPMasterObserver</a></dt>
 <dd>&nbsp;</dd>
@@ -28753,6 +28757,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestFromClientSide.ExceptionInReseekRegionObserver.html#reqCount">reqCount</a></span> - Static variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestFromClientSide.ExceptionInReseekRegionObserver.html" title="class in org.apache.hadoop.hbase.client">TestFromClientSide.ExceptionInReseekRegionObserver</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html#REQUEST_THROTTLE">REQUEST_THROTTLE</a></span> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">TestGlobalQuotaSettings</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/TestHeapMemoryManager.MemstoreFlusherStub.html#requestDelayedFlush-org.apache.hadoop.hbase.regionserver.Region-long-boolean-">requestDelayedFlush(Region, long, boolean)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestHeapMemoryManager.MemstoreFlusherStub.html" title="class in org.apache.hadoop.hbase.regionserver">TestHeapMemoryManager.MemstoreFlusherStub</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/wal/AbstractTestWALReplay.TestFlusher.html#requestDelayedFlush-org.apache.hadoop.hbase.regionserver.Region-long-boolean-">requestDelayedFlush(Region, long, boolean)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/AbstractTestWALReplay.TestFlusher.html" title="class in org.apache.hadoop.hbase.regionserver.wal">AbstractTestWALReplay.TestFlusher</a></dt>
@@ -34525,6 +34531,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/test/IntegrationTestReplication.html#sourceClusterIdString">sourceClusterIdString</a></span> - Variable in class org.apache.hadoop.hbase.test.<a href="org/apache/hadoop/hbase/test/IntegrationTestReplication.html" title="class in org.apache.hadoop.hbase.test">IntegrationTestReplication</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html#SPACE_QUOTA">SPACE_QUOTA</a></span> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">TestGlobalQuotaSettings</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/quotas/SpaceQuotaHelperForTests.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">SpaceQuotaHelperForTests</span></a> - Class in <a href="org/apache/hadoop/hbase/quotas/package-summary.html">org.apache.hadoop.hbase.quotas</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/SpaceQuotaHelperForTests.html#SpaceQuotaHelperForTests-org.apache.hadoop.hbase.HBaseTestingUtility-org.junit.rules.TestName-java.util.concurrent.atomic.AtomicLong-">SpaceQuotaHelperForTests(HBaseTestingUtility, TestName, AtomicLong)</a></span> - Constructor for class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/SpaceQuotaHelperForTests.html" title="class in org.apache.hadoop.hbase.quotas">SpaceQuotaHelperForTests</a></dt>
@@ -45607,6 +45615,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/access/TestAccessController.html#testGlobalPermissionList--">testGlobalPermissionList()</a></span> - Method in class org.apache.hadoop.hbase.security.access.<a href="org/apache/hadoop/hbase/security/access/TestAccessController.html" title="class in org.apache.hadoop.hbase.security.access">TestAccessController</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">TestGlobalQuotaSettings</span></a> - Class in <a href="org/apache/hadoop/hbase/quotas/package-summary.html">org.apache.hadoop.hbase.quotas</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html#TestGlobalQuotaSettings--">TestGlobalQuotaSettings()</a></span> - Constructor for class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">TestGlobalQuotaSettings</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/replication/regionserver/TestGlobalThrottler.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">TestGlobalThrottler</span></a> - Class in <a href="org/apache/hadoop/hbase/replication/regionserver/package-summary.html">org.apache.hadoop.hbase.replication.regionserver</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/TestGlobalThrottler.html#TestGlobalThrottler--">TestGlobalThrottler()</a></span> - Constructor for class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/TestGlobalThrottler.html" title="class in org.apache.hadoop.hbase.replication.regionserver">TestGlobalThrottler</a></dt>
@@ -46648,6 +46660,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/TestFilter.html#testInclusiveStopFilterWithReverseScan--">testInclusiveStopFilterWithReverseScan()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/TestFilter.html" title="class in org.apache.hadoop.hbase.filter">TestFilter</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/TestThrottleSettings.html#testIncompatibleThrottleTypes--">testIncompatibleThrottleTypes()</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/TestThrottleSettings.html" title="class in org.apache.hadoop.hbase.quotas">TestThrottleSettings</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/TestMasterOperationsForRegionReplicas.html#testIncompleteMetaTableReplicaInformation--">testIncompleteMetaTableReplicaInformation()</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/TestMasterOperationsForRegionReplicas.html" title="class in org.apache.hadoop.hbase.master">TestMasterOperationsForRegionReplicas</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/TestParseFilter.html#testIncorrectComparatorType--">testIncorrectComparatorType()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/TestParseFilter.html" title="class in org.apache.hadoop.hbase.filter">TestParseFilter</a></dt>
@@ -47033,6 +47047,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestAdmin1.html#testInvalidHColumnDescriptor--">testInvalidHColumnDescriptor()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAdmin1.html" title="class in org.apache.hadoop.hbase.client">TestAdmin1</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html#testInvalidMerges--">testInvalidMerges()</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html" title="class in org.apache.hadoop.hbase.quotas">TestQuotaGlobalsSettingsBypass</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/bucket/TestBucketCache.html#testInvalidMinFactorConfig--">testInvalidMinFactorConfig()</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.bucket.<a href="org/apache/hadoop/hbase/io/hfile/bucket/TestBucketCache.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">TestBucketCache</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/TestTableName.html#testInvalidNamespace--">testInvalidNamespace()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/TestTableName.html" title="class in org.apache.hadoop.hbase">TestTableName</a></dt>
@@ -48344,6 +48360,10 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/TestHRegion.html#testMemstoreSnapshotSize--">testMemstoreSnapshotSize()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestHRegion.html" title="class in org.apache.hadoop.hbase.regionserver">TestHRegion</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html#testMerge--">testMerge()</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html" title="class in org.apache.hadoop.hbase.quotas">TestQuotaGlobalsSettingsBypass</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/TestThrottleSettings.html#testMerge--">testMerge()</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/TestThrottleSettings.html" title="class in org.apache.hadoop.hbase.quotas">TestThrottleSettings</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.html#testMerge--">testMerge()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.html" title="class in org.apache.hadoop.hbase.regionserver">TestRegionMergeTransactionOnCluster</a></dt>
 <dd>
 <div class="block">This test tests 1, merging region not online;
@@ -48391,6 +48411,8 @@
 <dd>
 <div class="block">This tests two concurrent region merges</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html#testMergeSpace--">testMergeSpace()</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">TestGlobalQuotaSettings</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#testMergeSwitch--">testMergeSwitch()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncRegionAdminApi</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestSplitOrMergeStatus.html#testMergeSwitch--">testMergeSwitch()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestSplitOrMergeStatus.html" title="class in org.apache.hadoop.hbase.client">TestSplitOrMergeStatus</a></dt>
@@ -48401,6 +48423,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/assignment/TestMergeTableRegionsProcedure.html#TestMergeTableRegionsProcedure--">TestMergeTableRegionsProcedure()</a></span> - Constructor for class org.apache.hadoop.hbase.master.assignment.<a href="org/apache/hadoop/hbase/master/assignment/TestMergeTableRegionsProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">TestMergeTableRegionsProcedure</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html#testMergeThrottle--">testMergeThrottle()</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">TestGlobalQuotaSettings</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html#testMergeThrottleAndSpace--">testMergeThrottleAndSpace()</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">TestGlobalQuotaSettings</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/assignment/TestMergeTableRegionsProcedure.html#testMergeTwoRegions--">testMergeTwoRegions()</a></span> - Method in class org.apache.hadoop.hbase.master.assignment.<a href="org/apache/hadoop/hbase/master/assignment/TestMergeTableRegionsProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">TestMergeTableRegionsProcedure</a></dt>
 <dd>
 <div class="block">This tests two region merges</div>
@@ -49967,6 +49993,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/compactions/TestStripeCompactionPolicy.html#testNothingToCompactFromL0--">testNothingToCompactFromL0()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.compactions.<a href="org/apache/hadoop/hbase/regionserver/compactions/TestStripeCompactionPolicy.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">TestStripeCompactionPolicy</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/TestThrottleSettings.html#testNoThrottleReturnsOriginal--">testNoThrottleReturnsOriginal()</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/TestThrottleSettings.html" title="class in org.apache.hadoop.hbase.quotas">TestThrottleSettings</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/TestMetaTableLocator.html#testNoTimeoutWaitForMeta--">testNoTimeoutWaitForMeta()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/TestMetaTableLocator.html" title="class in org.apache.hadoop.hbase">TestMetaTableLocator</a></dt>
 <dd>
 <div class="block">Test waiting on meat w/ no timeout specified.</div>
@@ -51347,6 +51375,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/TestQuotaFilter.html#TestQuotaFilter--">TestQuotaFilter()</a></span> - Constructor for class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/TestQuotaFilter.html" title="class in org.apache.hadoop.hbase.quotas">TestQuotaFilter</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">TestQuotaGlobalsSettingsBypass</span></a> - Class in <a href="org/apache/hadoop/hbase/quotas/package-summary.html">org.apache.hadoop.hbase.quotas</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html#TestQuotaGlobalsSettingsBypass--">TestQuotaGlobalsSettingsBypass()</a></span> - Constructor for class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html" title="class in org.apache.hadoop.hbase.quotas">TestQuotaGlobalsSettingsBypass</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html#testQuotaMerging--">testQuotaMerging()</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html" title="class in org.apache.hadoop.hbase.quotas">TestSpaceLimitSettings</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/TestGlobalThrottler.html#testQuotaNonZero">testQuotaNonZero</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/TestGlobalThrottler.html" title="class in org.apache.hadoop.hbase.replication.regionserver">TestGlobalThrottler</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/quotas/TestQuotaObserverChore.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">TestQuotaObserverChore</span></a> - Class in <a href="org/apache/hadoop/hbase/quotas/package-summary.html">org.apache.hadoop.hbase.quotas</a></dt>
@@ -56950,6 +56984,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hadoopbackport/TestThrottledInputStream.html#TestThrottledInputStream--">TestThrottledInputStream()</a></span> - Constructor for class org.apache.hadoop.hbase.io.hadoopbackport.<a href="org/apache/hadoop/hbase/io/hadoopbackport/TestThrottledInputStream.html" title="class in org.apache.hadoop.hbase.io.hadoopbackport">TestThrottledInputStream</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/TestThrottleSettings.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">TestThrottleSettings</span></a> - Class in <a href="org/apache/hadoop/hbase/quotas/package-summary.html">org.apache.hadoop.hbase.quotas</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/TestThrottleSettings.html#TestThrottleSettings--">TestThrottleSettings()</a></span> - Constructor for class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/TestThrottleSettings.html" title="class in org.apache.hadoop.hbase.quotas">TestThrottleSettings</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestAsyncQuotaAdminApi.html#testThrottleType--">testThrottleType()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAsyncQuotaAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncQuotaAdminApi</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#testThrottleType--">testThrottleType()</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html" title="class in org.apache.hadoop.hbase.quotas">TestQuotaAdmin</a></dt>
@@ -58620,6 +58658,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/thrift/TestThriftServerCmdLine.html#thriftServer">thriftServer</a></span> - Variable in class org.apache.hadoop.hbase.thrift.<a href="org/apache/hadoop/hbase/thrift/TestThriftServerCmdLine.html" title="class in org.apache.hadoop.hbase.thrift">TestThriftServerCmdLine</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html#THROTTLE">THROTTLE</a></span> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">TestGlobalQuotaSettings</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/TestServerNonceManager.TestRunnable.html#throwable">throwable</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestServerNonceManager.TestRunnable.html" title="class in org.apache.hadoop.hbase.regionserver">TestServerNonceManager.TestRunnable</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapred/TestTableMapReduceUtil.ClassificatorRowReduce.html#throwAccertionError-java.lang.String-">throwAccertionError(String)</a></span> - Method in class org.apache.hadoop.hbase.mapred.<a href="org/apache/hadoop/hbase/mapred/TestTableMapReduceUtil.ClassificatorRowReduce.html" title="class in org.apache.hadoop.hbase.mapred">TestTableMapReduceUtil.ClassificatorRowReduce</a></dt>

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


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html
index bb753e1..77880ed 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html
@@ -51,603 +51,530 @@
 <span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.43"></a>
 <span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.44"></a>
 <span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceLimitRequest;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Throttle;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.ThrottleRequest;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.TimedQuota;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.52"></a>
-<span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.shaded.com.google.common.annotations.VisibleForTesting;<a name="line.54"></a>
-<span class="sourceLineNo">055</span><a name="line.55"></a>
-<span class="sourceLineNo">056</span>/**<a name="line.56"></a>
-<span class="sourceLineNo">057</span> * Master Quota Manager.<a name="line.57"></a>
-<span class="sourceLineNo">058</span> * It is responsible for initialize the quota table on the first-run and<a name="line.58"></a>
-<span class="sourceLineNo">059</span> * provide the admin operations to interact with the quota table.<a name="line.59"></a>
-<span class="sourceLineNo">060</span> *<a name="line.60"></a>
-<span class="sourceLineNo">061</span> * TODO: FUTURE: The master will be responsible to notify each RS of quota changes<a name="line.61"></a>
-<span class="sourceLineNo">062</span> * and it will do the "quota aggregation" when the QuotaScope is CLUSTER.<a name="line.62"></a>
-<span class="sourceLineNo">063</span> */<a name="line.63"></a>
-<span class="sourceLineNo">064</span>@InterfaceAudience.Private<a name="line.64"></a>
-<span class="sourceLineNo">065</span>@InterfaceStability.Evolving<a name="line.65"></a>
-<span class="sourceLineNo">066</span>public class MasterQuotaManager implements RegionStateListener {<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  private static final Log LOG = LogFactory.getLog(MasterQuotaManager.class);<a name="line.67"></a>
-<span class="sourceLineNo">068</span>  private static final Map&lt;HRegionInfo, Long&gt; EMPTY_MAP = Collections.unmodifiableMap(<a name="line.68"></a>
-<span class="sourceLineNo">069</span>      new HashMap&lt;&gt;());<a name="line.69"></a>
-<span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span>  private final MasterServices masterServices;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  private NamedLock&lt;String&gt; namespaceLocks;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  private NamedLock&lt;TableName&gt; tableLocks;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  private NamedLock&lt;String&gt; userLocks;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  private boolean initialized = false;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  private NamespaceAuditor namespaceQuotaManager;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  private ConcurrentHashMap&lt;HRegionInfo, SizeSnapshotWithTimestamp&gt; regionSizes;<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>  public MasterQuotaManager(final MasterServices masterServices) {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    this.masterServices = masterServices;<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>  public void start() throws IOException {<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    // If the user doesn't want the quota support skip all the initializations.<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    if (!QuotaUtil.isQuotaEnabled(masterServices.getConfiguration())) {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      LOG.info("Quota support disabled");<a name="line.86"></a>
-<span class="sourceLineNo">087</span>      return;<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>    // Create the quota table if missing<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    if (!MetaTableAccessor.tableExists(masterServices.getConnection(),<a name="line.91"></a>
-<span class="sourceLineNo">092</span>          QuotaUtil.QUOTA_TABLE_NAME)) {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      LOG.info("Quota table not found. Creating...");<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      createQuotaTable();<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>    LOG.info("Initializing quota support");<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    namespaceLocks = new NamedLock&lt;&gt;();<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    tableLocks = new NamedLock&lt;&gt;();<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    userLocks = new NamedLock&lt;&gt;();<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    regionSizes = new ConcurrentHashMap&lt;&gt;();<a name="line.101"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.46"></a>
+<span class="sourceLineNo">047</span><a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.shaded.com.google.common.annotations.VisibleForTesting;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat;<a name="line.49"></a>
+<span class="sourceLineNo">050</span><a name="line.50"></a>
+<span class="sourceLineNo">051</span>/**<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * Master Quota Manager.<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * It is responsible for initialize the quota table on the first-run and<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * provide the admin operations to interact with the quota table.<a name="line.54"></a>
+<span class="sourceLineNo">055</span> *<a name="line.55"></a>
+<span class="sourceLineNo">056</span> * TODO: FUTURE: The master will be responsible to notify each RS of quota changes<a name="line.56"></a>
+<span class="sourceLineNo">057</span> * and it will do the "quota aggregation" when the QuotaScope is CLUSTER.<a name="line.57"></a>
+<span class="sourceLineNo">058</span> */<a name="line.58"></a>
+<span class="sourceLineNo">059</span>@InterfaceAudience.Private<a name="line.59"></a>
+<span class="sourceLineNo">060</span>@InterfaceStability.Evolving<a name="line.60"></a>
+<span class="sourceLineNo">061</span>public class MasterQuotaManager implements RegionStateListener {<a name="line.61"></a>
+<span class="sourceLineNo">062</span>  private static final Log LOG = LogFactory.getLog(MasterQuotaManager.class);<a name="line.62"></a>
+<span class="sourceLineNo">063</span>  private static final Map&lt;HRegionInfo, Long&gt; EMPTY_MAP = Collections.unmodifiableMap(<a name="line.63"></a>
+<span class="sourceLineNo">064</span>      new HashMap&lt;&gt;());<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span>  private final MasterServices masterServices;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>  private NamedLock&lt;String&gt; namespaceLocks;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  private NamedLock&lt;TableName&gt; tableLocks;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  private NamedLock&lt;String&gt; userLocks;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>  private boolean initialized = false;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  private NamespaceAuditor namespaceQuotaManager;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>  private ConcurrentHashMap&lt;HRegionInfo, SizeSnapshotWithTimestamp&gt; regionSizes;<a name="line.72"></a>
+<span class="sourceLineNo">073</span><a name="line.73"></a>
+<span class="sourceLineNo">074</span>  public MasterQuotaManager(final MasterServices masterServices) {<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    this.masterServices = masterServices;<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>  public void start() throws IOException {<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    // If the user doesn't want the quota support skip all the initializations.<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    if (!QuotaUtil.isQuotaEnabled(masterServices.getConfiguration())) {<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      LOG.info("Quota support disabled");<a name="line.81"></a>
+<span class="sourceLineNo">082</span>      return;<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>    // Create the quota table if missing<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    if (!MetaTableAccessor.tableExists(masterServices.getConnection(),<a name="line.86"></a>
+<span class="sourceLineNo">087</span>          QuotaUtil.QUOTA_TABLE_NAME)) {<a name="line.87"></a>
+<span class="sourceLineNo">088</span>      LOG.info("Quota table not found. Creating...");<a name="line.88"></a>
+<span class="sourceLineNo">089</span>      createQuotaTable();<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>    LOG.info("Initializing quota support");<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    namespaceLocks = new NamedLock&lt;&gt;();<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    tableLocks = new NamedLock&lt;&gt;();<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    userLocks = new NamedLock&lt;&gt;();<a name="line.95"></a>
+<span class="sourceLineNo">096</span>    regionSizes = new ConcurrentHashMap&lt;&gt;();<a name="line.96"></a>
+<span class="sourceLineNo">097</span><a name="line.97"></a>
+<span class="sourceLineNo">098</span>    namespaceQuotaManager = new NamespaceAuditor(masterServices);<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    namespaceQuotaManager.start();<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    initialized = true;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  }<a name="line.101"></a>
 <span class="sourceLineNo">102</span><a name="line.102"></a>
-<span class="sourceLineNo">103</span>    namespaceQuotaManager = new NamespaceAuditor(masterServices);<a name="line.103"></a>
-<span class="sourceLineNo">104</span>    namespaceQuotaManager.start();<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    initialized = true;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  }<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>  public void stop() {<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 boolean isQuotaInitialized() {<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    return initialized &amp;&amp; namespaceQuotaManager.isInitialized();<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  }<a name="line.113"></a>
-<span class="sourceLineNo">114</span><a name="line.114"></a>
-<span class="sourceLineNo">115</span>  /* ==========================================================================<a name="line.115"></a>
-<span class="sourceLineNo">116</span>   *  Admin operations to manage the quota table<a name="line.116"></a>
-<span class="sourceLineNo">117</span>   */<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  public SetQuotaResponse setQuota(final SetQuotaRequest req)<a name="line.118"></a>
-<span class="sourceLineNo">119</span>      throws IOException, InterruptedException {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    checkQuotaSupport();<a name="line.120"></a>
-<span class="sourceLineNo">121</span><a name="line.121"></a>
-<span class="sourceLineNo">122</span>    if (req.hasUserName()) {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      userLocks.lock(req.getUserName());<a name="line.123"></a>
-<span class="sourceLineNo">124</span>      try {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>        if (req.hasTableName()) {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>          setUserQuota(req.getUserName(), ProtobufUtil.toTableName(req.getTableName()), req);<a name="line.126"></a>
-<span class="sourceLineNo">127</span>        } else if (req.hasNamespace()) {<a name="line.127"></a>
-<span class="sourceLineNo">128</span>          setUserQuota(req.getUserName(), req.getNamespace(), req);<a name="line.128"></a>
-<span class="sourceLineNo">129</span>        } else {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>          setUserQuota(req.getUserName(), req);<a name="line.130"></a>
-<span class="sourceLineNo">131</span>        }<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      } finally {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>        userLocks.unlock(req.getUserName());<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      }<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    } else if (req.hasTableName()) {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>      TableName table = ProtobufUtil.toTableName(req.getTableName());<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      tableLocks.lock(table);<a name="line.137"></a>
-<span class="sourceLineNo">138</span>      try {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>        setTableQuota(table, req);<a name="line.139"></a>
-<span class="sourceLineNo">140</span>      } finally {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>        tableLocks.unlock(table);<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      }<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    } else if (req.hasNamespace()) {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      namespaceLocks.lock(req.getNamespace());<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      try {<a name="line.145"></a>
-<span class="sourceLineNo">146</span>        setNamespaceQuota(req.getNamespace(), req);<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      } finally {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        namespaceLocks.unlock(req.getNamespace());<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      }<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    } else {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      throw new DoNotRetryIOException(<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        new UnsupportedOperationException("a user, a table or a namespace must be specified"));<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    }<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    return SetQuotaResponse.newBuilder().build();<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>  public void setUserQuota(final String userName, final SetQuotaRequest req)<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      throws IOException, InterruptedException {<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    setQuota(req, new SetQuotaOperations() {<a name="line.159"></a>
+<span class="sourceLineNo">103</span>  public void stop() {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>  }<a name="line.104"></a>
+<span class="sourceLineNo">105</span><a name="line.105"></a>
+<span class="sourceLineNo">106</span>  public boolean isQuotaInitialized() {<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    return initialized &amp;&amp; namespaceQuotaManager.isInitialized();<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>   *  Admin operations to manage the quota table<a name="line.111"></a>
+<span class="sourceLineNo">112</span>   */<a name="line.112"></a>
+<span class="sourceLineNo">113</span>  public SetQuotaResponse setQuota(final SetQuotaRequest req)<a name="line.113"></a>
+<span class="sourceLineNo">114</span>      throws IOException, InterruptedException {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    checkQuotaSupport();<a name="line.115"></a>
+<span class="sourceLineNo">116</span><a name="line.116"></a>
+<span class="sourceLineNo">117</span>    if (req.hasUserName()) {<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      userLocks.lock(req.getUserName());<a name="line.118"></a>
+<span class="sourceLineNo">119</span>      try {<a name="line.119"></a>
+<span class="sourceLineNo">120</span>        if (req.hasTableName()) {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>          setUserQuota(req.getUserName(), ProtobufUtil.toTableName(req.getTableName()), req);<a name="line.121"></a>
+<span class="sourceLineNo">122</span>        } else if (req.hasNamespace()) {<a name="line.122"></a>
+<span class="sourceLineNo">123</span>          setUserQuota(req.getUserName(), req.getNamespace(), req);<a name="line.123"></a>
+<span class="sourceLineNo">124</span>        } else {<a name="line.124"></a>
+<span class="sourceLineNo">125</span>          setUserQuota(req.getUserName(), req);<a name="line.125"></a>
+<span class="sourceLineNo">126</span>        }<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      } finally {<a name="line.127"></a>
+<span class="sourceLineNo">128</span>        userLocks.unlock(req.getUserName());<a name="line.128"></a>
+<span class="sourceLineNo">129</span>      }<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    } else if (req.hasTableName()) {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      TableName table = ProtobufUtil.toTableName(req.getTableName());<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      tableLocks.lock(table);<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      try {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>        setTableQuota(table, req);<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      } finally {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>        tableLocks.unlock(table);<a name="line.136"></a>
+<span class="sourceLineNo">137</span>      }<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    } else if (req.hasNamespace()) {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      namespaceLocks.lock(req.getNamespace());<a name="line.139"></a>
+<span class="sourceLineNo">140</span>      try {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>        setNamespaceQuota(req.getNamespace(), req);<a name="line.141"></a>
+<span class="sourceLineNo">142</span>      } finally {<a name="line.142"></a>
+<span class="sourceLineNo">143</span>        namespaceLocks.unlock(req.getNamespace());<a name="line.143"></a>
+<span class="sourceLineNo">144</span>      }<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    } else {<a name="line.145"></a>
+<span class="sourceLineNo">146</span>      throw new DoNotRetryIOException(<a name="line.146"></a>
+<span class="sourceLineNo">147</span>        new UnsupportedOperationException("a user, a table or a namespace must be specified"));<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    }<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    return SetQuotaResponse.newBuilder().build();<a name="line.149"></a>
+<span class="sourceLineNo">150</span>  }<a name="line.150"></a>
+<span class="sourceLineNo">151</span><a name="line.151"></a>
+<span class="sourceLineNo">152</span>  public void setUserQuota(final String userName, final SetQuotaRequest req)<a name="line.152"></a>
+<span class="sourceLineNo">153</span>      throws IOException, InterruptedException {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    setQuota(req, new SetQuotaOperations() {<a name="line.154"></a>
+<span class="sourceLineNo">155</span>      @Override<a name="line.155"></a>
+<span class="sourceLineNo">156</span>      public GlobalQuotaSettings fetch() throws IOException {<a name="line.156"></a>
+<span class="sourceLineNo">157</span>        return new GlobalQuotaSettings(req.getUserName(), null, null, QuotaUtil.getUserQuota(<a name="line.157"></a>
+<span class="sourceLineNo">158</span>            masterServices.getConnection(), userName));<a name="line.158"></a>
+<span class="sourceLineNo">159</span>      }<a name="line.159"></a>
 <span class="sourceLineNo">160</span>      @Override<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      public Quotas fetch() throws IOException {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>        return QuotaUtil.getUserQuota(masterServices.getConnection(), userName);<a name="line.162"></a>
+<span class="sourceLineNo">161</span>      public void update(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>        QuotaUtil.addUserQuota(masterServices.getConnection(), userName, quotaPojo.toQuotas());<a name="line.162"></a>
 <span class="sourceLineNo">163</span>      }<a name="line.163"></a>
 <span class="sourceLineNo">164</span>      @Override<a name="line.164"></a>
-<span class="sourceLineNo">165</span>      public void update(final Quotas quotas) throws IOException {<a name="line.165"></a>
-<span class="sourceLineNo">166</span>        QuotaUtil.addUserQuota(masterServices.getConnection(), userName, quotas);<a name="line.166"></a>
+<span class="sourceLineNo">165</span>      public void delete() throws IOException {<a name="line.165"></a>
+<span class="sourceLineNo">166</span>        QuotaUtil.deleteUserQuota(masterServices.getConnection(), userName);<a name="line.166"></a>
 <span class="sourceLineNo">167</span>      }<a name="line.167"></a>
 <span class="sourceLineNo">168</span>      @Override<a name="line.168"></a>
-<span class="sourceLineNo">169</span>      public void delete() throws IOException {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>        QuotaUtil.deleteUserQuota(masterServices.getConnection(), userName);<a name="line.170"></a>
+<span class="sourceLineNo">169</span>      public void preApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.169"></a>
+<span class="sourceLineNo">170</span>        masterServices.getMasterCoprocessorHost().preSetUserQuota(userName, quotaPojo);<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 preApply(final Quotas quotas) throws IOException {<a name="line.173"></a>
-<span class="sourceLineNo">174</span>        masterServices.getMasterCoprocessorHost().preSetUserQuota(userName, quotas);<a name="line.174"></a>
+<span class="sourceLineNo">173</span>      public void postApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        masterServices.getMasterCoprocessorHost().postSetUserQuota(userName, quotaPojo);<a name="line.174"></a>
 <span class="sourceLineNo">175</span>      }<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      @Override<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      public void postApply(final Quotas quotas) throws IOException {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>        masterServices.getMasterCoprocessorHost().postSetUserQuota(userName, quotas);<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    });<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  }<a name="line.181"></a>
-<span class="sourceLineNo">182</span><a name="line.182"></a>
-<span class="sourceLineNo">183</span>  public void setUserQuota(final String userName, final TableName table,<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      final SetQuotaRequest req) throws IOException, InterruptedException {<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    setQuota(req, new SetQuotaOperations() {<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      @Override<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      public Quotas fetch() throws IOException {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>        return QuotaUtil.getUserQuota(masterServices.getConnection(), userName, table);<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>      public void update(final Quotas quotas) throws IOException {<a name="line.191"></a>
-<span class="sourceLineNo">192</span>        QuotaUtil.addUserQuota(masterServices.getConnection(), userName, table, quotas);<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 void delete() throws IOException {<a name="line.195"></a>
-<span class="sourceLineNo">196</span>        QuotaUtil.deleteUserQuota(masterServices.getConnection(), userName, table);<a name="line.196"></a>
-<span class="sourceLineNo">197</span>      }<a name="line.197"></a>
-<span class="sourceLineNo">198</span>      @Override<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      public void preApply(final Quotas quotas) throws IOException {<a name="line.199"></a>
-<span class="sourceLineNo">200</span>        masterServices.getMasterCoprocessorHost().preSetUserQuota(userName, table, quotas);<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      }<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      @Override<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      public void postApply(final Quotas quotas) throws IOException {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>        masterServices.getMasterCoprocessorHost().postSetUserQuota(userName, table, quotas);<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>  public void setUserQuota(final String userName, final String namespace,<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      final SetQuotaRequest req) throws IOException, InterruptedException {<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    setQuota(req, new SetQuotaOperations() {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>      @Override<a name="line.212"></a>
-<span class="sourceLineNo">213</span>      public Quotas fetch() throws IOException {<a name="line.213"></a>
-<span class="sourceLineNo">214</span>        return QuotaUtil.getUserQuota(masterServices.getConnection(), userName, namespace);<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 update(final Quotas quotas) throws IOException {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>        QuotaUtil.addUserQuota(masterServices.getConnection(), userName, namespace, quotas);<a name="line.218"></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>  public void setUserQuota(final String userName, final TableName table,<a name="line.179"></a>
+<span class="sourceLineNo">180</span>      final SetQuotaRequest req) throws IOException, InterruptedException {<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    setQuota(req, new SetQuotaOperations() {<a name="line.181"></a>
+<span class="sourceLineNo">182</span>      @Override<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      public GlobalQuotaSettings fetch() throws IOException {<a name="line.183"></a>
+<span class="sourceLineNo">184</span>        return new GlobalQuotaSettings(userName, table, null, QuotaUtil.getUserQuota(<a name="line.184"></a>
+<span class="sourceLineNo">185</span>            masterServices.getConnection(), userName, table));<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>      public void update(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.188"></a>
+<span class="sourceLineNo">189</span>        QuotaUtil.addUserQuota(masterServices.getConnection(), userName, table,<a name="line.189"></a>
+<span class="sourceLineNo">190</span>            quotaPojo.toQuotas());<a name="line.190"></a>
+<span class="sourceLineNo">191</span>      }<a name="line.191"></a>
+<span class="sourceLineNo">192</span>      @Override<a name="line.192"></a>
+<span class="sourceLineNo">193</span>      public void delete() throws IOException {<a name="line.193"></a>
+<span class="sourceLineNo">194</span>        QuotaUtil.deleteUserQuota(masterServices.getConnection(), userName, table);<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 preApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>        masterServices.getMasterCoprocessorHost().preSetUserQuota(userName, table, quotaPojo);<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>      public void postApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.201"></a>
+<span class="sourceLineNo">202</span>        masterServices.getMasterCoprocessorHost().postSetUserQuota(userName, table, quotaPojo);<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><a name="line.206"></a>
+<span class="sourceLineNo">207</span>  public void setUserQuota(final String userName, final String namespace,<a name="line.207"></a>
+<span class="sourceLineNo">208</span>      final SetQuotaRequest req) throws IOException, InterruptedException {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    setQuota(req, new SetQuotaOperations() {<a name="line.209"></a>
+<span class="sourceLineNo">210</span>      @Override<a name="line.210"></a>
+<span class="sourceLineNo">211</span>      public GlobalQuotaSettings fetch() throws IOException {<a name="line.211"></a>
+<span class="sourceLineNo">212</span>        return new GlobalQuotaSettings(userName, null, namespace, QuotaUtil.getUserQuota(<a name="line.212"></a>
+<span class="sourceLineNo">213</span>            masterServices.getConnection(), userName, namespace));<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 update(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.216"></a>
+<span class="sourceLineNo">217</span>        QuotaUtil.addUserQuota(masterServices.getConnection(), userName, namespace,<a name="line.217"></a>
+<span class="sourceLineNo">218</span>            quotaPojo.toQuotas());<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 void delete() throws IOException {<a name="line.221"></a>
 <span class="sourceLineNo">222</span>        QuotaUtil.deleteUserQuota(masterServices.getConnection(), userName, namespace);<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 void preApply(final Quotas quotas) throws IOException {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>        masterServices.getMasterCoprocessorHost().preSetUserQuota(userName, namespace, quotas);<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 void postApply(final Quotas quotas) throws IOException {<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        masterServices.getMasterCoprocessorHost().postSetUserQuota(userName, namespace, quotas);<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>  public void setTableQuota(final TableName table, final SetQuotaRequest req)<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      throws IOException, InterruptedException {<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    setQuota(req, new SetQuotaOperations() {<a name="line.237"></a>
-<span class="sourceLineNo">238</span>      @Override<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      public Quotas fetch() throws IOException {<a name="line.239"></a>
-<span class="sourceLineNo">240</span>        return QuotaUtil.getTableQuota(masterServices.getConnection(), table);<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 update(final Quotas quotas) throws IOException {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>        QuotaUtil.addTableQuota(masterServices.getConnection(), table, quotas);<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 delete() throws IOException {<a name="line.247"></a>
-<span class="sourceLineNo">248</span>        QuotaUtil.deleteTableQuota(masterServices.getConnection(), table);<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 preApply(final Quotas quotas) throws IOException {<a name="line.251"></a>
-<span class="sourceLineNo">252</span>        masterServices.getMasterCoprocessorHost().preSetTableQuota(table, quotas);<a name="line.252"></a>
-<span class="sourceLineNo">253</span>      }<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      @Override<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      public void postApply(final Quotas quotas) throws IOException {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>        masterServices.getMasterCoprocessorHost().postSetTableQuota(table, quotas);<a name="line.256"></a>
-<span class="sourceLineNo">257</span>      }<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    });<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  }<a name="line.259"></a>
-<span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span>  public void setNamespaceQuota(final String namespace, final SetQuotaRequest req)<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      throws IOException, InterruptedException {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    setQuota(req, new SetQuotaOperations() {<a name="line.263"></a>
-<span class="sourceLineNo">264</span>      @Override<a name="line.264"></a>
-<span class="sourceLineNo">265</span>      public Quotas fetch() throws IOException {<a name="line.265"></a>
-<span class="sourceLineNo">266</span>        return QuotaUtil.getNamespaceQuota(masterServices.getConnection(), namespace);<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      }<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      @Override<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      public void update(final Quotas quotas) throws IOException {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>        QuotaUtil.addNamespaceQuota(masterServices.getConnection(), namespace, quotas);<a name="line.270"></a>
+<span class="sourceLineNo">225</span>      public void preApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.225"></a>
+<span class="sourceLineNo">226</span>        masterServices.getMasterCoprocessorHost().preSetUserQuota(<a name="line.226"></a>
+<span class="sourceLineNo">227</span>            userName, namespace, quotaPojo);<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 postApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>        masterServices.getMasterCoprocessorHost().postSetUserQuota(<a name="line.231"></a>
+<span class="sourceLineNo">232</span>            userName, namespace, quotaPojo);<a name="line.232"></a>
+<span class="sourceLineNo">233</span>      }<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    });<a name="line.234"></a>
+<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
+<span class="sourceLineNo">236</span><a name="line.236"></a>
+<span class="sourceLineNo">237</span>  public void setTableQuota(final TableName table, final SetQuotaRequest req)<a name="line.237"></a>
+<span class="sourceLineNo">238</span>      throws IOException, InterruptedException {<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    setQuota(req, new SetQuotaOperations() {<a name="line.239"></a>
+<span class="sourceLineNo">240</span>      @Override<a name="line.240"></a>
+<span class="sourceLineNo">241</span>      public GlobalQuotaSettings fetch() throws IOException {<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        return new GlobalQuotaSettings(null, table, null, QuotaUtil.getTableQuota(<a name="line.242"></a>
+<span class="sourceLineNo">243</span>            masterServices.getConnection(), table));<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 void update(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.246"></a>
+<span class="sourceLineNo">247</span>        QuotaUtil.addTableQuota(masterServices.getConnection(), table, quotaPojo.toQuotas());<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 delete() throws IOException {<a name="line.250"></a>
+<span class="sourceLineNo">251</span>        QuotaUtil.deleteTableQuota(masterServices.getConnection(), table);<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 preApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.254"></a>
+<span class="sourceLineNo">255</span>        masterServices.getMasterCoprocessorHost().preSetTableQuota(table, quotaPojo);<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 void postApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.258"></a>
+<span class="sourceLineNo">259</span>        masterServices.getMasterCoprocessorHost().postSetTableQuota(table, quotaPojo);<a name="line.259"></a>
+<span class="sourceLineNo">260</span>      }<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    });<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  }<a name="line.262"></a>
+<span class="sourceLineNo">263</span><a name="line.263"></a>
+<span class="sourceLineNo">264</span>  public void setNamespaceQuota(final String namespace, final SetQuotaRequest req)<a name="line.264"></a>
+<span class="sourceLineNo">265</span>      throws IOException, InterruptedException {<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    setQuota(req, new SetQuotaOperations() {<a name="line.266"></a>
+<span class="sourceLineNo">267</span>      @Override<a name="line.267"></a>
+<span class="sourceLineNo">268</span>      public GlobalQuotaSettings fetch() throws IOException {<a name="line.268"></a>
+<span class="sourceLineNo">269</span>        return new GlobalQuotaSettings(null, null, namespace, QuotaUtil.getNamespaceQuota(<a name="line.269"></a>
+<span class="sourceLineNo">270</span>                masterServices.getConnection(), namespace));<a name="line.270"></a>
 <span class="sourceLineNo">271</span>      }<a name="line.271"></a>
 <span class="sourceLineNo">272</span>      @Override<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      public void delete() throws IOException {<a name="line.273"></a>
-<span class="sourceLineNo">274</span>        QuotaUtil.deleteNamespaceQuota(masterServices.getConnection(), namespace);<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      }<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      @Override<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      public void preApply(final Quotas quotas) throws IOException {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>        masterServices.getMasterCoprocessorHost().preSetNamespaceQuota(namespace, quotas);<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      }<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      @Override<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      public void postApply(final Quotas quotas) throws IOException {<a name="line.281"></a>
-<span class="sourceLineNo">282</span>        masterServices.getMasterCoprocessorHost().postSetNamespaceQuota(namespace, quotas);<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      }<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    });<a name="line.284"></a>
-<span class="sourceLineNo">285</span>  }<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>  public void setNamespaceQuota(NamespaceDescriptor desc) throws IOException {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    if (initialized) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      this.namespaceQuotaManager.addNamespace(desc);<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>  public void removeNamespaceQuota(String namespace) throws IOException {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    if (initialized) {<a name="line.294"></a>
-<span class="sourceLineNo">295</span>      this.namespaceQuotaManager.deleteNamespace(namespace);<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>  private void setQuota(final SetQuotaRequest req, final SetQuotaOperations quotaOps)<a name="line.299"></a>
-<span class="sourceLineNo">300</span>      throws IOException, InterruptedException {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    if (req.hasRemoveAll() &amp;&amp; req.getRemoveAll() == true) {<a name="line.301"></a>
-<span class="sourceLineNo">302</span>      quotaOps.preApply(null);<a name="line.302"></a>
-<span class="sourceLineNo">303</span>      quotaOps.delete();<a name="line.303"></a>
-<span class="sourceLineNo">304</span>      quotaOps.postApply(null);<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      return;<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>    // Apply quota changes<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    Quotas quotas = quotaOps.fetch();<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    quotaOps.preApply(quotas);<a name="line.310"></a>
-<span class="sourceLineNo">311</span><a name="line.311"></a>
-<span class="sourceLineNo">312</span>    // Copy the user request into the Quotas object<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    Quotas.Builder builder = (quotas != null) ? quotas.toBuilder() : Quotas.newBuilder();<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    if (req.hasThrottle()) applyThrottle(builder, req.getThrottle());<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    if (req.hasBypassGlobals()) applyBypassGlobals(builder, req.getBypassGlobals());<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    if (req.hasSpaceLimit()) applySpaceLimit(builder, req.getSpaceLimit());<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>    // Submit new changes<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    quotas = builder.build();<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    if (QuotaUtil.isEmptyQuota(quotas)) {<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      quotaOps.delete();<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    } else {<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      quotaOps.update(quotas);<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    }<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    quotaOps.postApply(quotas);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>  }<a name="line.326"></a>
+<span class="sourceLineNo">273</span>      public void update(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.273"></a>
+<span class="sourceLineNo">274</span>        QuotaUtil.addNamespaceQuota(masterServices.getConnection(), namespace,<a name="line.274"></a>
+<span class="sourceLineNo">275</span>            ((GlobalQuotaSettings) quotaPojo).toQuotas());<a name="line.275"></a>
+<span class="sourceLineNo">276</span>      }<a name="line.276"></a>
+<span class="sourceLineNo">277</span>      @Override<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      public void delete() throws IOException {<a name="line.278"></a>
+<span class="sourceLineNo">279</span>        QuotaUtil.deleteNamespaceQuota(masterServices.getConnection(), namespace);<a name="line.279"></a>
+<span class="sourceLineNo">280</span>      }<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      @Override<a name="line.281"></a>
+<span class="sourceLineNo">282</span>      public void preApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.282"></a>
+<span class="sourceLineNo">283</span>        masterServices.getMasterCoprocessorHost().preSetNamespaceQuota(namespace, quotaPojo);<a name="line.283"></a>
+<span class="sourceLineNo">284</span>      }<a name="line.284"></a>
+<span class="sourceLineNo">285</span>      @Override<a name="line.285"></a>
+<span class="sourceLineNo">286</span>      public void postApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.286"></a>
+<span class="sourceLineNo">287</span>        masterServices.getMasterCoprocessorHost().postSetNamespaceQuota(namespace, quotaPojo);<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><a name="line.291"></a>
+<span class="sourceLineNo">292</span>  public void setNamespaceQuota(NamespaceDescriptor desc) throws IOException {<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    if (initialized) {<a name="line.293"></a>
+<span class="sourceLineNo">294</span>      this.namespaceQuotaManager.addNamespace(desc);<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>  public void removeNamespaceQuota(String namespace) throws IOException {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    if (initialized) {<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      this.namespaceQuotaManager.deleteNamespace(namespace);<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    }<a name="line.301"></a>
+<span class="sourceLineNo">302</span>  }<a name="line.302"></a>
+<span class="sourceLineNo">303</span><a name="line.303"></a>
+<span class="sourceLineNo">304</span>  private void setQuota(final SetQuotaRequest req, final SetQuotaOperations quotaOps)<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      throws IOException, InterruptedException {<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    if (req.hasRemoveAll() &amp;&amp; req.getRemoveAll() == true) {<a name="line.306"></a>
+<span class="sourceLineNo">307</span>      quotaOps.preApply(null);<a name="line.307"></a>
+<span class="sourceLineNo">308</span>      quotaOps.delete();<a name="line.308"></a>
+<span class="sourceLineNo">309</span>      quotaOps.postApply(null);<a name="line.309"></a>
+<span class="sourceLineNo">310</span>      return;<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>    // Apply quota changes<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    GlobalQuotaSettings currentQuota = quotaOps.fetch();<a name="line.314"></a>
+<span class="sourceLineNo">315</span>    if (LOG.isTraceEnabled()) {<a name="line.315"></a>
+<span class="sourceLineNo">316</span>      LOG.trace(<a name="line.316"></a>
+<span class="sourceLineNo">317</span>          "Current quota for request(" + TextFormat.shortDebugString(req)<a name="line.317"></a>
+<span class="sourceLineNo">318</span>              + "): " + currentQuota);<a name="line.318"></a>
+<span class="sourceLineNo">319</span>    }<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    // Call the appropriate "pre" CP hook with the current quota value (may be null)<a name="line.320"></a>
+<span class="sourceLineNo">321</span>    quotaOps.preApply(currentQuota);<a name="line.321"></a>
+<span class="sourceLineNo">322</span>    // Translate the protobuf request back into a POJO<a name="line.322"></a>
+<span class="sourceLineNo">323</span>    QuotaSettings newQuota = QuotaSettings.buildFromProto(req);<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    if (LOG.isTraceEnabled()) {<a name="line.324"></a>
+<span class="sourceLineNo">325</span>      LOG.trace("Deserialized quota from request: " + newQuota);<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 checkNamespaceTableAndRegionQuota(TableName tName, int regions) throws IOException {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    if (initialized) {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      namespaceQuotaManager.checkQuotaToCreateTable(tName, regions);<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    }<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  }<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>  public void checkAndUpdateNamespaceRegionQuota(TableName tName, int regions) throws IOException {<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    if (initialized) {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      namespaceQuotaManager.checkQuotaToUpdateRegion(tName, regions);<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    }<a name="line.337"></a>
-<span class="sourceLineNo">338</span>  }<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>  /**<a name="line.340"></a>
-<span class="sourceLineNo">341</span>   * @return cached region count, or -1 if quota manager is disabled or table status not found<a name="line.341"></a>
-<span class="sourceLineNo">342</span>  */<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  public int getRegionCountOfTable(TableName tName) throws IOException {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    if (initialized) {<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      return namespaceQuotaManager.getRegionCountOfTable(tName);<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    }<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return -1;<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  public void onRegionMerged(HRegionInfo mergedRegion) throws IOException {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    if (initialized) {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      namespaceQuotaManager.updateQuotaForRegionMerge(mergedRegion);<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>  @Override<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  public void onRegionSplit(HRegionInfo hri) throws IOException {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    if (initialized) {<a name="line.359"></a>
-<span class="sourceLineNo">360</span>      namespaceQuotaManager.checkQuotaToSplitRegion(hri);<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 table from namespace quota.<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   *<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * @param tName - The table name to update quota usage.<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * @throws IOException Signals that an I/O exception has occurred.<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   */<a name="line.369"></a>
-<span class="sourceLineNo">370</span>  public void removeTableFromNamespaceQuota(TableName tName) throws IOException {<a name="line.370"></a>
+<span class="sourceLineNo">328</span>    // Merge the current quota settings with the new quota settings the user provided.<a name="line.328"></a>
+<span class="sourceLineNo">329</span>    //<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    // NB: while SetQuotaRequest technically allows for multi types of quotas to be set in one<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    // message, the Java API (in Admin/AsyncAdmin) does not. Assume there is only one type.<a name="line.331"></a>
+<span class="sourceLineNo">332</span>    GlobalQuotaSettings mergedQuota = currentQuota.merge(newQuota);<a name="line.332"></a>
+<span class="sourceLineNo">333</span>    if (LOG.isTraceEnabled()) {<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      LOG.trace("Computed merged quota from current quota and user request: " + mergedQuota);<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>    // Submit new changes<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    if (mergedQuota == null) {<a name="line.338"></a>
+<span class="sourceLineNo">339</span>      quotaOps.delete();<a name="line.339"></a>
+<span class="sourceLineNo">340</span>    } else {<a name="line.340"></a>
+<span class="sourceLineNo">341</span>      quotaOps.update(mergedQuota);<a name="line.341"></a>
+<span class="sourceLineNo">342</span>    }<a name="line.342"></a>
+<span class="sourceLineNo">343</span>    // Advertise the final result via the "post" CP hook<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    quotaOps.postApply(mergedQuota);<a name="line.344"></a>
+<span class="sourceLineNo">345</span>  }<a name="line.345"></a>
+<span class="sourceLineNo">346</span><a name="line.346"></a>
+<span class="sourceLineNo">347</span>  public void checkNamespaceTableAndRegionQuota(TableName tName, int regions) throws IOException {<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    if (initialized) {<a name="line.348"></a>
+<span class="sourceLineNo">349</span>      namespaceQuotaManager.checkQuotaToCreateTable(tName, regions);<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>  public void checkAndUpdateNamespaceRegionQuota(TableName tName, int regions) throws IOException {<a name="line.353"></a>
+<span class="sourceLineNo">354</span>    if (initialized) {<a name="line.354"></a>
+<span class="sourceLineNo">355</span>      namespaceQuotaManager.checkQuotaToUpdateRegion(tName, regions);<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>   * @return cached region count, or -1 if quota manager is disabled or table status not found<a name="line.360"></a>
+<span class="sourceLineNo">361</span>  */<a name="line.361"></a>
+<span class="sourceLineNo">362</span>  public int getRegionCountOfTable(TableName tName) throws IOException {<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    if (initialized) {<a name="line.363"></a>
+<span class="sourceLineNo">364</span>      return namespaceQuotaManager.getRegionCountOfTable(tName);<a name="line.364"></a>
+<span class="sourceLineNo">365</span>    }<a name="line.365"></a>
+<span class="sourceLineNo">366</span>    return -1;<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>  @Override<a name="line.369"></a>
+<span class="sourceLineNo">370</span>  public void onRegionMerged(HRegionInfo mergedRegion) throws IOException {<a name="line.370"></a>
 <span class="sourceLineNo">371</span>    if (initialized) {<a name="line.371"></a>
-<span class="sourceLineNo">372</span>      namespaceQuotaManager.removeFromNamespaceUsage(tName);<a name="line.372"></a>
+<span class="sourceLineNo">372</span>      namespaceQuotaManager.updateQuotaForRegionMerge(mergedRegion);<a name="line.372"></a>
 <span class="sourceLineNo">373</span>    }<a name="line.373"></a>
 <span class="sourceLineNo">374</span>  }<a name="line.374"></a>
 <span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public NamespaceAuditor getNamespaceQuotaManager() {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    return this.namespaceQuotaManager;<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>  private static interface SetQuotaOperations {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    Quotas fetch() throws IOException;<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    void delete() throws IOException;<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    void update(final Quotas quotas) throws IOException;<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    void preApply(final Quotas quotas) throws IOException;<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    void postApply(final Quotas quotas) throws IOException;<a name="line.385"></a>
-<span class="sourceLineNo">386</span>  }<a name="line.386"></a>
-<span class="sourceLineNo">387</span><a name="line.387"></a>
-<span class="sourceLineNo">388</span>  /* ==========================================================================<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   *  Helpers to apply changes to the quotas<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   */<a name="line.390"></a>
-<span class="sourceLineNo">391</span>  private void applyThrottle(final Quotas.Builder quotas, final ThrottleRequest req)<a name="line.391"></a>
-<span class="sourceLineNo">392</span>      throws IOException {<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    Throttle.Builder throttle;<a name="line.393"></a>
+<span class="sourceLineNo">376</span>  @Override<a name="line.376"></a>
+<span class="sourceLineNo">377</span>  public void onRegionSplit(HRegionInfo hri) throws IOException {<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    if (initialized) {<a name="line.378"></a>
+<span class="sourceLineNo">379</span>      namespaceQuotaManager.checkQuotaToSplitRegion(hri);<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    }<a name="line.380"></a>
+<span class="sourceLineNo">381</span>  }<a name="line.381"></a>
+<span class="sourceLineNo">382</span><a name="line.382"></a>
+<span class="sourceLineNo">383</span>  /**<a name="line.383"></a>
+<span class="sourceLineNo">384</span>   * Remove table from namespace quota.<a name="line.384"></a>
+<span class="sourceLineNo">385</span>   *<a name="line.385"></a>
+<span class="sourceLineNo">386</span>   * @param tName - The table name to update quota usage.<a name="line.386"></a>
+<span class="sourceLineNo">387</span>   * @throws IOException Signals that an I/O exception has occurred.<a name="line.387"></a>
+<span class="sourceLineNo">388</span>   */<a name="line.388"></a>
+<span class="sourceLineNo">389</span>  public void removeTableFromNamespaceQuota(TableName tName) throws IOException {<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    if (initialized) {<a name="line.390"></a>
+<span class="sourceLineNo">391</span>      namespaceQuotaManager.removeFromNamespaceUsage(tName);<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>    if (req.hasType() &amp;&amp; (req.hasTimedQuota() || quotas.hasThrottle())) {<a name="line.395"></a>
-<span class="sourceLineNo">396</span>      // Validate timed quota if present<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      if (req.hasTimedQuota()) validateTimedQuota(req.getTimedQuota());<a name="line.397"></a>
+<span class="sourceLineNo">395</span>  public NamespaceAuditor getNamespaceQuotaManager() {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>    return this.namespaceQuotaManager;<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>      // apply the new settings<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      throttle = quotas.hasThrottle() ? quotas.getThrottle().toBuilder() : Throttle.newBuilder();<a name="line.400"></a>
-<span class="sourceLineNo">401</span><a name="line.401"></a>
-<span class="sourceLineNo">402</span>      switch (req.getType()) {<a name="line.402"></a>
-<span class="sourceLineNo">403</span>        case REQUEST_NUMBER:<a name="line.403"></a>
-<span class="sourceLineNo">404</span>          if (req.hasTimedQuota()) {<a name="line.404"></a>
-<span class="sourceLineNo">405</span>            throttle.setReqNum(req.getTimedQuota());<a name="line.405"></a>
-<span class="sourceLineNo">406</span>          } else {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>            throttle.clearReqNum();<a name="line.407"></a>
-<span class="sourceLineNo">408</span>          }<a name="line.408"></a>
-<span class="sourceLineNo">409</span>          break;<a name="line.409"></a>
-<span class="sourceLineNo">410</span>        case REQUEST_SIZE:<a name="line.410"></a>
-<span class="sourceLineNo">411</span>          if (req.hasTimedQuota()) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>            throttle.setReqSize(req.getTimedQuota());<a name="line.412"></a>
-<span class="sourceLineNo">413</span>          } else {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>            throttle.clearReqSize();<a name="line.414"></a>
-<span class="sourceLineNo">415</span>          }<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          break;<a name="line.416"></a>
-<span class="sourceLineNo">417</span>        case WRITE_NUMBER:<a name="line.417"></a>
-<span class="sourceLineNo">418</span>          if (req.hasTimedQuota()) {<a name="line.418"></a>
-<span class="sourceLineNo">419</span>            throttle.setWriteNum(req.getTimedQuota());<a name="line.419"></a>
-<span class="sourceLineNo">420</span>          } else {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>            throttle.clearWriteNum();<a name="line.421"></a>
-<span class="sourceLineNo">422</span>          }<a name="line.422"></a>
-<span class="sourceLineNo">423</span>          break;<a name="line.423"></a>
-<span class="sourceLineNo">424</span>        case WRITE_SIZE:<a name="line.424"></a>
-<span class="sourceLineNo">425</span>          if (req.hasTimedQuota()) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>            throttle.setWriteSize(req.getTimedQuota());<a name="line.426"></a>
-<span class="sourceLineNo">427</span>          } else {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>            throttle.clearWriteSize();<a name="line.428"></a>
-<span class="sourceLineNo">429</span>          }<a name="line.429"></a>
-<span class="sourceLineNo">430</span>          break;<a name="line.430"></a>
-<span class="sourceLineNo">431</span>        case READ_NUMBER:<a name="line.431"></a>
-<span class="sourceLineNo">432</span>          if (req.hasTimedQuota()) {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>            throttle.setReadNum(req.getTimedQuota());<a name="line.433"></a>
-<span class="sourceLineNo">434</span>          } else {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>            throttle.clearReqNum();<a name="line.435"></a>
-<span class="sourceLineNo">436</span>          }<a name="line.436"></a>
-<span class="sourceLineNo">437</span>          break;<a name="line.437"></a>
-<span class="sourceLineNo">438</span>        case READ_SIZE:<a name="line.438"></a>
-<span class="sourceLineNo">439</span>          if (req.hasTimedQuota()) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span>            throttle.setReadSize(req.getTimedQuota());<a name="line.440"></a>
-<span class="sourceLineNo">441</span>          } else {<a name="line.441"></a>
-<span class="sourceLineNo">442</span>            throttle.clearReadSize();<a name="line.442"></a>
-<span class="sourceLineNo">443</span>          }<a name="line.443"></a>
-<span class="sourceLineNo">444</span>          break;<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      }<a name="line.445"></a>
-<span class="sourceLineNo">446</span>      quotas.setThrottle(throttle.build());<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    } else {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>      quotas.clearThrottle();<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>  private void applyBypassGlobals(final Quotas.Builder quotas, boolean bypassGlobals) {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    if (bypassGlobals) {<a name="line.453"></a>
-<span class="sourceLineNo">454</span>      quotas.setBypassGlobals(bypassGlobals);<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    } else {<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      quotas.clearBypassGlobals();<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    }<a name="line.457"></a>
-<span class="sourceLineNo">458</span>  }<a name="line.458"></a>
-<span class="sourceLineNo">459</span><a name="line.459"></a>
-<span class="sourceLineNo">460</span>  /**<a name="line.460"></a>
-<span class="sourceLineNo">461</span>   * Adds the information from the provided {@link SpaceLimitRequest} to the {@link Quotas} builder.<a name="line.461"></a>
-<span class="sourceLineNo">462</span>   *<a name="line.462"></a>
-<span class="sourceLineNo">463</span>   * @param quotas The builder to update.<a name="line.463"></a>
-<span class="sourceLineNo">464</span>   * @param req The request to extract space quota information from.<a name="line.464"></a>
-<span class="sourceLineNo">465</span>   */<a name="line.465"></a>
-<span class="sourceLineNo">466</span>  void applySpaceLimit(final Quotas.Builder quotas, final SpaceLimitRequest req) {<a name="line.466"></a>
-<span class="sourceLineNo">467</span>    if (req.hasQuota()) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>      SpaceQuota spaceQuota = req.getQuota();<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      // If we have the remove flag, unset the space quota.<a name="line.469"></a>
-<span class="sourceLineNo">470</span>      if (spaceQuota.getRemove()) {<a name="line.470"></a>
-<span class="sourceLineNo">471</span>        quotas.setSpace(SpaceQuota.getDefaultInstance());<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      } else {<a name="line.472"></a>
-<span class="sourceLineNo">473</span>        // Otherwise, update the new quota<a name="line.473"></a>
-<span class="sourceLineNo">474</span>        applySpaceQuota(quotas, req.getQuota());<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><a name="line.478"></a>
-<span class="sourceLineNo">479</span>  /**<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   * Merges the provided {@link SpaceQuota} into the given {@link Quotas} builder.<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   *<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   * @param quotas The Quotas builder instance to update<a name="line.482"></a>
-<span class="sourceLineNo">483</span>   * @param quota The SpaceQuota instance to update from<a name="line.483"></a>
-<span class="sourceLineNo">484</span>   */<a name="line.484"></a>
-<span class="sourceLineNo">485</span>  void applySpaceQuota(final Quotas.Builder quotas, final SpaceQuota quota) {<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    // Create a builder for Quotas<a name="line.486"></a>
-<span class="sourceLineNo">487</span>    SpaceQuota.Builder builder = quotas.hasSpace() ? quotas.getSpace().toBuilder() :<a name="line.487"></a>
-<span class="sourceLineNo">488</span>        SpaceQuota.newBuilder();<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    // Update the values from the provided quota into the new one and set it on Quotas.<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    quotas.setSpace(builder.mergeFrom(quota).build());<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>  private void validateTimedQuota(final TimedQuota timedQuota) throws IOException {<a name="line.493"></a>
-<span class="sourceLineNo">494</span>    if (timedQuota.getSoftLimit() &lt; 1) {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      throw new DoNotRetryIOException(new UnsupportedOperationException(<a name="line.495"></a>
-<span class="sourceLineNo">496</span>          "The throttle limit must be greater then 0, got " + timedQuota.getSoftLimit()));<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>   *  Helpers<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>  private void checkQuotaSupport() throws IOException {<a name="line.504"></a>
-<span class="sourceLineNo">505</span>    if (!QuotaUtil.isQuotaEnabled(masterServices.getConfiguration())) {<a name="line.505"></a>
-<span class="sourceLineNo">506</span>      throw new DoNotRetryIOException(<a name="line.506"></a>
-<span class="sourceLineNo">507</span>        new UnsupportedOperationException("quota support disabled"));<a name="line.507"></a>
-<span class="sourceLineNo">508</span>    }<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    if (!initialized) {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      long maxWaitTime = masterServices.getConfiguration().getLong(<a name="line.510"></a>
-<span class="sourceLineNo">511</span>        "hbase.master.wait.for.quota.manager.init", 30000); // default is 30 seconds.<a name="line.511"></a>
-<span class="sourceLineNo">512</span>      long startTime = EnvironmentEdgeManager.currentTime();<a name="line.512"></a>
-<span class="sourceLineNo">513</span>      do {<a name="line.513"></a>
-<span class="sourceLineNo">514</span>        try {<a name="line.514"></a>
-<span class="sourceLineNo">515</span>          Thread.sleep(100);<a name="line.515"></a>
-<span class="sourceLineNo">516</span>        } catch (InterruptedException e) {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>          LOG.warn("Interrupted while waiting for Quota Manager to be initialized.");<a name="line.517"></a>
-<span class="sourceLineNo">518</span>          break;<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        }<a name="line.519"></a>
-<span class="sourceLineNo">520</span>      } while (!initialized &amp;&amp; (EnvironmentEdgeManager.currentTime() - startTime) &lt; maxWaitTime);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>      if (!initialized) {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>        throw new IOException("Quota manager is uninitialized, please retry later.");<a name="line.522"></a>
-<span class="sourceLineNo">523</span>      }<a name="line.523"></a>
+<span class="sourceLineNo">399</span>  /**<a name="line.399"></a>
+<span class="sourceLineNo">400</span>   * Encapsulates CRUD quota operations for some subject.<a name="line.400"></a>
+<span class="sourceLineNo">401</span>   */<a name="line.401"></a>
+<span class="sourceLineNo">402</span>  private static interface SetQuotaOperations {<a name="line.402"></a>
+<span class="sourceLineNo">403</span>    /**<a name="line.403"></a>
+<span class="sourceLineNo">404</span>     * Fetches the current quota settings for the subject.<a name="line.404"></a>
+<span class="sourceLineNo">405</span>     */<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    GlobalQuotaSettings fetch() throws IOException;<a name="line.406"></a>
+<span class="sourceLineNo">407</span>    /**<a name="line.407"></a>
+<span class="sourceLineNo">408</span>     * Deletes the quota for the subject.<a name="line.408"></a>
+<span class="sourceLineNo">409</span>     */<a name="line.409"></a>
+<span class="sourceLineNo">410</span>    void delete() throws IOException;<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    /**<a name="line.411"></a>
+<span class="sourceLineNo">412</span>     * Persist the given quota for the subject.<a name="line.412"></a>
+<span class="sourceLineNo">413</span>     */<a name="line.413"></a>
+<span class="sourceLineNo">414</span>    void update(GlobalQuotaSettings quotaPojo) throws IOException;<a name="line.414"></a>
+<span class="sourceLineNo">415</span>    /**<a name="line.415"></a>
+<span class="sourceLineNo">416</span>     * Performs some action before {@link #update(GlobalQuotaSettings)} with the current quota<a name="line.416"></a>
+<span class="sourceLineNo">417</span>     * for the subject.<a name="line.417"></a>
+<span class="sourceLineNo">418</span>     */<a name="line.418"></a>
+<span class="sourceLineNo">419</span>    void preApply(GlobalQuotaSettings quotaPojo) throws IOException;<a name="line.419"></a>
+<span class="sourceLineNo">420</span>    /**<a name="line.420"></a>
+<span class="sourceLineNo">421</span>     * Performs some action after {@link #update(GlobalQuotaSettings)} with the resulting quota<a name="line.421"></a>
+<span class="sourceLineNo">422</span>     * from the request action for the subject.<a name="line.422"></a>
+<span class="sourceLineNo">423</span>     */<a name="line.423"></a>
+<span class="sourceLineNo">424</span>    void postApply(GlobalQuotaSettings quotaPojo) throws IOException;<a name="line.424"></a>
+<span class="sourceLineNo">425</span>  }<a name="line.425"></a>
+<span class="sourceLineNo">426</span><a name="line.426"></a>
+<span class="sourceLineNo">427</span>  /* ==========================================================================<a name="line.427"></a>
+<span class="sourceLineNo">428</span>   *  Helpers<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>  private void checkQuotaSupport() throws IOException {<a name="line.431"></a>
+<span class="sourceLineNo">432</span>    if (!QuotaUtil.isQuotaEnabled(masterServices.getConfiguration())) {<a name="line.432"></a>
+<span class="sourceLineNo">433</span>      throw new DoNotRetryIOException(<a name="line.433"></a>
+<span class="sourceLineNo">434</span>        new UnsupportedOperationException("quota support disabled"));<a name="line.434"></a>
+<span class="sourceLineNo">435</span>    }<a name="line.435"></a>
+<span class="sourceLineNo">436</span>    if (!initialized) {<a name="line.436"></a>
+<span class="sourceLineNo">437</span>      long maxWaitTime = masterServices.getConfiguration().getLong(<a name="line.437"></a>
+<span class="sourceLineNo">438</span>        "hbase.master.wait.for.quota.manager.init", 30000); // default is 30 seconds.<a name="line.438"></a>
+<span class="sourceLineNo">439</span>      long startTime = EnvironmentEdgeManager.currentTime();<a name="line.439"></a>
+<span class="sourceLineNo">440</span>      do {<a name="line.440"></a>
+<span class="sourceLineNo">441</span>        try {<a name="line.441"></a>
+<span class="sourceLineNo">442</span>          Thread.sleep(100);<a name="line.442"></a>
+<span class="sourceLineNo">443</span>        } catch (InterruptedException e) {<a name="line.443"></a>
+<span class="sourceLineNo">444</span>          LOG.warn("Interrupted while waiting for Quota Manager to be initialized.");<a name="line.444"></a>
+<span class="sourceLineNo">445</span>          break;<a name="line.445"></a>
+<span class="sourceLineNo">446</span>        }<a name="line.446"></a>
+<span class="sourceLineNo">447</span>      } while (!initialized &amp;&amp; (EnvironmentEdgeManager.currentTime() - startTime) &lt; maxWaitTime);<a name="line.447"></a>
+<span class="sourceLineNo">448</span>      if (!initialized) {<a name="line.448"></a>
+<span class="sourceLineNo">449</span>        throw new IOException("Quota manager is uninitialized, please retry later.");<a name="line.449"></a>
+<span class="sourceLineNo">450</span>      }<a name="line.450"></a>
+<span class="sourceLineNo">451</span>    }<a name="line.451"></a>
+<span class="sourceLineNo">452</span>  }<a name="line.452"></a>
+<span class="sourceLineNo">453</span><a name="line.453"></a>
+<span class="sourceLineNo">454</span>  private void createQuotaTable() throws IOException {<a name="line.454"></a>
+<span class="sourceLineNo">455</span>    masterServices.createSystemTable(QuotaUtil.QUOTA_TABLE_DESC);<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>  private static class NamedLock&lt;T&gt; {<a name="line.458"></a>
+<span class="sourceLineNo">459</span>    private HashSet&lt;T&gt; locks = new HashSet&lt;&gt;();<a name="line.459"></a>
+<span class="sourceLineNo">460</span><a name="line.460"></a>
+<span class="sourceLineNo">461</span>    public void lock(final T name) throws InterruptedException {<a name="line.461"></a>
+<span class="sourceLineNo">462</span>      synchronized (locks) {<a name="line.462"></a>
+<span class="sourceLineNo">463</span>        while (locks.contains(name)) {<a name="line.463"></a>
+<span class="sourceLineNo">464</span>          locks.wait();<a name="line.464"></a>
+<span class="sourceLineNo">465</span>        }<a name="line.465"></a>
+<span class="sourceLineNo">466</span>        locks.add(name);<a name="line.466"></a>
+<span class="sourceLineNo">467</span>      }<a name="line.467"></a>
+<span class="sourceLineNo">468</span>    }<a name="line.468"></a>
+<span class="sourceLineNo">469</span><a name="line.469"></a>
+<span class="sourceLineNo">470</span>    public void unlock(final T name) {<a name="line.470"></a>
+<span class="sourceLineNo">471</span>      synchronized (locks) {<a name="line.471"></a>
+<span class="sourceLineNo">472</span>        locks.remove(name);<a name="line.472"></a>
+<span class="sourceLineNo">473</span>        locks.notifyAll();<a name="line.473"></a>
+<span class="sourceLineNo">474</span>      }<a name="line.474"></a>
+<span class="sourceLineNo">475</span>    }<a name="line.475"></a>
+<span class="sourceLineNo">476</span>  }<a name="line.476"></a>
+<span class="sourceLineNo">477</span><a name="line.477"></a>
+<span class="sourceLineNo">478</span>  @Override<a name="line.478"></a>
+<span class="sourceLineNo">479</span>  public void onRegionSplitReverted(HRegionInfo hri) throws IOException {<a name="line.479"></a>
+<span class="sourceLineNo">480</span>    if (initialized) {<a name="line.480"></a>
+<span class="sourceLineNo">481</span>      this.namespaceQuotaManager.removeRegionFromNamespaceUsage(hri);<a name="line.481"></a>
+<span class="sourceLineNo">482</span>    }<a name="line.482"></a>
+<span class="sourceLineNo">483</span>  }<a name="line.483"></a>
+<span class="sourceLineNo">484</span><a name="line.484"></a>
+<span class="sourceLineNo">485</span>  /**<a name="line.485"></a>
+<span class="sourceLineNo">486</span>   * Holds the size of a region at the given time, millis since the epoch.<a name="line.486"></a>
+<span class="sourceLineNo">487</span>   */<a name="line.487"></a>
+<span class="sourceLineNo">488</span>  private static class SizeSnapshotWithTimestamp {<a name="line.488"></a>
+<span class="sourceLineNo">489</span>    private final long size;<a name="line.489"></a>
+<span class="sourceLineNo">490</span>    private final long time;<a name="line.490"></a>
+<span class="sourceLineNo">491</span><a name="line.491"></a>
+<span class="sourceLineNo">492</span>    public SizeSnapshotWithTimestamp(long size, long time) {<a name="line.492"></a>
+<span class="sourceLineNo">493</span>      this.size = size;<a name="line.493"></a>
+<span class="sourceLineNo">494</span>      this.time = time;<a name="line.494"></a>
+<span class="sourceLineNo">495</span>    }<a name="line.495"></a>
+<span class="sourceLineNo">496</span><a name="line.496"></a>
+<span class="sourceLine

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/quotas/FixedIntervalRateLimiter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/FixedIntervalRateLimiter.html b/devapidocs/org/apache/hadoop/hbase/quotas/FixedIntervalRateLimiter.html
index 512f3bc..3889876 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/FixedIntervalRateLimiter.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/FixedIntervalRateLimiter.html
@@ -50,7 +50,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/hadoop/hbase/quotas/FileSystemUtilizationChore.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/hadoop/hbase/quotas/FixedIntervalRateLimiter.html" target="_top">Frames</a></li>
@@ -362,7 +362,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/RateLimiter.html"
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/hadoop/hbase/quotas/FileSystemUtilizationChore.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/hadoop/hbase/quotas/FixedIntervalRateLimiter.html" target="_top">Frames</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html b/devapidocs/org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html
new file mode 100644
index 0000000..918adac
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html
@@ -0,0 +1,557 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>GlobalQuotaSettings (Apache HBase 3.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="GlobalQuotaSettings (Apache HBase 3.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/GlobalQuotaSettings.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/quotas/FixedIntervalRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" target="_top">Frames</a></li>
+<li><a href="GlobalQuotaSettings.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.hadoop.hbase.quotas</div>
+<h2 title="Class GlobalQuotaSettings" class="title">Class GlobalQuotaSettings</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">org.apache.hadoop.hbase.quotas.QuotaSettings</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.quotas.GlobalQuotaSettings</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.LimitedPrivate(value="Coprocesssor")
+ @InterfaceStability.Evolving
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#line.46">GlobalQuotaSettings</a>
+extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></pre>
+<div class="block">An object which captures all quotas types (throttle or space) for a subject (user, table, or
+ namespace). This is used inside of the HBase RegionServer to act as an analogy to the
+ ProtocolBuffer class <code>QuotaProtos.Quotas</code>.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#bypassGlobals">bypassGlobals</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#spaceProto">spaceProto</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Throttle</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#throttleProto">throttleProto</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier</th>
+<th class="colLast" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#GlobalQuotaSettings-java.lang.String-org.apache.hadoop.hbase.TableName-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">GlobalQuotaSettings</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;username,
+                   <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                   <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+                   org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#GlobalQuotaSettings-java.lang.String-org.apache.hadoop.hbase.TableName-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Throttle-java.lang.Boolean-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota-">GlobalQuotaSettings</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+                   <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                   <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+                   org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Throttle&nbsp;throttleProto,
+                   <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;bypassGlobals,
+                   org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota&nbsp;spaceProto)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottleType</a>,org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.TimedQuota&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#buildThrottleQuotas-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Throttle-">buildThrottleQuotas</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Throttle&nbsp;proto)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#clearThrottleBuilder-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Throttle.Builder-">clearThrottleBuilder</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Throttle.Builder&nbsp;builder)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#getGlobalBypass--">getGlobalBypass</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas">QuotaType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#getQuotaType--">getQuotaType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>protected org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#getSpaceProto--">getSpaceProto</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>protected org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Throttle</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#getThrottleProto--">getThrottleProto</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#merge-org.apache.hadoop.hbase.quotas.QuotaSettings-">merge</a></span>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;other)</code>
+<div class="block">Merges the provided settings with <code>this</code> and returns a new settings
+ object to the caller if the merged settings differ from the original.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#setupSetQuotaRequest-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest.Builder-">setupSetQuotaRequest</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest.Builder&nbsp;builder)</code>
+<div class="block">Called by toSetQuotaRequestProto()
+ the subclass should implement this method to set the specific SetQuotaRequest
+ properties.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>protected org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#toQuotas--">toQuotas</a></span>()</code>
+<div class="block">Constructs a new <code>QuotaProtos.Quotas</code> message from <code>this</code>.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#validateTimedQuota-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.TimedQuota-">validateTimedQuota</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.TimedQuota&nbsp;timedQuota)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.quotas.QuotaSettings">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></h3>
+<code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#buildFromProto-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest-">buildFromProto</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#buildSetQuotaRequestProto-org.apache.hadoop.hbase.quotas.QuotaSettings-">buildSetQuotaRequestProto</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#getNamespace--">getNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#getTableName--">getTableName</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#getUserName--">getUserName</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#ownerToString--">ownerToString</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#sizeToString-long-">sizeToString</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#timeT
 oString-java.util.concurrent.TimeUnit-">timeToString</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#validateQuotaTarget-org.apache.hadoop.hbase.quotas.QuotaSettings-">validateQuotaTarget</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang
 /Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="throttleProto">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>throttleProto</h4>
+<pre>private final&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Throttle <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#line.47">throttleProto</a></pre>
+</li>
+</ul>
+<a name="bypassGlobals">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>bypassGlobals</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#line.48">bypassGlobals</a></pre>
+</li>
+</ul>
+<a name="spaceProto">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>spaceProto</h4>
+<pre>private final&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#line.49">spaceProto</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="GlobalQuotaSettings-java.lang.String-org.apache.hadoop.hbase.TableName-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>GlobalQuotaSettings</h4>
+<pre>protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#line.51">GlobalQuotaSettings</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;username,
+                              <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+                              org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</pre>
+</li>
+</ul>
+<a name="GlobalQuotaSettings-java.lang.String-org.apache.hadoop.hbase.TableName-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Throttle-java.lang.Boolean-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>GlobalQuotaSettings</h4>
+<pre>protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#line.59">GlobalQuotaSettings</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+                              <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+                              org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Throttle&nbsp;throttleProto,
+                              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;bypassGlobals,
+                              org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota&nbsp;spaceProto)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getQuotaType--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getQuotaType</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas">QuotaType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#line.69">getQuotaType</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#getQuotaType--">getQuotaType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="setupSetQuotaRequest-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest.Builder-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setupSetQuotaRequest</h4>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#line.74">setupSetQuotaRequest</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest.Builder&nbsp;builder)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#setupSetQuotaRequest-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest.Builder-">QuotaSettings</a></code></span></div>
+<div class="block">Called by toSetQuotaRequestProto()
+ the subclass should implement this method to set the specific SetQuotaRequest
+ properties.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#setupSetQuotaRequest-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest.Builder-">setupSetQuotaRequest</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getThrottleProto--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getThrottleProto</h4>
+<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Throttle&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#line.80">getThrottleProto</a>()</pre>
+</li>
+</ul>
+<a name="getGlobalBypass--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getGlobalBypass</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#line.84">getGlobalBypass</a>()</pre>
+</li>
+</ul>
+<a name="getSpaceProto--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSpaceProto</h4>
+<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#line.88">getSpaceProto</a>()</pre>
+</li>
+</ul>
+<a name="toQuotas--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toQuotas</h4>
+<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#line.95">toQuotas</a>()</pre>
+<div class="block">Constructs a new <code>QuotaProtos.Quotas</code> message from <code>this</code>.</div>
+</li>
+</ul>
+<a name="merge-org.apache.hadoop.hbase.quotas.QuotaSettings-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>merge</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#line.110">merge</a>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;other)
+                             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#merge-org.apache.hadoop.hbase.quotas.QuotaSettings-">QuotaSettings</a></code></span></div>
+<div class="block">Merges the provided settings with <code>this</code> and returns a new settings
+ object to the caller if the merged settings differ from the original.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#merge-org.apache.hadoop.hbase.quotas.QuotaSettings-">merge</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>other</code> - The new settings to merge in.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The merged <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><code>QuotaSettings</code></a> object or null if the quota should be deleted.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="validateTimedQuota-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.TimedQuota-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>validateTimedQuota</h4>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#line.231">validateTimedQuota</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.TimedQuota&nbsp;timedQuota)
+                         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#line.239">toString</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="buildThrottleQuotas-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Throttle-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>buildThrottleQuotas</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottleType</a>,org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.TimedQuota&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#line.298">buildThrottleQuotas</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Throttle&nbsp;proto)</pre>
+</li>
+</ul>
+<a name="clearThrottleBuilder-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Throttle.Builder-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>clearThrottleBuilder</h4>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#line.321">clearThrottleBuilder</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Throttle.Builder&nbsp;builder)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/GlobalQuotaSettings.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/quotas/FixedIntervalRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" target="_top">Frames</a></li>
+<li><a href="GlobalQuotaSettings.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html b/devapidocs/org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html
index d2c296a..663aa73 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.531">MasterQuotaManager.NamedLock</a>&lt;T&gt;
+<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.458">MasterQuotaManager.NamedLock</a>&lt;T&gt;
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -207,7 +207,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>locks</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashSet.html?is-external=true" title="class or interface in java.util">HashSet</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html" title="type parameter in MasterQuotaManager.NamedLock">T</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html#line.532">locks</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashSet.html?is-external=true" title="class or interface in java.util">HashSet</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html" title="type parameter in MasterQuotaManager.NamedLock">T</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html#line.459">locks</a></pre>
 </li>
 </ul>
 </li>
@@ -224,7 +224,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>NamedLock</h4>
-<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html#line.531">NamedLock</a>()</pre>
+<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html#line.458">NamedLock</a>()</pre>
 </li>
 </ul>
 </li>
@@ -243,7 +243,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>lock</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html#line.534">lock</a>(<a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html" title="type parameter in MasterQuotaManager.NamedLock">T</a>&nbsp;name)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html#line.461">lock</a>(<a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html" title="type parameter in MasterQuotaManager.NamedLock">T</a>&nbsp;name)
           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -259,7 +259,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>unlock</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html#line.543">unlock</a>(<a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html" title="type parameter in MasterQuotaManager.NamedLock">T</a>&nbsp;name)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html#line.470">unlock</a>(<a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html" title="type parameter in MasterQuotaManager.NamedLock">T</a>&nbsp;name)</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html b/devapidocs/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html
index bcf2e1d..d502fb0 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html
@@ -105,7 +105,8 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.380">MasterQuotaManager.SetQuotaOperations</a></pre>
+<pre>private static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.402">MasterQuotaManager.SetQuotaOperations</a></pre>
+<div class="block">Encapsulates CRUD quota operations for some subject.</div>
 </li>
 </ul>
 </div>
@@ -126,23 +127,35 @@ var activeTableTab = "activeTableTab";
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#delete--">delete</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#delete--">delete</a></span>()</code>
+<div class="block">Deletes the quota for the subject.</div>
+</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#fetch--">fetch</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#fetch--">fetch</a></span>()</code>
+<div class="block">Fetches the current quota settings for the subject.</div>
+</td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#postApply-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postApply</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#postApply-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postApply</a></span>(<a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotaPojo)</code>
+<div class="block">Performs some action after <a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#update-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-"><code>update(GlobalQuotaSettings)</code></a> with the resulting quota
+ from the request action for the subject.</div>
+</td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#preApply-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preApply</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#preApply-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preApply</a></span>(<a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotaPojo)</code>
+<div class="block">Performs some action before <a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#update-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-"><code>update(GlobalQuotaSettings)</code></a> with the current quota
+ for the subject.</div>
+</td>
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#update-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">update</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#update-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">update</a></span>(<a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotaPojo)</code>
+<div class="block">Persist the given quota for the subject.</div>
+</td>
 </tr>
 </table>
 </li>
@@ -165,8 +178,9 @@ var activeTableTab = "activeTableTab";
 <ul class="blockList">
 <li class="blockList">
 <h4>fetch</h4>
-<pre>org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#line.381">fetch</a>()
-                                                                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#line.406">fetch</a>()
+                   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Fetches the current quota settings for the subject.</div>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
@@ -179,50 +193,56 @@ var activeTableTab = "activeTableTab";
 <ul class="blockList">
 <li class="blockList">
 <h4>delete</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#line.382">delete</a>()
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#line.410">delete</a>()
      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Deletes the quota for the subject.</div>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>
 </li>
 </ul>
-<a name="update-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="update-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>update</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#line.383">update</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#line.414">update</a>(<a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotaPojo)
      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Persist the given quota for the subject.</div>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>
 </li>
 </ul>
-<a name="preApply-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="preApply-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>preApply</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#line.384">preApply</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#line.419">preApply</a>(<a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotaPojo)
        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Performs some action before <a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#update-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-"><code>update(GlobalQuotaSettings)</code></a> with the current quota
+ for the subject.</div>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>
 </li>
 </ul>
-<a name="postApply-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="postApply-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>postApply</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#line.385">postApply</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#line.424">postApply</a>(<a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotaPojo)
         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Performs some action after <a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#update-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-"><code>update(GlobalQuotaSettings)</code></a> with the resulting quota
+ from the request action for the subject.</div>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SizeSnapshotWithTimestamp.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SizeSnapshotWithTimestamp.html b/devapidocs/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SizeSnapshotWithTimestamp.html
index b4657a6..2ae5276 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SizeSnapshotWithTimestamp.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SizeSnapshotWithTimestamp.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.561">MasterQuotaManager.SizeSnapshotWithTimestamp</a>
+<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.488">MasterQuotaManager.SizeSnapshotWithTimestamp</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Holds the size of a region at the given time, millis since the epoch.</div>
 </li>
@@ -223,7 +223,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>size</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SizeSnapshotWithTimestamp.html#line.562">size</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SizeSnapshotWithTimestamp.html#line.489">size</a></pre>
 </li>
 </ul>
 <a name="time">
@@ -232,7 +232,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>time</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SizeSnapshotWithTimestamp.html#line.563">time</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SizeSnapshotWithTimestamp.html#line.490">time</a></pre>
 </li>
 </ul>
 </li>
@@ -249,7 +249,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>SizeSnapshotWithTimestamp</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SizeSnapshotWithTimestamp.html#line.565">SizeSnapshotWithTimestamp</a>(long&nbsp;size,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SizeSnapshotWithTimestamp.html#line.492">SizeSnapshotWithTimestamp</a>(long&nbsp;size,
                                  long&nbsp;time)</pre>
 </li>
 </ul>
@@ -267,7 +267,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SizeSnapshotWithTimestamp.html#line.570">getSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SizeSnapshotWithTimestamp.html#line.497">getSize</a>()</pre>
 </li>
 </ul>
 <a name="getTime--">
@@ -276,7 +276,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getTime</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SizeSnapshotWithTimestamp.html#line.574">getTime</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SizeSnapshotWithTimestamp.html#line.501">getTime</a>()</pre>
 </li>
 </ul>
 <a name="equals-java.lang.Object-">
@@ -285,7 +285,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>equals</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SizeSnapshotWithTimestamp.html#line.578">equals</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SizeSnapshotWithTimestamp.html#line.505">equals</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -298,7 +298,7 @@ extends <a href="http://docs.oracle.com/javase/8/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/quotas/MasterQuotaManager.SizeSnapshotWithTimestamp.html#line.586">hashCode</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SizeSnapshotWithTimestamp.html#line.513">hashCode</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -311,7 +311,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SizeSnapshotWithTimestamp.html#line.592">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SizeSnapshotWithTimestamp.html#line.519">toString</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html
new file mode 100644
index 0000000..72e619a
--- /dev/null
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html
@@ -0,0 +1,194 @@
+<!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 or more<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * contributor license agreements.  See the NOTICE file distributed with<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * this work for additional information regarding copyright ownership.<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * The ASF licenses this file to you under the Apache License, Version 2.0<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * (the "License"); you may not use this file except in compliance with<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * the License.  You may obtain a copy of the License at<a name="line.7"></a>
+<span class="sourceLineNo">008</span> *<a name="line.8"></a>
+<span class="sourceLineNo">009</span> * http://www.apache.org/licenses/LICENSE-2.0<a name="line.9"></a>
+<span class="sourceLineNo">010</span> *<a name="line.10"></a>
+<span class="sourceLineNo">011</span> * Unless required by applicable law or agreed to in writing, software<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * See the License for the specific language governing permissions and<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * limitations under the License.<a name="line.15"></a>
+<span class="sourceLineNo">016</span> */<a name="line.16"></a>
+<span class="sourceLineNo">017</span>package org.apache.hadoop.hbase.quotas;<a name="line.17"></a>
+<span class="sourceLineNo">018</span><a name="line.18"></a>
+<span class="sourceLineNo">019</span>import static org.junit.Assert.assertEquals;<a name="line.19"></a>
+<span class="sourceLineNo">020</span>import static org.junit.Assert.assertTrue;<a name="line.20"></a>
+<span class="sourceLineNo">021</span><a name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
+<span class="sourceLineNo">023</span><a name="line.23"></a>
+<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.TableName;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.testclassification.SmallTests;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.junit.Test;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.junit.experimental.categories.Category;<a name="line.29"></a>
+<span class="sourceLineNo">030</span><a name="line.30"></a>
+<span class="sourceLineNo">031</span>@Category(SmallTests.class)<a name="line.31"></a>
+<span class="sourceLineNo">032</span>public class TestGlobalQuotaSettings {<a name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>  QuotaProtos.TimedQuota REQUEST_THROTTLE = QuotaProtos.TimedQuota.newBuilder()<a name="line.34"></a>
+<span class="sourceLineNo">035</span>      .setScope(QuotaProtos.QuotaScope.MACHINE).setSoftLimit(100)<a name="line.35"></a>
+<span class="sourceLineNo">036</span>      .setTimeUnit(HBaseProtos.TimeUnit.MINUTES).build();<a name="line.36"></a>
+<span class="sourceLineNo">037</span>  QuotaProtos.Throttle THROTTLE = QuotaProtos.Throttle.newBuilder()<a name="line.37"></a>
+<span class="sourceLineNo">038</span>      .setReqNum(REQUEST_THROTTLE).build();<a name="line.38"></a>
+<span class="sourceLineNo">039</span><a name="line.39"></a>
+<span class="sourceLineNo">040</span>  QuotaProtos.SpaceQuota SPACE_QUOTA = QuotaProtos.SpaceQuota.newBuilder()<a name="line.40"></a>
+<span class="sourceLineNo">041</span>      .setSoftLimit(1024L * 1024L).setViolationPolicy(QuotaProtos.SpaceViolationPolicy.NO_WRITES)<a name="line.41"></a>
+<span class="sourceLineNo">042</span>      .build();<a name="line.42"></a>
+<span class="sourceLineNo">043</span><a name="line.43"></a>
+<span class="sourceLineNo">044</span>  @Test<a name="line.44"></a>
+<span class="sourceLineNo">045</span>  public void testMergeThrottle() throws IOException {<a name="line.45"></a>
+<span class="sourceLineNo">046</span>    QuotaProtos.Quotas quota = QuotaProtos.Quotas.newBuilder()<a name="line.46"></a>
+<span class="sourceLineNo">047</span>        .setThrottle(THROTTLE).build();<a name="line.47"></a>
+<span class="sourceLineNo">048</span>    QuotaProtos.TimedQuota writeQuota = REQUEST_THROTTLE.toBuilder()<a name="line.48"></a>
+<span class="sourceLineNo">049</span>        .setSoftLimit(500).build();<a name="line.49"></a>
+<span class="sourceLineNo">050</span>    // Unset the req throttle, set a write throttle<a name="line.50"></a>
+<span class="sourceLineNo">051</span>    QuotaProtos.ThrottleRequest writeThrottle = QuotaProtos.ThrottleRequest.newBuilder()<a name="line.51"></a>
+<span class="sourceLineNo">052</span>        .setTimedQuota(writeQuota).setType(QuotaProtos.ThrottleType.WRITE_NUMBER).build();<a name="line.52"></a>
+<span class="sourceLineNo">053</span><a name="line.53"></a>
+<span class="sourceLineNo">054</span>    GlobalQuotaSettings settings = new GlobalQuotaSettings("joe", null, null, quota);<a name="line.54"></a>
+<span class="sourceLineNo">055</span>    GlobalQuotaSettings merged = settings.merge(<a name="line.55"></a>
+<span class="sourceLineNo">056</span>        new ThrottleSettings("joe", null, null, writeThrottle));<a name="line.56"></a>
+<span class="sourceLineNo">057</span><a name="line.57"></a>
+<span class="sourceLineNo">058</span>    QuotaProtos.Throttle mergedThrottle = merged.getThrottleProto();<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    // Verify the request throttle is in place<a name="line.59"></a>
+<span class="sourceLineNo">060</span>    assertTrue(mergedThrottle.hasReqNum());<a name="line.60"></a>
+<span class="sourceLineNo">061</span>    QuotaProtos.TimedQuota actualReqNum = mergedThrottle.getReqNum();<a name="line.61"></a>
+<span class="sourceLineNo">062</span>    assertEquals(REQUEST_THROTTLE.getSoftLimit(), actualReqNum.getSoftLimit());<a name="line.62"></a>
+<span class="sourceLineNo">063</span><a name="line.63"></a>
+<span class="sourceLineNo">064</span>    // Verify the write throttle is in place<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    assertTrue(mergedThrottle.hasWriteNum());<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    QuotaProtos.TimedQuota actualWriteNum = mergedThrottle.getWriteNum();<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    assertEquals(writeQuota.getSoftLimit(), actualWriteNum.getSoftLimit());<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>  @Test<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  public void testMergeSpace() throws IOException {<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    TableName tn = TableName.valueOf("foo");<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    QuotaProtos.Quotas quota = QuotaProtos.Quotas.newBuilder()<a name="line.73"></a>
+<span class="sourceLineNo">074</span>        .setSpace(SPACE_QUOTA).build();<a name="line.74"></a>
+<span class="sourceLineNo">075</span><a name="line.75"></a>
+<span class="sourceLineNo">076</span>    GlobalQuotaSettings settings = new GlobalQuotaSettings(null, tn, null, quota);<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    // Switch the violation policy to DISABLE<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    GlobalQuotaSettings merged = settings.merge(<a name="line.78"></a>
+<span class="sourceLineNo">079</span>        new SpaceLimitSettings(tn, SPACE_QUOTA.getSoftLimit(), SpaceViolationPolicy.DISABLE));<a name="line.79"></a>
+<span class="sourceLineNo">080</span><a name="line.80"></a>
+<span class="sourceLineNo">081</span>    QuotaProtos.SpaceQuota mergedSpaceQuota = merged.getSpaceProto();<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    assertEquals(SPACE_QUOTA.getSoftLimit(), mergedSpaceQuota.getSoftLimit());<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    assertEquals(<a name="line.83"></a>
+<span class="sourceLineNo">084</span>        QuotaProtos.SpaceViolationPolicy.DISABLE, mergedSpaceQuota.getViolationPolicy());<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>  @Test<a name="line.87"></a>
+<span class="sourceLineNo">088</span>  public void testMergeThrottleAndSpace() throws IOException {<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    final String ns = "org1";<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    QuotaProtos.Quotas quota = QuotaProtos.Quotas.newBuilder()<a name="line.90"></a>
+<span class="sourceLineNo">091</span>        .setThrottle(THROTTLE).setSpace(SPACE_QUOTA).build();<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    GlobalQuotaSettings settings = new GlobalQuotaSettings(null, null, ns, quota);<a name="line.92"></a>
+<span class="sourceLineNo">093</span><a name="line.93"></a>
+<span class="sourceLineNo">094</span>    QuotaProtos.TimedQuota writeQuota = REQUEST_THROTTLE.toBuilder()<a name="line.94"></a>
+<span class="sourceLineNo">095</span>        .setSoftLimit(500).build();<a name="line.95"></a>
+<span class="sourceLineNo">096</span>    // Add a write throttle<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    QuotaProtos.ThrottleRequest writeThrottle = QuotaProtos.ThrottleRequest.newBuilder()<a name="line.97"></a>
+<span class="sourceLineNo">098</span>        .setTimedQuota(writeQuota).setType(QuotaProtos.ThrottleType.WRITE_NUMBER).build();<a name="line.98"></a>
+<span class="sourceLineNo">099</span><a name="line.99"></a>
+<span class="sourceLineNo">100</span>    GlobalQuotaSettings merged = settings.merge(<a name="line.100"></a>
+<span class="sourceLineNo">101</span>        new ThrottleSettings(null, null, ns, writeThrottle));<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    GlobalQuotaSettings finalQuota = merged.merge(new SpaceLimitSettings(<a name="line.102"></a>
+<span class="sourceLineNo">103</span>        ns, SPACE_QUOTA.getSoftLimit(), SpaceViolationPolicy.NO_WRITES_COMPACTIONS));<a name="line.103"></a>
+<span class="sourceLineNo">104</span><a name="line.104"></a>
+<span class="sourceLineNo">105</span>    // Verify both throttle quotas<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    QuotaProtos.Throttle throttle = finalQuota.getThrottleProto();<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    assertTrue(throttle.hasReqNum());<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    QuotaProtos.TimedQuota reqNumQuota = throttle.getReqNum();<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    assertEquals(REQUEST_THROTTLE.getSoftLimit(), reqNumQuota.getSoftLimit());<a name="line.109"></a>
+<span class="sourceLineNo">110</span><a name="line.110"></a>
+<span class="sourceLineNo">111</span>    assertTrue(throttle.hasWriteNum());<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    QuotaProtos.TimedQuota writeNumQuota = throttle.getWriteNum();<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    assertEquals(writeQuota.getSoftLimit(), writeNumQuota.getSoftLimit());<a name="line.113"></a>
+<span class="sourceLineNo">114</span><a name="line.114"></a>
+<span class="sourceLineNo">115</span>    // Verify space quota<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    QuotaProtos.SpaceQuota finalSpaceQuota = finalQuota.getSpaceProto();<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    assertEquals(SPACE_QUOTA.getSoftLimit(), finalSpaceQuota.getSoftLimit());<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    assertEquals(<a name="line.118"></a>
+<span class="sourceLineNo">119</span>        QuotaProtos.SpaceViolationPolicy.NO_WRITES_COMPACTIONS,<a name="line.119"></a>
+<span class="sourceLineNo">120</span>        finalSpaceQuota.getViolationPolicy());<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>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html b/devapidocs/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html
index 88dc379..1b83537 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -49,7 +49,7 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/quotas/FixedIntervalRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -115,7 +115,7 @@ var activeTableTab = "activeTableTab";
 <br>
 <pre>@InterfaceAudience.Private
  @InterfaceStability.Evolving
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.66">MasterQuotaManager</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.61">MasterQuotaManager</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.html" title="interface in org.apache.hadoop.hbase">RegionStateListener</a></pre>
 <div class="block">Master Quota Manager.
@@ -148,7 +148,9 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>private static interface&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html" title="interface in org.apache.hadoop.hbase.quotas">MasterQuotaManager.SetQuotaOperations</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html" title="interface in org.apache.hadoop.hbase.quotas">MasterQuotaManager.SetQuotaOperations</a></span></code>
+<div class="block">Encapsulates CRUD quota operations for some subject.</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>private static class&nbsp;</code></td>
@@ -246,151 +248,123 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
              long&nbsp;time)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>private void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#applyBypassGlobals-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas.Builder-boolean-">applyBypassGlobals</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas.Builder&nbsp;quotas,
-                  boolean&nbsp;bypassGlobals)</code>&nbsp;</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>(package private) void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#applySpaceLimit-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas.Builder-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceLimitRequest-">applySpaceLimit</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas.Builder&nbsp;quotas,
-               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceLimitRequest&nbsp;req)</code>
-<div class="block">Adds the information from the provided <code>QuotaProtos.SpaceLimitRequest</code> to the <code>QuotaProtos.Quotas</code> builder.</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>(package private) void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#applySpaceQuota-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas.Builder-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota-">applySpaceQuota</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas.Builder&nbsp;quotas,
-               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota&nbsp;quota)</code>
-<div class="block">Merges the provided <code>QuotaProtos.SpaceQuota</code> into the given <code>QuotaProtos.Quotas</code> builder.</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>private void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#applyThrottle-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas.Builder-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.ThrottleRequest-">applyThrottle</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas.Builder&nbsp;quotas,
-             org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.ThrottleRequest&nbsp;req)</code>&nbsp;</td>
-</tr>
-<tr id="i5" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#checkAndUpdateNamespaceRegionQuota-org.apache.hadoop.hbase.TableName-int-">checkAndUpdateNamespaceRegionQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tName,
                                   int&nbsp;regions)</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#checkNamespaceTableAndRegionQuota-org.apache.hadoop.hbase.TableName-int-">checkNamespaceTableAndRegionQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tName,
                                  int&nbsp;regions)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#checkQuotaSupport--">checkQuotaSupport</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#createQuotaTable--">createQuotaTable</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/namespace/NamespaceAuditor.html" title="class in org.apache.hadoop.hbase.namespace">NamespaceAuditor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#getNamespaceQuotaManager--">getNamespaceQuotaManager</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#getRegionCountOfTable-org.apache.hadoop.hbase.TableName-">getRegionCountOfTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tName)</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#initializeRegionSizes--">initializeRegionSizes</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#isQuotaInitialized--">isQuotaInitialized</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#onRegionMerged-org.apache.hadoop.hbase.HRegionInfo-">onRegionMerged</a></span>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;mergedRegion)</code>
 <div class="block">Process region merge event.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#onRegionSplit-org.apache.hadoop.hbase.HRegionInfo-">onRegionSplit</a></span>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri)</code>
 <div class="block">Process region split event.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#onRegionSplitReverted-org.apache.hadoop.hbase.HRegionInfo-">onRegionSplitReverted</a></span>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri)</code>
 <div class="block">Process region split reverted event.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>(package private) int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#pruneEntriesOlderThan-long-">pruneEntriesOlderThan</a></span>(long&nbsp;timeToPruneBefore)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#removeNamespaceQuota-java.lang.String-">removeNamespaceQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#removeTableFromNamespaceQuota-org.apache.hadoop.hbase.TableName-">removeTableFromNamespaceQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tName)</code>
 <div class="block">Remove table from namespace quota.</div>
 </td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#setNamespaceQuota-org.apache.hadoop.hbase.NamespaceDescriptor-">setNamespaceQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;desc)</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#setNamespaceQuota-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest-">setNamespaceQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                  org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest&nbsp;req)</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#setQuota-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest-">setQuota</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest&nbsp;req)</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#setQuota-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest-org.apache.hadoop.hbase.quotas.MasterQuotaManager.SetQuotaOperations-">setQuota</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest&nbsp;req,
         <a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html" title="interface in org.apache.hadoop.hbase.quotas">MasterQuotaManager.SetQuotaOperations</a>&nbsp;quotaOps)</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#setTableQuota-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest-">setTableQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
              org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest&nbsp;req)</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#setUserQuota-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest-">setUserQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
             org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest&nbsp;req)</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#setUserQuota-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest-">setUserQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
             org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest&nbsp;req)</code>&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#setUserQuota-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest-">setUserQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
             <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
             org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest&nbsp;req)</code>&nbsp;</td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#snapshotRegionSizes--">snapshotRegionSizes</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#start--">start</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#stop--">stop</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i30" class="altColor">
-<td class="colFirst"><code>private void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#validateTimedQuota-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.TimedQuota-">validateTimedQuota</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.TimedQuota&nbsp;timedQuota)</code>&nbsp;</td>
-</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -419,7 +393,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <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/quotas/MasterQuotaManager.html#line.67">LOG</a></pre>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.62">LOG</a></pre>
 </li>
 </ul>
 <a name="EMPTY_MAP">
@@ -428,7 +402,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockList">
 <li class="blockList">
 <h4>EMPTY_MAP</h4>
-<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.68">EMPTY_MAP</a></pre>
+<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.63">EMPTY_MAP</a></pre>
 </li>
 </ul>
 <a name="masterServices">
@@ -437,7 +411,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockList">
 <li class="blockList">
 <h4>masterServices</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/quotas/MasterQuotaManager.html#line.71">masterServices</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/quotas/MasterQuotaManager.html#line.66">masterServices</a></pre>
 </li>
 </ul>
 <a name="namespaceLocks">
@@ -446,7 +420,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockList">
 <li class="blockList">
 <h4>namespaceLocks</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager.NamedLock</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.72">namespaceLocks</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager.NamedLock</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.67">namespaceLocks</a></pre>
 </li>
 </ul>
 <a name="tableLocks">
@@ -455,7 +429,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockList">
 <li class="blockList">
 <h4>tableLocks</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager.NamedLock</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/quotas/MasterQuotaManager.html#line.73">tableLocks</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager.NamedLock</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/quotas/MasterQuotaManager.html#line.68">tableLocks</a></pre>
 </li>
 </ul>
 <a name="userLocks">
@@ -464,7 +438,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockList">
 <li class="blockList">
 <h4>userLocks</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager.NamedLock</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.74">userLocks</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager.NamedLock</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.69">userLocks</a></pre>
 </li>
 </ul>
 <a name="initialized">
@@ -473,7 +447,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockList">
 <li class="blockList">
 <h4>initialized</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.75">initialized</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.70">initialized</a></pre>
 </li>
 </ul>
 <a name="namespaceQuotaManager">
@@ -482,7 +456,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockList">
 <li class="blockList">
 <h4>namespaceQuotaManager</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/namespace/NamespaceAuditor.html" title="class in org.apache.hadoop.hbase.namespace">NamespaceAuditor</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.76">namespaceQuotaManager</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/namespace/NamespaceAuditor.html" title="class in org.apache.hadoop.hbase.namespace">NamespaceAuditor</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.71">namespaceQuotaManager</a></pre>
 </li>
 </ul>
 <a name="regionSizes">
@@ -491,7 +465,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockListLast">
 <li class="blockList">
 <h4>regionSizes</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentHashMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentHashMap</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>,<a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.SizeSnapshotWithTimestamp.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager.SizeSnapshotWithTimestamp</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.77">regionSizes</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentHashMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentHashMap</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>,<a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.SizeSnapshotWithTimestamp.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager.SizeSnapshotWithTimestamp</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.72">regionSizes</a></pre>
 </li>
 </ul>
 </li>
@@ -508,7 +482,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MasterQuotaManager</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.79">MasterQuotaManager</a>(<a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a>&nbsp;masterServices)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.74">MasterQuotaManager</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>
@@ -525,7 +499,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockList">
 <li class="blockList">
 <h4>start</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.83">start</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.78">start</a>()
            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -539,7 +513,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockList">
 <li class="blockList">
 <h4>stop</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.108">stop</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.103">stop</a>()</pre>
 </li>
 </ul>
 <a name="isQuotaInitialized--">
@@ -548,7 +522,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockList">
 <li class="blockList">
 <h4>isQuotaInitialized</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.111">isQuotaInitialized</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.106">isQuotaInitialized</a>()</pre>
 </li>
 </ul>
 <a name="setQuota-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest-">
@@ -557,7 +531,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockList">
 <li class="blockList">
 <h4>setQuota</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.118">setQuota</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest&nbsp;req)
+<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.113">setQuota</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest&nbsp;req)
                                                                                          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                                                                                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl>
@@ -573,7 +547,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockList">
 <li class="blockList">
 <h4>setUserQuota</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.157">setUserQuota</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.152">setUserQuota</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                          org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest&nbsp;req)
                   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
@@ -590,7 +564,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockList">
 <li class="blockList">
 <h4>setUserQuota</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.183">setUserQuota</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.179">setUserQuota</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                          <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
                          org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest&nbsp;req)
                   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
@@ -608,7 +582,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockList">
 <li class="blockList">
 <h4>setUserQuota</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.209">setUserQuota</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.207">setUserQuota</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                          org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest&nbsp;req)
                   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
@@ -626,7 +600,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockList">
 <li class="blockList">
 <h4>setTableQuota</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.235">setTableQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.237">setTableQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
                           org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest&nbsp;req)
                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
@@ -643,7 +617,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockList">
 <li class="blockList">
 <h4>setNamespaceQuota</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.261">setNamespaceQuota</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.264">setNamespaceQuota</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                               org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest&nbsp;req)
                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
@@ -660,7 +634,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockList">
 <li class="blockList">
 <h4>setNamespaceQuota</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.287">setNamespaceQuota</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/quotas/MasterQuotaManager.html#line.292">setNamespaceQuota</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/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -674,7 +648,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockList">
 <li class="blockList">
 <h4>removeNamespaceQuota</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.293">removeNamespaceQuota</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.298">removeNamespaceQuota</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)
                           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -688,7 +662,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockList">
 <li class="blockList">
 <h4>setQuota</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.299">setQuota</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest&nbsp;req,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.304">setQuota</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest&nbsp;req,
                       <a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html" title="interface in org.apache.hadoop.hbase.quotas">MasterQuotaManager.SetQuotaOperations</a>&nbsp;quotaOps)
                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
@@ -705,7 +679,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockList">
 <li class="blockList">
 <h4>checkNamespaceTableAndRegionQuota</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.328">checkNamespaceTableAndRegionQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tName,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.347">checkNamespaceTableAndRegionQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tName,
                                               int&nbsp;regions)
                                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -720,7 +694,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndUpdateNamespaceRegionQuota</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.334">checkAndUpdateNamespaceRegionQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tName,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.353">checkAndUpdateNamespaceRegionQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tName,
                                                int&nbsp;regions)
                                         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -735,7 +709,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionCountOfTable</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.343">getRegionCountOfTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tName)
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.362">getRegionCountOfTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tName)
                           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -751,7 +725,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockList">
 <li class="blockList">
 <h4>onRegionMerged</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.351">onRegionMerged</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;mergedRegion)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.370">onRegionMerged</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;mergedRegion)
                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.html#onRegionMerged-org.apache.hadoop.hbase.HRegionInfo-">RegionStateListener</a></code></span></div>
 <div class="block">Process region merge event.</div>
@@ -769,7 +743,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockList">
 <li class="blockList">
 <h4>onRegionSplit</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.358">onRegionSplit</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.377">onRegionSplit</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri)
                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.html#onRegionSplit-org.apache.hadoop.hbase.HRegionInfo-">RegionStateListener</a></code></span></div>
 <div class="block">Process region split event.</div>
@@ -789,7 +763,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockList">
 <li class="blockList">
 <h4>removeTableFromNamespaceQuota</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.370">removeTableFromNamespaceQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tName)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.389">removeTableFromNamespaceQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tName)
                                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Remove table from namespace quota.</div>
 <dl>
@@ -806,78 +780,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getNamespaceQuotaManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/namespace/NamespaceAuditor.html" title="class in org.apache.hadoop.hbase.namespace">NamespaceAuditor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.376">getNamespaceQuotaManager</a>()</pre>
-</li>
-</ul>
-<a name="applyThrottle-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas.Builder-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.ThrottleRequest-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>applyThrottle</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.391">applyThrottle</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas.Builder&nbsp;quotas,
-                           org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.ThrottleRequest&nbsp;req)
-                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="applyBypassGlobals-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas.Builder-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>applyBypassGlobals</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.452">applyBypassGlobals</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas.Builder&nbsp;quotas,
-                                boolean&nbsp;bypassGlobals)</pre>
-</li>
-</ul>
-<a name="applySpaceLimit-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas.Builder-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceLimitRequest-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>applySpaceLimit</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.466">applySpaceLimit</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas.Builder&nbsp;quotas,
-                     org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceLimitRequest&nbsp;req)</pre>
-<div class="block">Adds the information from the provided <code>QuotaProtos.SpaceLimitRequest</code> to the <code>QuotaProtos.Quotas</code> builder.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>quotas</code> - The builder to update.</dd>
-<dd><code>req</code> - The request to extract space quota information from.</dd>
-</dl>
-</li>
-</ul>
-<a name="applySpaceQuota-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas.Builder-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>applySpaceQuota</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.485">applySpaceQuota</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas.Builder&nbsp;quotas,
-                     org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota&nbsp;quota)</pre>
-<div class="block">Merges the provided <code>QuotaProtos.SpaceQuota</code> into the given <code>QuotaProtos.Quotas</code> builder.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>quotas</code> - The Quotas builder instance to update</dd>
-<dd><code>quota</code> - The SpaceQuota instance to update from</dd>
-</dl>
-</li>
-</ul>
-<a name="validateTimedQuota-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.TimedQuota-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>validateTimedQuota</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.493">validateTimedQuota</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.TimedQuota&nbsp;timedQuota)
-                         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
-</dl>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/namespace/NamespaceAuditor.html" title="class in org.apache.hadoop.hbase.namespace">NamespaceAuditor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.395">getNamespaceQuotaManager</a>()</pre>
 </li>
 </ul>
 <a name="checkQuotaSupport--">
@@ -886,7 +789,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockList">
 <li class="blockList">
 <h4>checkQuotaSupport</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.504">checkQuotaSupport</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.431">checkQuotaSupport</a>()
                         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -900,7 +803,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockList">
 <li class="blockList">
 <h4>createQuotaTable</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.527">createQuotaTable</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.454">createQuotaTable</a>()
                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -914,7 +817,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockList">
 <li class="blockList">
 <h4>onRegionSplitReverted</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.552">onRegionSplitReverted</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.479">onRegionSplitReverted</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri)
                            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.html#onRegionSplitReverted-org.apache.hadoop.hbase.HRegionInfo-">RegionStateListener</a></code></span></div>
 <div class="block">Process region split reverted event.</div>
@@ -934,7 +837,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockList">
 <li class="blockList">
 <h4>initializeRegionSizes</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.601">initializeRegionSizes</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.528">initializeRegionSizes</a>()</pre>
 </li>
 </ul>
 <a name="addRegionSize-org.apache.hadoop.hbase.HRegionInfo-long-long-">
@@ -943,7 +846,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockList">
 <li class="blockList">
 <h4>addRegionSize</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.606">addRegionSize</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.533">addRegionSize</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri,
                           long&nbsp;size,
                           long&nbsp;time)</pre>
 </li>
@@ -954,7 +857,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockList">
 <li class="blockList">
 <h4>snapshotRegionSizes</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.613">snapshotRegionSizes</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.540">snapshotRegionSizes</a>()</pre>
 </li>
 </ul>
 <a name="pruneEntriesOlderThan-long-">
@@ -963,7 +866,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 <ul class="blockListLast">
 <li class="blockList">
 <h4>pruneEntriesOlderThan</h4>
-<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.625">pruneEntriesOlderThan</a>(long&nbsp;timeToPruneBefore)</pre>
+<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#line.552">pruneEntriesOlderThan</a>(long&nbsp;timeToPruneBefore)</pre>
 </li>
 </ul>
 </li>
@@ -994,7 +897,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/RegionStateListener.h
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/quotas/FixedIntervalRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">


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

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/org/apache/hadoop/hbase/quotas/TestFileSystemUtilizationChore.ExpectedRegionSizeSummationAnswer.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/quotas/TestFileSystemUtilizationChore.ExpectedRegionSizeSummationAnswer.html b/testdevapidocs/org/apache/hadoop/hbase/quotas/TestFileSystemUtilizationChore.ExpectedRegionSizeSummationAnswer.html
index 3a2e9aa..4d9416e 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/quotas/TestFileSystemUtilizationChore.ExpectedRegionSizeSummationAnswer.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/quotas/TestFileSystemUtilizationChore.ExpectedRegionSizeSummationAnswer.html
@@ -50,7 +50,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/hadoop/hbase/quotas/TestFileSystemUtilizationChore.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/quotas/TestMasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/hadoop/hbase/quotas/TestFileSystemUtilizationChore.ExpectedRegionSizeSummationAnswer.html" target="_top">Frames</a></li>
@@ -280,7 +280,7 @@ implements org.mockito.stubbing.Answer&lt;<a href="http://docs.oracle.com/javase
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/hadoop/hbase/quotas/TestFileSystemUtilizationChore.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/quotas/TestMasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/hadoop/hbase/quotas/TestFileSystemUtilizationChore.ExpectedRegionSizeSummationAnswer.html" target="_top">Frames</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html b/testdevapidocs/org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html
new file mode 100644
index 0000000..5a0159b
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html
@@ -0,0 +1,375 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TestGlobalQuotaSettings (Apache HBase 3.0.0-SNAPSHOT Test API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="TestGlobalQuotaSettings (Apache HBase 3.0.0-SNAPSHOT Test API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TestGlobalQuotaSettings.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/quotas/TestFileSystemUtilizationChore.ExpectedRegionSizeSummationAnswer.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/quotas/TestMasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html" target="_top">Frames</a></li>
+<li><a href="TestGlobalQuotaSettings.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.hadoop.hbase.quotas</div>
+<h2 title="Class TestGlobalQuotaSettings" class="title">Class TestGlobalQuotaSettings</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.quotas.TestGlobalQuotaSettings</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html#line.32">TestGlobalQuotaSettings</a>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>(package private) org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.TimedQuota</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html#REQUEST_THROTTLE">REQUEST_THROTTLE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>(package private) org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html#SPACE_QUOTA">SPACE_QUOTA</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>(package private) org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Throttle</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html#THROTTLE">THROTTLE</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html#TestGlobalQuotaSettings--">TestGlobalQuotaSettings</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html#testMergeSpace--">testMergeSpace</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html#testMergeThrottle--">testMergeThrottle</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html#testMergeThrottleAndSpace--">testMergeThrottleAndSpace</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang
 /Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="REQUEST_THROTTLE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>REQUEST_THROTTLE</h4>
+<pre>org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.TimedQuota <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html#line.34">REQUEST_THROTTLE</a></pre>
+</li>
+</ul>
+<a name="THROTTLE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>THROTTLE</h4>
+<pre>org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Throttle <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html#line.37">THROTTLE</a></pre>
+</li>
+</ul>
+<a name="SPACE_QUOTA">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SPACE_QUOTA</h4>
+<pre>org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html#line.40">SPACE_QUOTA</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="TestGlobalQuotaSettings--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TestGlobalQuotaSettings</h4>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html#line.32">TestGlobalQuotaSettings</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="testMergeThrottle--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>testMergeThrottle</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html#line.45">testMergeThrottle</a>()
+                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="testMergeSpace--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>testMergeSpace</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html#line.71">testMergeSpace</a>()
+                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="testMergeThrottleAndSpace--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>testMergeThrottleAndSpace</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html#line.88">testMergeThrottleAndSpace</a>()
+                               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TestGlobalQuotaSettings.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/quotas/TestFileSystemUtilizationChore.ExpectedRegionSizeSummationAnswer.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/quotas/TestMasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html" target="_top">Frames</a></li>
+<li><a href="TestGlobalQuotaSettings.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/org/apache/hadoop/hbase/quotas/TestMasterQuotaManager.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/quotas/TestMasterQuotaManager.html b/testdevapidocs/org/apache/hadoop/hbase/quotas/TestMasterQuotaManager.html
index b3fb119..c9e0aa0 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/quotas/TestMasterQuotaManager.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/quotas/TestMasterQuotaManager.html
@@ -49,7 +49,7 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/quotas/TestFileSystemUtilizationChore.ExpectedRegionSizeSummationAnswer.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/quotas/TestMasterSpaceQuotaObserver.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -239,7 +239,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/quotas/TestFileSystemUtilizationChore.ExpectedRegionSizeSummationAnswer.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/quotas/TestMasterSpaceQuotaObserver.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html b/testdevapidocs/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html
index 690620b..3c1a27c 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":9,"i5":9,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":9,"i6":9,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -109,7 +109,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.58">TestQuotaAdmin</a>
+<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.59">TestQuotaAdmin</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">minicluster tests that validate that quota  entries are properly set in the quota table</div>
 </li>
@@ -188,34 +188,38 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
                 org.apache.hadoop.hbase.quotas.QuotaSettings&nbsp;actualSettings)</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#clearQuotaTable--">clearQuotaTable</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>private int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#countResults-org.apache.hadoop.hbase.quotas.QuotaFilter-">countResults</a></span>(org.apache.hadoop.hbase.quotas.QuotaFilter&nbsp;filter)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#setUpBeforeClass--">setUpBeforeClass</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#tearDownAfterClass--">tearDownAfterClass</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#testQuotaRetrieverFilter--">testQuotaRetrieverFilter</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#testSetGetRemoveSpaceQuota--">testSetGetRemoveSpaceQuota</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#testSetModifyRemoveQuota--">testSetModifyRemoveQuota</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#testSimpleScan--">testSimpleScan</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#testThrottleType--">testThrottleType</a></span>()</code>&nbsp;</td>
 </tr>
@@ -247,7 +251,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.59">LOG</a></pre>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.60">LOG</a></pre>
 </li>
 </ul>
 <a name="TEST_UTIL">
@@ -256,7 +260,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TEST_UTIL</h4>
-<pre>private static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.61">TEST_UTIL</a></pre>
+<pre>private static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.62">TEST_UTIL</a></pre>
 </li>
 </ul>
 </li>
@@ -273,7 +277,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TestQuotaAdmin</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.58">TestQuotaAdmin</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.59">TestQuotaAdmin</a>()</pre>
 </li>
 </ul>
 </li>
@@ -290,7 +294,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setUpBeforeClass</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.64">setUpBeforeClass</a>()
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.65">setUpBeforeClass</a>()
                              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -298,13 +302,27 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 </dl>
 </li>
 </ul>
+<a name="clearQuotaTable--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clearQuotaTable</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.78">clearQuotaTable</a>()
+                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
 <a name="tearDownAfterClass--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>tearDownAfterClass</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.77">tearDownAfterClass</a>()
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.86">tearDownAfterClass</a>()
                                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -318,7 +336,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testThrottleType</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.82">testThrottleType</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.91">testThrottleType</a>()
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -332,7 +350,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testSimpleScan</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.130">testSimpleScan</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.139">testSimpleScan</a>()
                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -346,7 +364,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testQuotaRetrieverFilter</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.171">testQuotaRetrieverFilter</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.180">testQuotaRetrieverFilter</a>()
                               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -360,7 +378,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testSetGetRemoveSpaceQuota</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.250">testSetGetRemoveSpaceQuota</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.259">testSetGetRemoveSpaceQuota</a>()
                                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -374,7 +392,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testSetModifyRemoveQuota</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.303">testSetModifyRemoveQuota</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.312">testSetModifyRemoveQuota</a>()
                               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -388,7 +406,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>assertNumResults</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.384">assertNumResults</a>(int&nbsp;expected,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.393">assertNumResults</a>(int&nbsp;expected,
                               org.apache.hadoop.hbase.quotas.QuotaFilter&nbsp;filter)
                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
@@ -403,7 +421,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>assertSpaceQuota</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.388">assertSpaceQuota</a>(long&nbsp;sizeLimit,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.397">assertSpaceQuota</a>(long&nbsp;sizeLimit,
                               org.apache.hadoop.hbase.quotas.SpaceViolationPolicy&nbsp;violationPolicy,
                               org.apache.hadoop.hbase.Cell&nbsp;cell)
                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
@@ -419,7 +437,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>assertSpaceQuota</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.398">assertSpaceQuota</a>(long&nbsp;sizeLimit,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.407">assertSpaceQuota</a>(long&nbsp;sizeLimit,
                               org.apache.hadoop.hbase.quotas.SpaceViolationPolicy&nbsp;violationPolicy,
                               org.apache.hadoop.hbase.quotas.QuotaSettings&nbsp;actualSettings)</pre>
 </li>
@@ -430,7 +448,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>countResults</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.408">countResults</a>(org.apache.hadoop.hbase.quotas.QuotaFilter&nbsp;filter)
+<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html#line.417">countResults</a>(org.apache.hadoop.hbase.quotas.QuotaFilter&nbsp;filter)
                   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/org/apache/hadoop/hbase/quotas/TestQuotaFilter.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/quotas/TestQuotaFilter.html b/testdevapidocs/org/apache/hadoop/hbase/quotas/TestQuotaFilter.html
index abde9d3..beaa27e 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/quotas/TestQuotaFilter.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/quotas/TestQuotaFilter.html
@@ -50,7 +50,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaObserverChore.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/hadoop/hbase/quotas/TestQuotaFilter.html" target="_top">Frames</a></li>
@@ -227,7 +227,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaObserverChore.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/hadoop/hbase/quotas/TestQuotaFilter.html" target="_top">Frames</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html b/testdevapidocs/org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html
new file mode 100644
index 0000000..637d17e
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html
@@ -0,0 +1,315 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TestQuotaGlobalsSettingsBypass (Apache HBase 3.0.0-SNAPSHOT Test API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="TestQuotaGlobalsSettingsBypass (Apache HBase 3.0.0-SNAPSHOT Test API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TestQuotaGlobalsSettingsBypass.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/quotas/TestQuotaFilter.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaObserverChore.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html" target="_top">Frames</a></li>
+<li><a href="TestQuotaGlobalsSettingsBypass.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>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.quotas</div>
+<h2 title="Class TestQuotaGlobalsSettingsBypass" class="title">Class TestQuotaGlobalsSettingsBypass</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.quotas.TestQuotaGlobalsSettingsBypass</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html#line.29">TestQuotaGlobalsSettingsBypass</a>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html#TestQuotaGlobalsSettingsBypass--">TestQuotaGlobalsSettingsBypass</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>(package private) void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html#expectFailure-org.apache.hadoop.hbase.quotas.QuotaSettings-org.apache.hadoop.hbase.quotas.QuotaSettings-">expectFailure</a></span>(org.apache.hadoop.hbase.quotas.QuotaSettings&nbsp;one,
+             org.apache.hadoop.hbase.quotas.QuotaSettings&nbsp;two)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html#testInvalidMerges--">testInvalidMerges</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html#testMerge--">testMerge</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang
 /Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="TestQuotaGlobalsSettingsBypass--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TestQuotaGlobalsSettingsBypass</h4>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html#line.29">TestQuotaGlobalsSettingsBypass</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="testMerge--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>testMerge</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html#line.32">testMerge</a>()
+               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="testInvalidMerges--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>testInvalidMerges</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html#line.39">testInvalidMerges</a>()
+                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="expectFailure-org.apache.hadoop.hbase.quotas.QuotaSettings-org.apache.hadoop.hbase.quotas.QuotaSettings-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>expectFailure</h4>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html#line.96">expectFailure</a>(org.apache.hadoop.hbase.quotas.QuotaSettings&nbsp;one,
+                   org.apache.hadoop.hbase.quotas.QuotaSettings&nbsp;two)
+            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TestQuotaGlobalsSettingsBypass.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/quotas/TestQuotaFilter.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaObserverChore.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html" target="_top">Frames</a></li>
+<li><a href="TestQuotaGlobalsSettingsBypass.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>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;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/org/apache/hadoop/hbase/quotas/TestQuotaObserverChore.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/quotas/TestQuotaObserverChore.html b/testdevapidocs/org/apache/hadoop/hbase/quotas/TestQuotaObserverChore.html
index 8d01238..942dfcc 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/quotas/TestQuotaObserverChore.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/quotas/TestQuotaObserverChore.html
@@ -49,7 +49,7 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaFilter.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaObserverChoreRegionReports.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -294,7 +294,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaFilter.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaObserverChoreRegionReports.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/org/apache/hadoop/hbase/quotas/TestQuotaThrottle.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/quotas/TestQuotaThrottle.html b/testdevapidocs/org/apache/hadoop/hbase/quotas/TestQuotaThrottle.html
index 1d5592a..4d2cc37 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/quotas/TestQuotaThrottle.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/quotas/TestQuotaThrottle.html
@@ -644,7 +644,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>doGets</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaThrottle.html#line.528">doGets</a>(int&nbsp;maxOps,
+<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaThrottle.html#line.523">doGets</a>(int&nbsp;maxOps,
                     org.apache.hadoop.hbase.client.Table...&nbsp;tables)
              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
@@ -659,7 +659,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>triggerUserCacheRefresh</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaThrottle.html#line.544">triggerUserCacheRefresh</a>(boolean&nbsp;bypass,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaThrottle.html#line.539">triggerUserCacheRefresh</a>(boolean&nbsp;bypass,
                                      org.apache.hadoop.hbase.TableName...&nbsp;tables)
                               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
@@ -674,7 +674,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>triggerTableCacheRefresh</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaThrottle.html#line.548">triggerTableCacheRefresh</a>(boolean&nbsp;bypass,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaThrottle.html#line.543">triggerTableCacheRefresh</a>(boolean&nbsp;bypass,
                                       org.apache.hadoop.hbase.TableName...&nbsp;tables)
                                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
@@ -689,7 +689,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>triggerNamespaceCacheRefresh</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaThrottle.html#line.552">triggerNamespaceCacheRefresh</a>(boolean&nbsp;bypass,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaThrottle.html#line.547">triggerNamespaceCacheRefresh</a>(boolean&nbsp;bypass,
                                           org.apache.hadoop.hbase.TableName...&nbsp;tables)
                                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
@@ -704,7 +704,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>triggerCacheRefresh</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaThrottle.html#line.556">triggerCacheRefresh</a>(boolean&nbsp;bypass,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaThrottle.html#line.551">triggerCacheRefresh</a>(boolean&nbsp;bypass,
                                  boolean&nbsp;userLimiter,
                                  boolean&nbsp;tableLimiter,
                                  boolean&nbsp;nsLimiter,
@@ -722,7 +722,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>waitMinuteQuota</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaThrottle.html#line.601">waitMinuteQuota</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestQuotaThrottle.html#line.596">waitMinuteQuota</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html b/testdevapidocs/org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html
index 7c43fcf..929b614 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -109,7 +109,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html#line.36">TestSpaceLimitSettings</a>
+<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html#line.39">TestSpaceLimitSettings</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Test class for <code>SpaceLimitSettings</code>.</div>
 </li>
@@ -177,6 +177,10 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 </tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html#testQuotaMerging--">testQuotaMerging</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html#testTableQuota--">testTableQuota</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
@@ -207,7 +211,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TestSpaceLimitSettings</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html#line.36">TestSpaceLimitSettings</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html#line.39">TestSpaceLimitSettings</a>()</pre>
 </li>
 </ul>
 </li>
@@ -224,7 +228,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testInvalidTableQuotaSizeLimit</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html#line.39">testInvalidTableQuotaSizeLimit</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html#line.42">testInvalidTableQuotaSizeLimit</a>()</pre>
 </li>
 </ul>
 <a name="testNullTableName--">
@@ -233,7 +237,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testNullTableName</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html#line.44">testNullTableName</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html#line.47">testNullTableName</a>()</pre>
 </li>
 </ul>
 <a name="testNullTableViolationPolicy--">
@@ -242,7 +246,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testNullTableViolationPolicy</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html#line.50">testNullTableViolationPolicy</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html#line.53">testNullTableViolationPolicy</a>()</pre>
 </li>
 </ul>
 <a name="testInvalidNamespaceQuotaSizeLimit--">
@@ -251,7 +255,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testInvalidNamespaceQuotaSizeLimit</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html#line.55">testInvalidNamespaceQuotaSizeLimit</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html#line.58">testInvalidNamespaceQuotaSizeLimit</a>()</pre>
 </li>
 </ul>
 <a name="testNullNamespace--">
@@ -260,7 +264,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testNullNamespace</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html#line.60">testNullNamespace</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html#line.63">testNullNamespace</a>()</pre>
 </li>
 </ul>
 <a name="testNullNamespaceViolationPolicy--">
@@ -269,7 +273,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testNullNamespaceViolationPolicy</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html#line.66">testNullNamespaceViolationPolicy</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html#line.69">testNullNamespaceViolationPolicy</a>()</pre>
 </li>
 </ul>
 <a name="testTableQuota--">
@@ -278,16 +282,30 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testTableQuota</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html#line.71">testTableQuota</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html#line.74">testTableQuota</a>()</pre>
 </li>
 </ul>
 <a name="testNamespaceQuota--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>testNamespaceQuota</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html#line.96">testNamespaceQuota</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html#line.99">testNamespaceQuota</a>()</pre>
+</li>
+</ul>
+<a name="testQuotaMerging--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>testQuotaMerging</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html#line.124">testQuotaMerging</a>()
+                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/org/apache/hadoop/hbase/quotas/TestTablesWithQuotas.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/quotas/TestTablesWithQuotas.html b/testdevapidocs/org/apache/hadoop/hbase/quotas/TestTablesWithQuotas.html
index bcbcbcf..e7bcf60 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/quotas/TestTablesWithQuotas.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/quotas/TestTablesWithQuotas.html
@@ -50,7 +50,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/hadoop/hbase/quotas/TestTableSpaceQuotaViolationNotifier.SingleCellPutMatcher.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../org/apache/hadoop/hbase/quotas/TestThrottleSettings.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/hadoop/hbase/quotas/TestTablesWithQuotas.html" target="_top">Frames</a></li>
@@ -344,7 +344,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/hadoop/hbase/quotas/TestTableSpaceQuotaViolationNotifier.SingleCellPutMatcher.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../org/apache/hadoop/hbase/quotas/TestThrottleSettings.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/hadoop/hbase/quotas/TestTablesWithQuotas.html" target="_top">Frames</a></li>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html
index bb753e1..77880ed 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html
@@ -51,603 +51,530 @@
 <span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.43"></a>
 <span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.44"></a>
 <span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceLimitRequest;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Throttle;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.ThrottleRequest;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.TimedQuota;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.52"></a>
-<span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.shaded.com.google.common.annotations.VisibleForTesting;<a name="line.54"></a>
-<span class="sourceLineNo">055</span><a name="line.55"></a>
-<span class="sourceLineNo">056</span>/**<a name="line.56"></a>
-<span class="sourceLineNo">057</span> * Master Quota Manager.<a name="line.57"></a>
-<span class="sourceLineNo">058</span> * It is responsible for initialize the quota table on the first-run and<a name="line.58"></a>
-<span class="sourceLineNo">059</span> * provide the admin operations to interact with the quota table.<a name="line.59"></a>
-<span class="sourceLineNo">060</span> *<a name="line.60"></a>
-<span class="sourceLineNo">061</span> * TODO: FUTURE: The master will be responsible to notify each RS of quota changes<a name="line.61"></a>
-<span class="sourceLineNo">062</span> * and it will do the "quota aggregation" when the QuotaScope is CLUSTER.<a name="line.62"></a>
-<span class="sourceLineNo">063</span> */<a name="line.63"></a>
-<span class="sourceLineNo">064</span>@InterfaceAudience.Private<a name="line.64"></a>
-<span class="sourceLineNo">065</span>@InterfaceStability.Evolving<a name="line.65"></a>
-<span class="sourceLineNo">066</span>public class MasterQuotaManager implements RegionStateListener {<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  private static final Log LOG = LogFactory.getLog(MasterQuotaManager.class);<a name="line.67"></a>
-<span class="sourceLineNo">068</span>  private static final Map&lt;HRegionInfo, Long&gt; EMPTY_MAP = Collections.unmodifiableMap(<a name="line.68"></a>
-<span class="sourceLineNo">069</span>      new HashMap&lt;&gt;());<a name="line.69"></a>
-<span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span>  private final MasterServices masterServices;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  private NamedLock&lt;String&gt; namespaceLocks;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  private NamedLock&lt;TableName&gt; tableLocks;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  private NamedLock&lt;String&gt; userLocks;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  private boolean initialized = false;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  private NamespaceAuditor namespaceQuotaManager;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  private ConcurrentHashMap&lt;HRegionInfo, SizeSnapshotWithTimestamp&gt; regionSizes;<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>  public MasterQuotaManager(final MasterServices masterServices) {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    this.masterServices = masterServices;<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>  public void start() throws IOException {<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    // If the user doesn't want the quota support skip all the initializations.<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    if (!QuotaUtil.isQuotaEnabled(masterServices.getConfiguration())) {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      LOG.info("Quota support disabled");<a name="line.86"></a>
-<span class="sourceLineNo">087</span>      return;<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>    // Create the quota table if missing<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    if (!MetaTableAccessor.tableExists(masterServices.getConnection(),<a name="line.91"></a>
-<span class="sourceLineNo">092</span>          QuotaUtil.QUOTA_TABLE_NAME)) {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      LOG.info("Quota table not found. Creating...");<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      createQuotaTable();<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>    LOG.info("Initializing quota support");<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    namespaceLocks = new NamedLock&lt;&gt;();<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    tableLocks = new NamedLock&lt;&gt;();<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    userLocks = new NamedLock&lt;&gt;();<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    regionSizes = new ConcurrentHashMap&lt;&gt;();<a name="line.101"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.46"></a>
+<span class="sourceLineNo">047</span><a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.shaded.com.google.common.annotations.VisibleForTesting;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat;<a name="line.49"></a>
+<span class="sourceLineNo">050</span><a name="line.50"></a>
+<span class="sourceLineNo">051</span>/**<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * Master Quota Manager.<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * It is responsible for initialize the quota table on the first-run and<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * provide the admin operations to interact with the quota table.<a name="line.54"></a>
+<span class="sourceLineNo">055</span> *<a name="line.55"></a>
+<span class="sourceLineNo">056</span> * TODO: FUTURE: The master will be responsible to notify each RS of quota changes<a name="line.56"></a>
+<span class="sourceLineNo">057</span> * and it will do the "quota aggregation" when the QuotaScope is CLUSTER.<a name="line.57"></a>
+<span class="sourceLineNo">058</span> */<a name="line.58"></a>
+<span class="sourceLineNo">059</span>@InterfaceAudience.Private<a name="line.59"></a>
+<span class="sourceLineNo">060</span>@InterfaceStability.Evolving<a name="line.60"></a>
+<span class="sourceLineNo">061</span>public class MasterQuotaManager implements RegionStateListener {<a name="line.61"></a>
+<span class="sourceLineNo">062</span>  private static final Log LOG = LogFactory.getLog(MasterQuotaManager.class);<a name="line.62"></a>
+<span class="sourceLineNo">063</span>  private static final Map&lt;HRegionInfo, Long&gt; EMPTY_MAP = Collections.unmodifiableMap(<a name="line.63"></a>
+<span class="sourceLineNo">064</span>      new HashMap&lt;&gt;());<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span>  private final MasterServices masterServices;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>  private NamedLock&lt;String&gt; namespaceLocks;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  private NamedLock&lt;TableName&gt; tableLocks;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  private NamedLock&lt;String&gt; userLocks;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>  private boolean initialized = false;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  private NamespaceAuditor namespaceQuotaManager;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>  private ConcurrentHashMap&lt;HRegionInfo, SizeSnapshotWithTimestamp&gt; regionSizes;<a name="line.72"></a>
+<span class="sourceLineNo">073</span><a name="line.73"></a>
+<span class="sourceLineNo">074</span>  public MasterQuotaManager(final MasterServices masterServices) {<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    this.masterServices = masterServices;<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>  public void start() throws IOException {<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    // If the user doesn't want the quota support skip all the initializations.<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    if (!QuotaUtil.isQuotaEnabled(masterServices.getConfiguration())) {<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      LOG.info("Quota support disabled");<a name="line.81"></a>
+<span class="sourceLineNo">082</span>      return;<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>    // Create the quota table if missing<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    if (!MetaTableAccessor.tableExists(masterServices.getConnection(),<a name="line.86"></a>
+<span class="sourceLineNo">087</span>          QuotaUtil.QUOTA_TABLE_NAME)) {<a name="line.87"></a>
+<span class="sourceLineNo">088</span>      LOG.info("Quota table not found. Creating...");<a name="line.88"></a>
+<span class="sourceLineNo">089</span>      createQuotaTable();<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>    LOG.info("Initializing quota support");<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    namespaceLocks = new NamedLock&lt;&gt;();<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    tableLocks = new NamedLock&lt;&gt;();<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    userLocks = new NamedLock&lt;&gt;();<a name="line.95"></a>
+<span class="sourceLineNo">096</span>    regionSizes = new ConcurrentHashMap&lt;&gt;();<a name="line.96"></a>
+<span class="sourceLineNo">097</span><a name="line.97"></a>
+<span class="sourceLineNo">098</span>    namespaceQuotaManager = new NamespaceAuditor(masterServices);<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    namespaceQuotaManager.start();<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    initialized = true;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  }<a name="line.101"></a>
 <span class="sourceLineNo">102</span><a name="line.102"></a>
-<span class="sourceLineNo">103</span>    namespaceQuotaManager = new NamespaceAuditor(masterServices);<a name="line.103"></a>
-<span class="sourceLineNo">104</span>    namespaceQuotaManager.start();<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    initialized = true;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  }<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>  public void stop() {<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 boolean isQuotaInitialized() {<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    return initialized &amp;&amp; namespaceQuotaManager.isInitialized();<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  }<a name="line.113"></a>
-<span class="sourceLineNo">114</span><a name="line.114"></a>
-<span class="sourceLineNo">115</span>  /* ==========================================================================<a name="line.115"></a>
-<span class="sourceLineNo">116</span>   *  Admin operations to manage the quota table<a name="line.116"></a>
-<span class="sourceLineNo">117</span>   */<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  public SetQuotaResponse setQuota(final SetQuotaRequest req)<a name="line.118"></a>
-<span class="sourceLineNo">119</span>      throws IOException, InterruptedException {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    checkQuotaSupport();<a name="line.120"></a>
-<span class="sourceLineNo">121</span><a name="line.121"></a>
-<span class="sourceLineNo">122</span>    if (req.hasUserName()) {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      userLocks.lock(req.getUserName());<a name="line.123"></a>
-<span class="sourceLineNo">124</span>      try {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>        if (req.hasTableName()) {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>          setUserQuota(req.getUserName(), ProtobufUtil.toTableName(req.getTableName()), req);<a name="line.126"></a>
-<span class="sourceLineNo">127</span>        } else if (req.hasNamespace()) {<a name="line.127"></a>
-<span class="sourceLineNo">128</span>          setUserQuota(req.getUserName(), req.getNamespace(), req);<a name="line.128"></a>
-<span class="sourceLineNo">129</span>        } else {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>          setUserQuota(req.getUserName(), req);<a name="line.130"></a>
-<span class="sourceLineNo">131</span>        }<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      } finally {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>        userLocks.unlock(req.getUserName());<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      }<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    } else if (req.hasTableName()) {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>      TableName table = ProtobufUtil.toTableName(req.getTableName());<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      tableLocks.lock(table);<a name="line.137"></a>
-<span class="sourceLineNo">138</span>      try {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>        setTableQuota(table, req);<a name="line.139"></a>
-<span class="sourceLineNo">140</span>      } finally {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>        tableLocks.unlock(table);<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      }<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    } else if (req.hasNamespace()) {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      namespaceLocks.lock(req.getNamespace());<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      try {<a name="line.145"></a>
-<span class="sourceLineNo">146</span>        setNamespaceQuota(req.getNamespace(), req);<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      } finally {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        namespaceLocks.unlock(req.getNamespace());<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      }<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    } else {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      throw new DoNotRetryIOException(<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        new UnsupportedOperationException("a user, a table or a namespace must be specified"));<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    }<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    return SetQuotaResponse.newBuilder().build();<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>  public void setUserQuota(final String userName, final SetQuotaRequest req)<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      throws IOException, InterruptedException {<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    setQuota(req, new SetQuotaOperations() {<a name="line.159"></a>
+<span class="sourceLineNo">103</span>  public void stop() {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>  }<a name="line.104"></a>
+<span class="sourceLineNo">105</span><a name="line.105"></a>
+<span class="sourceLineNo">106</span>  public boolean isQuotaInitialized() {<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    return initialized &amp;&amp; namespaceQuotaManager.isInitialized();<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>   *  Admin operations to manage the quota table<a name="line.111"></a>
+<span class="sourceLineNo">112</span>   */<a name="line.112"></a>
+<span class="sourceLineNo">113</span>  public SetQuotaResponse setQuota(final SetQuotaRequest req)<a name="line.113"></a>
+<span class="sourceLineNo">114</span>      throws IOException, InterruptedException {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    checkQuotaSupport();<a name="line.115"></a>
+<span class="sourceLineNo">116</span><a name="line.116"></a>
+<span class="sourceLineNo">117</span>    if (req.hasUserName()) {<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      userLocks.lock(req.getUserName());<a name="line.118"></a>
+<span class="sourceLineNo">119</span>      try {<a name="line.119"></a>
+<span class="sourceLineNo">120</span>        if (req.hasTableName()) {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>          setUserQuota(req.getUserName(), ProtobufUtil.toTableName(req.getTableName()), req);<a name="line.121"></a>
+<span class="sourceLineNo">122</span>        } else if (req.hasNamespace()) {<a name="line.122"></a>
+<span class="sourceLineNo">123</span>          setUserQuota(req.getUserName(), req.getNamespace(), req);<a name="line.123"></a>
+<span class="sourceLineNo">124</span>        } else {<a name="line.124"></a>
+<span class="sourceLineNo">125</span>          setUserQuota(req.getUserName(), req);<a name="line.125"></a>
+<span class="sourceLineNo">126</span>        }<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      } finally {<a name="line.127"></a>
+<span class="sourceLineNo">128</span>        userLocks.unlock(req.getUserName());<a name="line.128"></a>
+<span class="sourceLineNo">129</span>      }<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    } else if (req.hasTableName()) {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      TableName table = ProtobufUtil.toTableName(req.getTableName());<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      tableLocks.lock(table);<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      try {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>        setTableQuota(table, req);<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      } finally {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>        tableLocks.unlock(table);<a name="line.136"></a>
+<span class="sourceLineNo">137</span>      }<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    } else if (req.hasNamespace()) {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      namespaceLocks.lock(req.getNamespace());<a name="line.139"></a>
+<span class="sourceLineNo">140</span>      try {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>        setNamespaceQuota(req.getNamespace(), req);<a name="line.141"></a>
+<span class="sourceLineNo">142</span>      } finally {<a name="line.142"></a>
+<span class="sourceLineNo">143</span>        namespaceLocks.unlock(req.getNamespace());<a name="line.143"></a>
+<span class="sourceLineNo">144</span>      }<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    } else {<a name="line.145"></a>
+<span class="sourceLineNo">146</span>      throw new DoNotRetryIOException(<a name="line.146"></a>
+<span class="sourceLineNo">147</span>        new UnsupportedOperationException("a user, a table or a namespace must be specified"));<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    }<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    return SetQuotaResponse.newBuilder().build();<a name="line.149"></a>
+<span class="sourceLineNo">150</span>  }<a name="line.150"></a>
+<span class="sourceLineNo">151</span><a name="line.151"></a>
+<span class="sourceLineNo">152</span>  public void setUserQuota(final String userName, final SetQuotaRequest req)<a name="line.152"></a>
+<span class="sourceLineNo">153</span>      throws IOException, InterruptedException {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    setQuota(req, new SetQuotaOperations() {<a name="line.154"></a>
+<span class="sourceLineNo">155</span>      @Override<a name="line.155"></a>
+<span class="sourceLineNo">156</span>      public GlobalQuotaSettings fetch() throws IOException {<a name="line.156"></a>
+<span class="sourceLineNo">157</span>        return new GlobalQuotaSettings(req.getUserName(), null, null, QuotaUtil.getUserQuota(<a name="line.157"></a>
+<span class="sourceLineNo">158</span>            masterServices.getConnection(), userName));<a name="line.158"></a>
+<span class="sourceLineNo">159</span>      }<a name="line.159"></a>
 <span class="sourceLineNo">160</span>      @Override<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      public Quotas fetch() throws IOException {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>        return QuotaUtil.getUserQuota(masterServices.getConnection(), userName);<a name="line.162"></a>
+<span class="sourceLineNo">161</span>      public void update(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>        QuotaUtil.addUserQuota(masterServices.getConnection(), userName, quotaPojo.toQuotas());<a name="line.162"></a>
 <span class="sourceLineNo">163</span>      }<a name="line.163"></a>
 <span class="sourceLineNo">164</span>      @Override<a name="line.164"></a>
-<span class="sourceLineNo">165</span>      public void update(final Quotas quotas) throws IOException {<a name="line.165"></a>
-<span class="sourceLineNo">166</span>        QuotaUtil.addUserQuota(masterServices.getConnection(), userName, quotas);<a name="line.166"></a>
+<span class="sourceLineNo">165</span>      public void delete() throws IOException {<a name="line.165"></a>
+<span class="sourceLineNo">166</span>        QuotaUtil.deleteUserQuota(masterServices.getConnection(), userName);<a name="line.166"></a>
 <span class="sourceLineNo">167</span>      }<a name="line.167"></a>
 <span class="sourceLineNo">168</span>      @Override<a name="line.168"></a>
-<span class="sourceLineNo">169</span>      public void delete() throws IOException {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>        QuotaUtil.deleteUserQuota(masterServices.getConnection(), userName);<a name="line.170"></a>
+<span class="sourceLineNo">169</span>      public void preApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.169"></a>
+<span class="sourceLineNo">170</span>        masterServices.getMasterCoprocessorHost().preSetUserQuota(userName, quotaPojo);<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 preApply(final Quotas quotas) throws IOException {<a name="line.173"></a>
-<span class="sourceLineNo">174</span>        masterServices.getMasterCoprocessorHost().preSetUserQuota(userName, quotas);<a name="line.174"></a>
+<span class="sourceLineNo">173</span>      public void postApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        masterServices.getMasterCoprocessorHost().postSetUserQuota(userName, quotaPojo);<a name="line.174"></a>
 <span class="sourceLineNo">175</span>      }<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      @Override<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      public void postApply(final Quotas quotas) throws IOException {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>        masterServices.getMasterCoprocessorHost().postSetUserQuota(userName, quotas);<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    });<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  }<a name="line.181"></a>
-<span class="sourceLineNo">182</span><a name="line.182"></a>
-<span class="sourceLineNo">183</span>  public void setUserQuota(final String userName, final TableName table,<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      final SetQuotaRequest req) throws IOException, InterruptedException {<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    setQuota(req, new SetQuotaOperations() {<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      @Override<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      public Quotas fetch() throws IOException {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>        return QuotaUtil.getUserQuota(masterServices.getConnection(), userName, table);<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>      public void update(final Quotas quotas) throws IOException {<a name="line.191"></a>
-<span class="sourceLineNo">192</span>        QuotaUtil.addUserQuota(masterServices.getConnection(), userName, table, quotas);<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 void delete() throws IOException {<a name="line.195"></a>
-<span class="sourceLineNo">196</span>        QuotaUtil.deleteUserQuota(masterServices.getConnection(), userName, table);<a name="line.196"></a>
-<span class="sourceLineNo">197</span>      }<a name="line.197"></a>
-<span class="sourceLineNo">198</span>      @Override<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      public void preApply(final Quotas quotas) throws IOException {<a name="line.199"></a>
-<span class="sourceLineNo">200</span>        masterServices.getMasterCoprocessorHost().preSetUserQuota(userName, table, quotas);<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      }<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      @Override<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      public void postApply(final Quotas quotas) throws IOException {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>        masterServices.getMasterCoprocessorHost().postSetUserQuota(userName, table, quotas);<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>  public void setUserQuota(final String userName, final String namespace,<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      final SetQuotaRequest req) throws IOException, InterruptedException {<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    setQuota(req, new SetQuotaOperations() {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>      @Override<a name="line.212"></a>
-<span class="sourceLineNo">213</span>      public Quotas fetch() throws IOException {<a name="line.213"></a>
-<span class="sourceLineNo">214</span>        return QuotaUtil.getUserQuota(masterServices.getConnection(), userName, namespace);<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 update(final Quotas quotas) throws IOException {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>        QuotaUtil.addUserQuota(masterServices.getConnection(), userName, namespace, quotas);<a name="line.218"></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>  public void setUserQuota(final String userName, final TableName table,<a name="line.179"></a>
+<span class="sourceLineNo">180</span>      final SetQuotaRequest req) throws IOException, InterruptedException {<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    setQuota(req, new SetQuotaOperations() {<a name="line.181"></a>
+<span class="sourceLineNo">182</span>      @Override<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      public GlobalQuotaSettings fetch() throws IOException {<a name="line.183"></a>
+<span class="sourceLineNo">184</span>        return new GlobalQuotaSettings(userName, table, null, QuotaUtil.getUserQuota(<a name="line.184"></a>
+<span class="sourceLineNo">185</span>            masterServices.getConnection(), userName, table));<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>      public void update(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.188"></a>
+<span class="sourceLineNo">189</span>        QuotaUtil.addUserQuota(masterServices.getConnection(), userName, table,<a name="line.189"></a>
+<span class="sourceLineNo">190</span>            quotaPojo.toQuotas());<a name="line.190"></a>
+<span class="sourceLineNo">191</span>      }<a name="line.191"></a>
+<span class="sourceLineNo">192</span>      @Override<a name="line.192"></a>
+<span class="sourceLineNo">193</span>      public void delete() throws IOException {<a name="line.193"></a>
+<span class="sourceLineNo">194</span>        QuotaUtil.deleteUserQuota(masterServices.getConnection(), userName, table);<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 preApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>        masterServices.getMasterCoprocessorHost().preSetUserQuota(userName, table, quotaPojo);<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>      public void postApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.201"></a>
+<span class="sourceLineNo">202</span>        masterServices.getMasterCoprocessorHost().postSetUserQuota(userName, table, quotaPojo);<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><a name="line.206"></a>
+<span class="sourceLineNo">207</span>  public void setUserQuota(final String userName, final String namespace,<a name="line.207"></a>
+<span class="sourceLineNo">208</span>      final SetQuotaRequest req) throws IOException, InterruptedException {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    setQuota(req, new SetQuotaOperations() {<a name="line.209"></a>
+<span class="sourceLineNo">210</span>      @Override<a name="line.210"></a>
+<span class="sourceLineNo">211</span>      public GlobalQuotaSettings fetch() throws IOException {<a name="line.211"></a>
+<span class="sourceLineNo">212</span>        return new GlobalQuotaSettings(userName, null, namespace, QuotaUtil.getUserQuota(<a name="line.212"></a>
+<span class="sourceLineNo">213</span>            masterServices.getConnection(), userName, namespace));<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 update(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.216"></a>
+<span class="sourceLineNo">217</span>        QuotaUtil.addUserQuota(masterServices.getConnection(), userName, namespace,<a name="line.217"></a>
+<span class="sourceLineNo">218</span>            quotaPojo.toQuotas());<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 void delete() throws IOException {<a name="line.221"></a>
 <span class="sourceLineNo">222</span>        QuotaUtil.deleteUserQuota(masterServices.getConnection(), userName, namespace);<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 void preApply(final Quotas quotas) throws IOException {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>        masterServices.getMasterCoprocessorHost().preSetUserQuota(userName, namespace, quotas);<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 void postApply(final Quotas quotas) throws IOException {<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        masterServices.getMasterCoprocessorHost().postSetUserQuota(userName, namespace, quotas);<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>  public void setTableQuota(final TableName table, final SetQuotaRequest req)<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      throws IOException, InterruptedException {<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    setQuota(req, new SetQuotaOperations() {<a name="line.237"></a>
-<span class="sourceLineNo">238</span>      @Override<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      public Quotas fetch() throws IOException {<a name="line.239"></a>
-<span class="sourceLineNo">240</span>        return QuotaUtil.getTableQuota(masterServices.getConnection(), table);<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 update(final Quotas quotas) throws IOException {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>        QuotaUtil.addTableQuota(masterServices.getConnection(), table, quotas);<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 delete() throws IOException {<a name="line.247"></a>
-<span class="sourceLineNo">248</span>        QuotaUtil.deleteTableQuota(masterServices.getConnection(), table);<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 preApply(final Quotas quotas) throws IOException {<a name="line.251"></a>
-<span class="sourceLineNo">252</span>        masterServices.getMasterCoprocessorHost().preSetTableQuota(table, quotas);<a name="line.252"></a>
-<span class="sourceLineNo">253</span>      }<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      @Override<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      public void postApply(final Quotas quotas) throws IOException {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>        masterServices.getMasterCoprocessorHost().postSetTableQuota(table, quotas);<a name="line.256"></a>
-<span class="sourceLineNo">257</span>      }<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    });<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  }<a name="line.259"></a>
-<span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span>  public void setNamespaceQuota(final String namespace, final SetQuotaRequest req)<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      throws IOException, InterruptedException {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    setQuota(req, new SetQuotaOperations() {<a name="line.263"></a>
-<span class="sourceLineNo">264</span>      @Override<a name="line.264"></a>
-<span class="sourceLineNo">265</span>      public Quotas fetch() throws IOException {<a name="line.265"></a>
-<span class="sourceLineNo">266</span>        return QuotaUtil.getNamespaceQuota(masterServices.getConnection(), namespace);<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      }<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      @Override<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      public void update(final Quotas quotas) throws IOException {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>        QuotaUtil.addNamespaceQuota(masterServices.getConnection(), namespace, quotas);<a name="line.270"></a>
+<span class="sourceLineNo">225</span>      public void preApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.225"></a>
+<span class="sourceLineNo">226</span>        masterServices.getMasterCoprocessorHost().preSetUserQuota(<a name="line.226"></a>
+<span class="sourceLineNo">227</span>            userName, namespace, quotaPojo);<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 postApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>        masterServices.getMasterCoprocessorHost().postSetUserQuota(<a name="line.231"></a>
+<span class="sourceLineNo">232</span>            userName, namespace, quotaPojo);<a name="line.232"></a>
+<span class="sourceLineNo">233</span>      }<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    });<a name="line.234"></a>
+<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
+<span class="sourceLineNo">236</span><a name="line.236"></a>
+<span class="sourceLineNo">237</span>  public void setTableQuota(final TableName table, final SetQuotaRequest req)<a name="line.237"></a>
+<span class="sourceLineNo">238</span>      throws IOException, InterruptedException {<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    setQuota(req, new SetQuotaOperations() {<a name="line.239"></a>
+<span class="sourceLineNo">240</span>      @Override<a name="line.240"></a>
+<span class="sourceLineNo">241</span>      public GlobalQuotaSettings fetch() throws IOException {<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        return new GlobalQuotaSettings(null, table, null, QuotaUtil.getTableQuota(<a name="line.242"></a>
+<span class="sourceLineNo">243</span>            masterServices.getConnection(), table));<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 void update(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.246"></a>
+<span class="sourceLineNo">247</span>        QuotaUtil.addTableQuota(masterServices.getConnection(), table, quotaPojo.toQuotas());<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 delete() throws IOException {<a name="line.250"></a>
+<span class="sourceLineNo">251</span>        QuotaUtil.deleteTableQuota(masterServices.getConnection(), table);<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 preApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.254"></a>
+<span class="sourceLineNo">255</span>        masterServices.getMasterCoprocessorHost().preSetTableQuota(table, quotaPojo);<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 void postApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.258"></a>
+<span class="sourceLineNo">259</span>        masterServices.getMasterCoprocessorHost().postSetTableQuota(table, quotaPojo);<a name="line.259"></a>
+<span class="sourceLineNo">260</span>      }<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    });<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  }<a name="line.262"></a>
+<span class="sourceLineNo">263</span><a name="line.263"></a>
+<span class="sourceLineNo">264</span>  public void setNamespaceQuota(final String namespace, final SetQuotaRequest req)<a name="line.264"></a>
+<span class="sourceLineNo">265</span>      throws IOException, InterruptedException {<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    setQuota(req, new SetQuotaOperations() {<a name="line.266"></a>
+<span class="sourceLineNo">267</span>      @Override<a name="line.267"></a>
+<span class="sourceLineNo">268</span>      public GlobalQuotaSettings fetch() throws IOException {<a name="line.268"></a>
+<span class="sourceLineNo">269</span>        return new GlobalQuotaSettings(null, null, namespace, QuotaUtil.getNamespaceQuota(<a name="line.269"></a>
+<span class="sourceLineNo">270</span>                masterServices.getConnection(), namespace));<a name="line.270"></a>
 <span class="sourceLineNo">271</span>      }<a name="line.271"></a>
 <span class="sourceLineNo">272</span>      @Override<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      public void delete() throws IOException {<a name="line.273"></a>
-<span class="sourceLineNo">274</span>        QuotaUtil.deleteNamespaceQuota(masterServices.getConnection(), namespace);<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      }<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      @Override<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      public void preApply(final Quotas quotas) throws IOException {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>        masterServices.getMasterCoprocessorHost().preSetNamespaceQuota(namespace, quotas);<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      }<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      @Override<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      public void postApply(final Quotas quotas) throws IOException {<a name="line.281"></a>
-<span class="sourceLineNo">282</span>        masterServices.getMasterCoprocessorHost().postSetNamespaceQuota(namespace, quotas);<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      }<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    });<a name="line.284"></a>
-<span class="sourceLineNo">285</span>  }<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>  public void setNamespaceQuota(NamespaceDescriptor desc) throws IOException {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    if (initialized) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      this.namespaceQuotaManager.addNamespace(desc);<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>  public void removeNamespaceQuota(String namespace) throws IOException {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    if (initialized) {<a name="line.294"></a>
-<span class="sourceLineNo">295</span>      this.namespaceQuotaManager.deleteNamespace(namespace);<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>  private void setQuota(final SetQuotaRequest req, final SetQuotaOperations quotaOps)<a name="line.299"></a>
-<span class="sourceLineNo">300</span>      throws IOException, InterruptedException {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    if (req.hasRemoveAll() &amp;&amp; req.getRemoveAll() == true) {<a name="line.301"></a>
-<span class="sourceLineNo">302</span>      quotaOps.preApply(null);<a name="line.302"></a>
-<span class="sourceLineNo">303</span>      quotaOps.delete();<a name="line.303"></a>
-<span class="sourceLineNo">304</span>      quotaOps.postApply(null);<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      return;<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>    // Apply quota changes<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    Quotas quotas = quotaOps.fetch();<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    quotaOps.preApply(quotas);<a name="line.310"></a>
-<span class="sourceLineNo">311</span><a name="line.311"></a>
-<span class="sourceLineNo">312</span>    // Copy the user request into the Quotas object<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    Quotas.Builder builder = (quotas != null) ? quotas.toBuilder() : Quotas.newBuilder();<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    if (req.hasThrottle()) applyThrottle(builder, req.getThrottle());<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    if (req.hasBypassGlobals()) applyBypassGlobals(builder, req.getBypassGlobals());<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    if (req.hasSpaceLimit()) applySpaceLimit(builder, req.getSpaceLimit());<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>    // Submit new changes<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    quotas = builder.build();<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    if (QuotaUtil.isEmptyQuota(quotas)) {<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      quotaOps.delete();<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    } else {<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      quotaOps.update(quotas);<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    }<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    quotaOps.postApply(quotas);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>  }<a name="line.326"></a>
+<span class="sourceLineNo">273</span>      public void update(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.273"></a>
+<span class="sourceLineNo">274</span>        QuotaUtil.addNamespaceQuota(masterServices.getConnection(), namespace,<a name="line.274"></a>
+<span class="sourceLineNo">275</span>            ((GlobalQuotaSettings) quotaPojo).toQuotas());<a name="line.275"></a>
+<span class="sourceLineNo">276</span>      }<a name="line.276"></a>
+<span class="sourceLineNo">277</span>      @Override<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      public void delete() throws IOException {<a name="line.278"></a>
+<span class="sourceLineNo">279</span>        QuotaUtil.deleteNamespaceQuota(masterServices.getConnection(), namespace);<a name="line.279"></a>
+<span class="sourceLineNo">280</span>      }<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      @Override<a name="line.281"></a>
+<span class="sourceLineNo">282</span>      public void preApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.282"></a>
+<span class="sourceLineNo">283</span>        masterServices.getMasterCoprocessorHost().preSetNamespaceQuota(namespace, quotaPojo);<a name="line.283"></a>
+<span class="sourceLineNo">284</span>      }<a name="line.284"></a>
+<span class="sourceLineNo">285</span>      @Override<a name="line.285"></a>
+<span class="sourceLineNo">286</span>      public void postApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.286"></a>
+<span class="sourceLineNo">287</span>        masterServices.getMasterCoprocessorHost().postSetNamespaceQuota(namespace, quotaPojo);<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><a name="line.291"></a>
+<span class="sourceLineNo">292</span>  public void setNamespaceQuota(NamespaceDescriptor desc) throws IOException {<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    if (initialized) {<a name="line.293"></a>
+<span class="sourceLineNo">294</span>      this.namespaceQuotaManager.addNamespace(desc);<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>  public void removeNamespaceQuota(String namespace) throws IOException {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    if (initialized) {<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      this.namespaceQuotaManager.deleteNamespace(namespace);<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    }<a name="line.301"></a>
+<span class="sourceLineNo">302</span>  }<a name="line.302"></a>
+<span class="sourceLineNo">303</span><a name="line.303"></a>
+<span class="sourceLineNo">304</span>  private void setQuota(final SetQuotaRequest req, final SetQuotaOperations quotaOps)<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      throws IOException, InterruptedException {<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    if (req.hasRemoveAll() &amp;&amp; req.getRemoveAll() == true) {<a name="line.306"></a>
+<span class="sourceLineNo">307</span>      quotaOps.preApply(null);<a name="line.307"></a>
+<span class="sourceLineNo">308</span>      quotaOps.delete();<a name="line.308"></a>
+<span class="sourceLineNo">309</span>      quotaOps.postApply(null);<a name="line.309"></a>
+<span class="sourceLineNo">310</span>      return;<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>    // Apply quota changes<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    GlobalQuotaSettings currentQuota = quotaOps.fetch();<a name="line.314"></a>
+<span class="sourceLineNo">315</span>    if (LOG.isTraceEnabled()) {<a name="line.315"></a>
+<span class="sourceLineNo">316</span>      LOG.trace(<a name="line.316"></a>
+<span class="sourceLineNo">317</span>          "Current quota for request(" + TextFormat.shortDebugString(req)<a name="line.317"></a>
+<span class="sourceLineNo">318</span>              + "): " + currentQuota);<a name="line.318"></a>
+<span class="sourceLineNo">319</span>    }<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    // Call the appropriate "pre" CP hook with the current quota value (may be null)<a name="line.320"></a>
+<span class="sourceLineNo">321</span>    quotaOps.preApply(currentQuota);<a name="line.321"></a>
+<span class="sourceLineNo">322</span>    // Translate the protobuf request back into a POJO<a name="line.322"></a>
+<span class="sourceLineNo">323</span>    QuotaSettings newQuota = QuotaSettings.buildFromProto(req);<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    if (LOG.isTraceEnabled()) {<a name="line.324"></a>
+<span class="sourceLineNo">325</span>      LOG.trace("Deserialized quota from request: " + newQuota);<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 checkNamespaceTableAndRegionQuota(TableName tName, int regions) throws IOException {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    if (initialized) {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      namespaceQuotaManager.checkQuotaToCreateTable(tName, regions);<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    }<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  }<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>  public void checkAndUpdateNamespaceRegionQuota(TableName tName, int regions) throws IOException {<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    if (initialized) {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      namespaceQuotaManager.checkQuotaToUpdateRegion(tName, regions);<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    }<a name="line.337"></a>
-<span class="sourceLineNo">338</span>  }<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>  /**<a name="line.340"></a>
-<span class="sourceLineNo">341</span>   * @return cached region count, or -1 if quota manager is disabled or table status not found<a name="line.341"></a>
-<span class="sourceLineNo">342</span>  */<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  public int getRegionCountOfTable(TableName tName) throws IOException {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    if (initialized) {<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      return namespaceQuotaManager.getRegionCountOfTable(tName);<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    }<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return -1;<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  public void onRegionMerged(HRegionInfo mergedRegion) throws IOException {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    if (initialized) {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      namespaceQuotaManager.updateQuotaForRegionMerge(mergedRegion);<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>  @Override<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  public void onRegionSplit(HRegionInfo hri) throws IOException {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    if (initialized) {<a name="line.359"></a>
-<span class="sourceLineNo">360</span>      namespaceQuotaManager.checkQuotaToSplitRegion(hri);<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 table from namespace quota.<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   *<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * @param tName - The table name to update quota usage.<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * @throws IOException Signals that an I/O exception has occurred.<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   */<a name="line.369"></a>
-<span class="sourceLineNo">370</span>  public void removeTableFromNamespaceQuota(TableName tName) throws IOException {<a name="line.370"></a>
+<span class="sourceLineNo">328</span>    // Merge the current quota settings with the new quota settings the user provided.<a name="line.328"></a>
+<span class="sourceLineNo">329</span>    //<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    // NB: while SetQuotaRequest technically allows for multi types of quotas to be set in one<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    // message, the Java API (in Admin/AsyncAdmin) does not. Assume there is only one type.<a name="line.331"></a>
+<span class="sourceLineNo">332</span>    GlobalQuotaSettings mergedQuota = currentQuota.merge(newQuota);<a name="line.332"></a>
+<span class="sourceLineNo">333</span>    if (LOG.isTraceEnabled()) {<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      LOG.trace("Computed merged quota from current quota and user request: " + mergedQuota);<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>    // Submit new changes<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    if (mergedQuota == null) {<a name="line.338"></a>
+<span class="sourceLineNo">339</span>      quotaOps.delete();<a name="line.339"></a>
+<span class="sourceLineNo">340</span>    } else {<a name="line.340"></a>
+<span class="sourceLineNo">341</span>      quotaOps.update(mergedQuota);<a name="line.341"></a>
+<span class="sourceLineNo">342</span>    }<a name="line.342"></a>
+<span class="sourceLineNo">343</span>    // Advertise the final result via the "post" CP hook<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    quotaOps.postApply(mergedQuota);<a name="line.344"></a>
+<span class="sourceLineNo">345</span>  }<a name="line.345"></a>
+<span class="sourceLineNo">346</span><a name="line.346"></a>
+<span class="sourceLineNo">347</span>  public void checkNamespaceTableAndRegionQuota(TableName tName, int regions) throws IOException {<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    if (initialized) {<a name="line.348"></a>
+<span class="sourceLineNo">349</span>      namespaceQuotaManager.checkQuotaToCreateTable(tName, regions);<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>  public void checkAndUpdateNamespaceRegionQuota(TableName tName, int regions) throws IOException {<a name="line.353"></a>
+<span class="sourceLineNo">354</span>    if (initialized) {<a name="line.354"></a>
+<span class="sourceLineNo">355</span>      namespaceQuotaManager.checkQuotaToUpdateRegion(tName, regions);<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>   * @return cached region count, or -1 if quota manager is disabled or table status not found<a name="line.360"></a>
+<span class="sourceLineNo">361</span>  */<a name="line.361"></a>
+<span class="sourceLineNo">362</span>  public int getRegionCountOfTable(TableName tName) throws IOException {<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    if (initialized) {<a name="line.363"></a>
+<span class="sourceLineNo">364</span>      return namespaceQuotaManager.getRegionCountOfTable(tName);<a name="line.364"></a>
+<span class="sourceLineNo">365</span>    }<a name="line.365"></a>
+<span class="sourceLineNo">366</span>    return -1;<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>  @Override<a name="line.369"></a>
+<span class="sourceLineNo">370</span>  public void onRegionMerged(HRegionInfo mergedRegion) throws IOException {<a name="line.370"></a>
 <span class="sourceLineNo">371</span>    if (initialized) {<a name="line.371"></a>
-<span class="sourceLineNo">372</span>      namespaceQuotaManager.removeFromNamespaceUsage(tName);<a name="line.372"></a>
+<span class="sourceLineNo">372</span>      namespaceQuotaManager.updateQuotaForRegionMerge(mergedRegion);<a name="line.372"></a>
 <span class="sourceLineNo">373</span>    }<a name="line.373"></a>
 <span class="sourceLineNo">374</span>  }<a name="line.374"></a>
 <span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public NamespaceAuditor getNamespaceQuotaManager() {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    return this.namespaceQuotaManager;<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>  private static interface SetQuotaOperations {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    Quotas fetch() throws IOException;<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    void delete() throws IOException;<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    void update(final Quotas quotas) throws IOException;<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    void preApply(final Quotas quotas) throws IOException;<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    void postApply(final Quotas quotas) throws IOException;<a name="line.385"></a>
-<span class="sourceLineNo">386</span>  }<a name="line.386"></a>
-<span class="sourceLineNo">387</span><a name="line.387"></a>
-<span class="sourceLineNo">388</span>  /* ==========================================================================<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   *  Helpers to apply changes to the quotas<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   */<a name="line.390"></a>
-<span class="sourceLineNo">391</span>  private void applyThrottle(final Quotas.Builder quotas, final ThrottleRequest req)<a name="line.391"></a>
-<span class="sourceLineNo">392</span>      throws IOException {<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    Throttle.Builder throttle;<a name="line.393"></a>
+<span class="sourceLineNo">376</span>  @Override<a name="line.376"></a>
+<span class="sourceLineNo">377</span>  public void onRegionSplit(HRegionInfo hri) throws IOException {<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    if (initialized) {<a name="line.378"></a>
+<span class="sourceLineNo">379</span>      namespaceQuotaManager.checkQuotaToSplitRegion(hri);<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    }<a name="line.380"></a>
+<span class="sourceLineNo">381</span>  }<a name="line.381"></a>
+<span class="sourceLineNo">382</span><a name="line.382"></a>
+<span class="sourceLineNo">383</span>  /**<a name="line.383"></a>
+<span class="sourceLineNo">384</span>   * Remove table from namespace quota.<a name="line.384"></a>
+<span class="sourceLineNo">385</span>   *<a name="line.385"></a>
+<span class="sourceLineNo">386</span>   * @param tName - The table name to update quota usage.<a name="line.386"></a>
+<span class="sourceLineNo">387</span>   * @throws IOException Signals that an I/O exception has occurred.<a name="line.387"></a>
+<span class="sourceLineNo">388</span>   */<a name="line.388"></a>
+<span class="sourceLineNo">389</span>  public void removeTableFromNamespaceQuota(TableName tName) throws IOException {<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    if (initialized) {<a name="line.390"></a>
+<span class="sourceLineNo">391</span>      namespaceQuotaManager.removeFromNamespaceUsage(tName);<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>    if (req.hasType() &amp;&amp; (req.hasTimedQuota() || quotas.hasThrottle())) {<a name="line.395"></a>
-<span class="sourceLineNo">396</span>      // Validate timed quota if present<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      if (req.hasTimedQuota()) validateTimedQuota(req.getTimedQuota());<a name="line.397"></a>
+<span class="sourceLineNo">395</span>  public NamespaceAuditor getNamespaceQuotaManager() {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>    return this.namespaceQuotaManager;<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>      // apply the new settings<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      throttle = quotas.hasThrottle() ? quotas.getThrottle().toBuilder() : Throttle.newBuilder();<a name="line.400"></a>
-<span class="sourceLineNo">401</span><a name="line.401"></a>
-<span class="sourceLineNo">402</span>      switch (req.getType()) {<a name="line.402"></a>
-<span class="sourceLineNo">403</span>        case REQUEST_NUMBER:<a name="line.403"></a>
-<span class="sourceLineNo">404</span>          if (req.hasTimedQuota()) {<a name="line.404"></a>
-<span class="sourceLineNo">405</span>            throttle.setReqNum(req.getTimedQuota());<a name="line.405"></a>
-<span class="sourceLineNo">406</span>          } else {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>            throttle.clearReqNum();<a name="line.407"></a>
-<span class="sourceLineNo">408</span>          }<a name="line.408"></a>
-<span class="sourceLineNo">409</span>          break;<a name="line.409"></a>
-<span class="sourceLineNo">410</span>        case REQUEST_SIZE:<a name="line.410"></a>
-<span class="sourceLineNo">411</span>          if (req.hasTimedQuota()) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>            throttle.setReqSize(req.getTimedQuota());<a name="line.412"></a>
-<span class="sourceLineNo">413</span>          } else {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>            throttle.clearReqSize();<a name="line.414"></a>
-<span class="sourceLineNo">415</span>          }<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          break;<a name="line.416"></a>
-<span class="sourceLineNo">417</span>        case WRITE_NUMBER:<a name="line.417"></a>
-<span class="sourceLineNo">418</span>          if (req.hasTimedQuota()) {<a name="line.418"></a>
-<span class="sourceLineNo">419</span>            throttle.setWriteNum(req.getTimedQuota());<a name="line.419"></a>
-<span class="sourceLineNo">420</span>          } else {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>            throttle.clearWriteNum();<a name="line.421"></a>
-<span class="sourceLineNo">422</span>          }<a name="line.422"></a>
-<span class="sourceLineNo">423</span>          break;<a name="line.423"></a>
-<span class="sourceLineNo">424</span>        case WRITE_SIZE:<a name="line.424"></a>
-<span class="sourceLineNo">425</span>          if (req.hasTimedQuota()) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>            throttle.setWriteSize(req.getTimedQuota());<a name="line.426"></a>
-<span class="sourceLineNo">427</span>          } else {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>            throttle.clearWriteSize();<a name="line.428"></a>
-<span class="sourceLineNo">429</span>          }<a name="line.429"></a>
-<span class="sourceLineNo">430</span>          break;<a name="line.430"></a>
-<span class="sourceLineNo">431</span>        case READ_NUMBER:<a name="line.431"></a>
-<span class="sourceLineNo">432</span>          if (req.hasTimedQuota()) {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>            throttle.setReadNum(req.getTimedQuota());<a name="line.433"></a>
-<span class="sourceLineNo">434</span>          } else {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>            throttle.clearReqNum();<a name="line.435"></a>
-<span class="sourceLineNo">436</span>          }<a name="line.436"></a>
-<span class="sourceLineNo">437</span>          break;<a name="line.437"></a>
-<span class="sourceLineNo">438</span>        case READ_SIZE:<a name="line.438"></a>
-<span class="sourceLineNo">439</span>          if (req.hasTimedQuota()) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span>            throttle.setReadSize(req.getTimedQuota());<a name="line.440"></a>
-<span class="sourceLineNo">441</span>          } else {<a name="line.441"></a>
-<span class="sourceLineNo">442</span>            throttle.clearReadSize();<a name="line.442"></a>
-<span class="sourceLineNo">443</span>          }<a name="line.443"></a>
-<span class="sourceLineNo">444</span>          break;<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      }<a name="line.445"></a>
-<span class="sourceLineNo">446</span>      quotas.setThrottle(throttle.build());<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    } else {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>      quotas.clearThrottle();<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>  private void applyBypassGlobals(final Quotas.Builder quotas, boolean bypassGlobals) {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    if (bypassGlobals) {<a name="line.453"></a>
-<span class="sourceLineNo">454</span>      quotas.setBypassGlobals(bypassGlobals);<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    } else {<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      quotas.clearBypassGlobals();<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    }<a name="line.457"></a>
-<span class="sourceLineNo">458</span>  }<a name="line.458"></a>
-<span class="sourceLineNo">459</span><a name="line.459"></a>
-<span class="sourceLineNo">460</span>  /**<a name="line.460"></a>
-<span class="sourceLineNo">461</span>   * Adds the information from the provided {@link SpaceLimitRequest} to the {@link Quotas} builder.<a name="line.461"></a>
-<span class="sourceLineNo">462</span>   *<a name="line.462"></a>
-<span class="sourceLineNo">463</span>   * @param quotas The builder to update.<a name="line.463"></a>
-<span class="sourceLineNo">464</span>   * @param req The request to extract space quota information from.<a name="line.464"></a>
-<span class="sourceLineNo">465</span>   */<a name="line.465"></a>
-<span class="sourceLineNo">466</span>  void applySpaceLimit(final Quotas.Builder quotas, final SpaceLimitRequest req) {<a name="line.466"></a>
-<span class="sourceLineNo">467</span>    if (req.hasQuota()) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>      SpaceQuota spaceQuota = req.getQuota();<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      // If we have the remove flag, unset the space quota.<a name="line.469"></a>
-<span class="sourceLineNo">470</span>      if (spaceQuota.getRemove()) {<a name="line.470"></a>
-<span class="sourceLineNo">471</span>        quotas.setSpace(SpaceQuota.getDefaultInstance());<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      } else {<a name="line.472"></a>
-<span class="sourceLineNo">473</span>        // Otherwise, update the new quota<a name="line.473"></a>
-<span class="sourceLineNo">474</span>        applySpaceQuota(quotas, req.getQuota());<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><a name="line.478"></a>
-<span class="sourceLineNo">479</span>  /**<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   * Merges the provided {@link SpaceQuota} into the given {@link Quotas} builder.<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   *<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   * @param quotas The Quotas builder instance to update<a name="line.482"></a>
-<span class="sourceLineNo">483</span>   * @param quota The SpaceQuota instance to update from<a name="line.483"></a>
-<span class="sourceLineNo">484</span>   */<a name="line.484"></a>
-<span class="sourceLineNo">485</span>  void applySpaceQuota(final Quotas.Builder quotas, final SpaceQuota quota) {<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    // Create a builder for Quotas<a name="line.486"></a>
-<span class="sourceLineNo">487</span>    SpaceQuota.Builder builder = quotas.hasSpace() ? quotas.getSpace().toBuilder() :<a name="line.487"></a>
-<span class="sourceLineNo">488</span>        SpaceQuota.newBuilder();<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    // Update the values from the provided quota into the new one and set it on Quotas.<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    quotas.setSpace(builder.mergeFrom(quota).build());<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>  private void validateTimedQuota(final TimedQuota timedQuota) throws IOException {<a name="line.493"></a>
-<span class="sourceLineNo">494</span>    if (timedQuota.getSoftLimit() &lt; 1) {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      throw new DoNotRetryIOException(new UnsupportedOperationException(<a name="line.495"></a>
-<span class="sourceLineNo">496</span>          "The throttle limit must be greater then 0, got " + timedQuota.getSoftLimit()));<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>   *  Helpers<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>  private void checkQuotaSupport() throws IOException {<a name="line.504"></a>
-<span class="sourceLineNo">505</span>    if (!QuotaUtil.isQuotaEnabled(masterServices.getConfiguration())) {<a name="line.505"></a>
-<span class="sourceLineNo">506</span>      throw new DoNotRetryIOException(<a name="line.506"></a>
-<span class="sourceLineNo">507</span>        new UnsupportedOperationException("quota support disabled"));<a name="line.507"></a>
-<span class="sourceLineNo">508</span>    }<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    if (!initialized) {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      long maxWaitTime = masterServices.getConfiguration().getLong(<a name="line.510"></a>
-<span class="sourceLineNo">511</span>        "hbase.master.wait.for.quota.manager.init", 30000); // default is 30 seconds.<a name="line.511"></a>
-<span class="sourceLineNo">512</span>      long startTime = EnvironmentEdgeManager.currentTime();<a name="line.512"></a>
-<span class="sourceLineNo">513</span>      do {<a name="line.513"></a>
-<span class="sourceLineNo">514</span>        try {<a name="line.514"></a>
-<span class="sourceLineNo">515</span>          Thread.sleep(100);<a name="line.515"></a>
-<span class="sourceLineNo">516</span>        } catch (InterruptedException e) {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>          LOG.warn("Interrupted while waiting for Quota Manager to be initialized.");<a name="line.517"></a>
-<span class="sourceLineNo">518</span>          break;<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        }<a name="line.519"></a>
-<span class="sourceLineNo">520</span>      } while (!initialized &amp;&amp; (EnvironmentEdgeManager.currentTime() - startTime) &lt; maxWaitTime);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>      if (!initialized) {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>        throw new IOException("Quota manager is uninitialized, please retry later.");<a name="line.522"></a>
-<span class="sourceLineNo">523</span>      }<a name="line.523"></a>
+<span class="sourceLineNo">399</span>  /**<a name="line.399"></a>
+<span class="sourceLineNo">400</span>   * Encapsulates CRUD quota operations for some subject.<a name="line.400"></a>
+<span class="sourceLineNo">401</span>   */<a name="line.401"></a>
+<span class="sourceLineNo">402</span>  private static interface SetQuotaOperations {<a name="line.402"></a>
+<span class="sourceLineNo">403</span>    /**<a name="line.403"></a>
+<span class="sourceLineNo">404</span>     * Fetches the current quota settings for the subject.<a name="line.404"></a>
+<span class="sourceLineNo">405</span>     */<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    GlobalQuotaSettings fetch() throws IOException;<a name="line.406"></a>
+<span class="sourceLineNo">407</span>    /**<a name="line.407"></a>
+<span class="sourceLineNo">408</span>     * Deletes the quota for the subject.<a name="line.408"></a>
+<span class="sourceLineNo">409</span>     */<a name="line.409"></a>
+<span class="sourceLineNo">410</span>    void delete() throws IOException;<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    /**<a name="line.411"></a>
+<span class="sourceLineNo">412</span>     * Persist the given quota for the subject.<a name="line.412"></a>
+<span class="sourceLineNo">413</span>     */<a name="line.413"></a>
+<span class="sourceLineNo">414</span>    void update(GlobalQuotaSettings quotaPojo) throws IOException;<a name="line.414"></a>
+<span class="sourceLineNo">415</span>    /**<a name="line.415"></a>
+<span class="sourceLineNo">416</span>     * Performs some action before {@link #update(GlobalQuotaSettings)} with the current quota<a name="line.416"></a>
+<span class="sourceLineNo">417</span>     * for the subject.<a name="line.417"></a>
+<span class="sourceLineNo">418</span>     */<a name="line.418"></a>
+<span class="sourceLineNo">419</span>    void preApply(GlobalQuotaSettings quotaPojo) throws IOException;<a name="line.419"></a>
+<span class="sourceLineNo">420</span>    /**<a name="line.420"></a>
+<span class="sourceLineNo">421</span>     * Performs some action after {@link #update(GlobalQuotaSettings)} with the resulting quota<a name="line.421"></a>
+<span class="sourceLineNo">422</span>     * from the request action for the subject.<a name="line.422"></a>
+<span class="sourceLineNo">423</span>     */<a name="line.423"></a>
+<span class="sourceLineNo">424</span>    void postApply(GlobalQuotaSettings quotaPojo) throws IOException;<a name="line.424"></a>
+<span class="sourceLineNo">425</span>  }<a name="line.425"></a>
+<span class="sourceLineNo">426</span><a name="line.426"></a>
+<span class="sourceLineNo">427</span>  /* ==========================================================================<a name="line.427"></a>
+<span class="sourceLineNo">428</span>   *  Helpers<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>  private void checkQuotaSupport() throws IOException {<a name="line.431"></a>
+<span class="sourceLineNo">432</span>    if (!QuotaUtil.isQuotaEnabled(masterServices.getConfiguration())) {<a name="line.432"></a>
+<span class="sourceLineNo">433</span>      throw new DoNotRetryIOException(<a name="line.433"></a>
+<span class="sourceLineNo">434</span>        new UnsupportedOperationException("quota support disabled"));<a name="line.434"></a>
+<span class="sourceLineNo">435</span>    }<a name="line.435"></a>
+<span class="sourceLineNo">436</span>    if (!initialized) {<a name="line.436"></a>
+<span class="sourceLineNo">437</span>      long maxWaitTime = masterServices.getConfiguration().getLong(<a name="line.437"></a>
+<span class="sourceLineNo">438</span>        "hbase.master.wait.for.quota.manager.init", 30000); // default is 30 seconds.<a name="line.438"></a>
+<span class="sourceLineNo">439</span>      long startTime = EnvironmentEdgeManager.currentTime();<a name="line.439"></a>
+<span class="sourceLineNo">440</span>      do {<a name="line.440"></a>
+<span class="sourceLineNo">441</span>        try {<a name="line.441"></a>
+<span class="sourceLineNo">442</span>          Thread.sleep(100);<a name="line.442"></a>
+<span class="sourceLineNo">443</span>        } catch (InterruptedException e) {<a name="line.443"></a>
+<span class="sourceLineNo">444</span>          LOG.warn("Interrupted while waiting for Quota Manager to be initialized.");<a name="line.444"></a>
+<span class="sourceLineNo">445</span>          break;<a name="line.445"></a>
+<span class="sourceLineNo">446</span>        }<a name="line.446"></a>
+<span class="sourceLineNo">447</span>      } while (!initialized &amp;&amp; (EnvironmentEdgeManager.currentTime() - startTime) &lt; maxWaitTime);<a name="line.447"></a>
+<span class="sourceLineNo">448</span>      if (!initialized) {<a name="line.448"></a>
+<span class="sourceLineNo">449</span>        throw new IOException("Quota manager is uninitialized, please retry later.");<a name="line.449"></a>
+<span class="sourceLineNo">450</span>      }<a name="line.450"></a>
+<span class="sourceLineNo">451</span>    }<a name="line.451"></a>
+<span class="sourceLineNo">452</span>  }<a name="line.452"></a>
+<span class="sourceLineNo">453</span><a name="line.453"></a>
+<span class="sourceLineNo">454</span>  private void createQuotaTable() throws IOException {<a name="line.454"></a>
+<span class="sourceLineNo">455</span>    masterServices.createSystemTable(QuotaUtil.QUOTA_TABLE_DESC);<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>  private static class NamedLock&lt;T&gt; {<a name="line.458"></a>
+<span class="sourceLineNo">459</span>    private HashSet&lt;T&gt; locks = new HashSet&lt;&gt;();<a name="line.459"></a>
+<span class="sourceLineNo">460</span><a name="line.460"></a>
+<span class="sourceLineNo">461</span>    public void lock(final T name) throws InterruptedException {<a name="line.461"></a>
+<span class="sourceLineNo">462</span>      synchronized (locks) {<a name="line.462"></a>
+<span class="sourceLineNo">463</span>        while (locks.contains(name)) {<a name="line.463"></a>
+<span class="sourceLineNo">464</span>          locks.wait();<a name="line.464"></a>
+<span class="sourceLineNo">465</span>        }<a name="line.465"></a>
+<span class="sourceLineNo">466</span>        locks.add(name);<a name="line.466"></a>
+<span class="sourceLineNo">467</span>      }<a name="line.467"></a>
+<span class="sourceLineNo">468</span>    }<a name="line.468"></a>
+<span class="sourceLineNo">469</span><a name="line.469"></a>
+<span class="sourceLineNo">470</span>    public void unlock(final T name) {<a name="line.470"></a>
+<span class="sourceLineNo">471</span>      synchronized (locks) {<a name="line.471"></a>
+<span class="sourceLineNo">472</span>        locks.remove(name);<a name="line.472"></a>
+<span class="sourceLineNo">473</span>        locks.notifyAll();<a name="line.473"></a>
+<span class="sourceLineNo">474</span>      }<a name="line.474"></a>
+<span class="sourceLineNo">475</span>    }<a name="line.475"></a>
+<span class="sourceLineNo">476</span>  }<a name="line.476"></a>
+<span class="sourceLineNo">477</span><a name="line.477"></a>
+<span class="sourceLineNo">478</span>  @Override<a name="line.478"></a>
+<span class="sourceLineNo">479</span>  public void onRegionSplitReverted(HRegionInfo hri) throws IOException {<a name="line.479"></a>
+<span class="sourceLineNo">480</span>    if (initialized) {<a name="line.480"></a>
+<span class="sourceLineNo">481</span>      this.namespaceQuotaManager.removeRegionFromNamespaceUsage(hri);<a name="line.481"></a>
+<span class="sourceLineNo">482</span>    }<a name="line.482"></a>
+<span class="sourceLineNo">483</span>  }<a name="line.483"></a>
+<span class="sourceLineNo">484</span><a name="line.484"></a>
+<span class="sourceLineNo">485</span>  /**<a name="line.485"></a>
+<span class="sourceLineNo">486</span>   * Holds the size of a region at the given time, millis since the epoch.<a name="line.486"></a>
+<span class="sourceLineNo">487</span>   */<a name="line.487"></a>
+<span class="sourceLineNo">488</span>  private static class SizeSnapshotWithTimestamp {<a name="line.488"></a>
+<span class="sourceLineNo">489</span>    private final long size;<a name="line.489"></a>
+<span class="sourceLineNo">490</span>    private final long time;<a name="line.490"></a>
+<span class="sourceLineNo">491</span><a name="line.491"></a>
+<span class="sourceLineNo">492</span>    public SizeSnapshotWithTimestamp(long size, long time) {<a name="line.492"></a>
+<span class="sourceLineNo">493</span>      this.size = size;<a name="line.493"></a>
+<span class="sourceLineNo">494</span>      this.time = time;<a name="line.494"></a>
+<span class="sourceLineNo">495</span>    }<a name="line.495"></a>
+<span class="sourceLineNo">496</span><a name="line.496"></a>
+<span class="sourceLineNo">497</span>    public long getSize() {<a n

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/apidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html b/apidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html
index bddf8ca..d171636 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html
@@ -25,111 +25,194 @@
 <span class="sourceLineNo">017</span> */<a name="line.17"></a>
 <span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.quotas;<a name="line.18"></a>
 <span class="sourceLineNo">019</span><a name="line.19"></a>
-<span class="sourceLineNo">020</span>import java.util.concurrent.TimeUnit;<a name="line.20"></a>
-<span class="sourceLineNo">021</span><a name="line.21"></a>
-<span class="sourceLineNo">022</span>import org.apache.hadoop.hbase.TableName;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.25"></a>
+<span class="sourceLineNo">020</span>import java.io.IOException;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import java.util.Objects;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.util.concurrent.TimeUnit;<a name="line.22"></a>
+<span class="sourceLineNo">023</span><a name="line.23"></a>
+<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.TableName;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.25"></a>
 <span class="sourceLineNo">026</span><a name="line.26"></a>
-<span class="sourceLineNo">027</span>@InterfaceAudience.Public<a name="line.27"></a>
-<span class="sourceLineNo">028</span>public abstract class QuotaSettings {<a name="line.28"></a>
-<span class="sourceLineNo">029</span>  private final String userName;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>  private final String namespace;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>  private final TableName tableName;<a name="line.31"></a>
-<span class="sourceLineNo">032</span><a name="line.32"></a>
-<span class="sourceLineNo">033</span>  protected QuotaSettings(final String userName, final TableName tableName,<a name="line.33"></a>
-<span class="sourceLineNo">034</span>      final String namespace) {<a name="line.34"></a>
-<span class="sourceLineNo">035</span>    this.userName = userName;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>    this.namespace = namespace;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>    this.tableName = tableName;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>  }<a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span>  public abstract QuotaType getQuotaType();<a name="line.40"></a>
-<span class="sourceLineNo">041</span><a name="line.41"></a>
-<span class="sourceLineNo">042</span>  public String getUserName() {<a name="line.42"></a>
-<span class="sourceLineNo">043</span>    return userName;<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>  public TableName getTableName() {<a name="line.46"></a>
-<span class="sourceLineNo">047</span>    return tableName;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>  }<a name="line.48"></a>
-<span class="sourceLineNo">049</span><a name="line.49"></a>
-<span class="sourceLineNo">050</span>  public String getNamespace() {<a name="line.50"></a>
-<span class="sourceLineNo">051</span>    return namespace;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>  }<a name="line.52"></a>
-<span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span>  /**<a name="line.54"></a>
-<span class="sourceLineNo">055</span>   * Convert a QuotaSettings to a protocol buffer SetQuotaRequest.<a name="line.55"></a>
-<span class="sourceLineNo">056</span>   * This is used internally by the Admin client to serialize the quota settings<a name="line.56"></a>
-<span class="sourceLineNo">057</span>   * and send them to the master.<a name="line.57"></a>
-<span class="sourceLineNo">058</span>   */<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  @InterfaceAudience.Private<a name="line.59"></a>
-<span class="sourceLineNo">060</span>  public static SetQuotaRequest buildSetQuotaRequestProto(final QuotaSettings settings) {<a name="line.60"></a>
-<span class="sourceLineNo">061</span>    SetQuotaRequest.Builder builder = SetQuotaRequest.newBuilder();<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    if (settings.getUserName() != null) {<a name="line.62"></a>
-<span class="sourceLineNo">063</span>      builder.setUserName(settings.getUserName());<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    }<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    if (settings.getTableName() != null) {<a name="line.65"></a>
-<span class="sourceLineNo">066</span>      builder.setTableName(ProtobufUtil.toProtoTableName(settings.getTableName()));<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    }<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    if (settings.getNamespace() != null) {<a name="line.68"></a>
-<span class="sourceLineNo">069</span>      builder.setNamespace(settings.getNamespace());<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    }<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    settings.setupSetQuotaRequest(builder);<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    return builder.build();<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  }<a name="line.73"></a>
-<span class="sourceLineNo">074</span><a name="line.74"></a>
-<span class="sourceLineNo">075</span>  /**<a name="line.75"></a>
-<span class="sourceLineNo">076</span>   * Called by toSetQuotaRequestProto()<a name="line.76"></a>
-<span class="sourceLineNo">077</span>   * the subclass should implement this method to set the specific SetQuotaRequest<a name="line.77"></a>
-<span class="sourceLineNo">078</span>   * properties.<a name="line.78"></a>
-<span class="sourceLineNo">079</span>   */<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  @InterfaceAudience.Private<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  protected abstract void setupSetQuotaRequest(SetQuotaRequest.Builder builder);<a name="line.81"></a>
-<span class="sourceLineNo">082</span><a name="line.82"></a>
-<span class="sourceLineNo">083</span>  protected String ownerToString() {<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    StringBuilder builder = new StringBuilder();<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    if (userName != null) {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      builder.append("USER =&gt; '");<a name="line.86"></a>
-<span class="sourceLineNo">087</span>      builder.append(userName);<a name="line.87"></a>
-<span class="sourceLineNo">088</span>      builder.append("', ");<a name="line.88"></a>
-<span class="sourceLineNo">089</span>    }<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    if (tableName != null) {<a name="line.90"></a>
-<span class="sourceLineNo">091</span>      builder.append("TABLE =&gt; '");<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      builder.append(tableName.toString());<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      builder.append("', ");<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    }<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    if (namespace != null) {<a name="line.95"></a>
-<span class="sourceLineNo">096</span>      builder.append("NAMESPACE =&gt; '");<a name="line.96"></a>
-<span class="sourceLineNo">097</span>      builder.append(namespace);<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      builder.append("', ");<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    }<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    return builder.toString();<a name="line.100"></a>
-<span class="sourceLineNo">101</span>  }<a name="line.101"></a>
-<span class="sourceLineNo">102</span><a name="line.102"></a>
-<span class="sourceLineNo">103</span>  protected static String sizeToString(final long size) {<a name="line.103"></a>
-<span class="sourceLineNo">104</span>    if (size &gt;= (1L &lt;&lt; 50)) return String.format("%dP", size / (1L &lt;&lt; 50));<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    if (size &gt;= (1L &lt;&lt; 40)) return String.format("%dT", size / (1L &lt;&lt; 40));<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    if (size &gt;= (1L &lt;&lt; 30)) return String.format("%dG", size / (1L &lt;&lt; 30));<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    if (size &gt;= (1L &lt;&lt; 20)) return String.format("%dM", size / (1L &lt;&lt; 20));<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    if (size &gt;= (1L &lt;&lt; 10)) return String.format("%dK", size / (1L &lt;&lt; 10));<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    return String.format("%dB", size);<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>  protected static String timeToString(final TimeUnit timeUnit) {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    switch (timeUnit) {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      case NANOSECONDS:  return "nsec";<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      case MICROSECONDS: return "usec";<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      case MILLISECONDS: return "msec";<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      case SECONDS:      return "sec";<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      case MINUTES:      return "min";<a name="line.118"></a>
-<span class="sourceLineNo">119</span>      case HOURS:        return "hour";<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      case DAYS:         return "day";<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    throw new RuntimeException("Invalid TimeUnit " + timeUnit);<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">027</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.quotas.QuotaSettingsFactory.QuotaGlobalsSettingsBypass;<a name="line.30"></a>
+<span class="sourceLineNo">031</span><a name="line.31"></a>
+<span class="sourceLineNo">032</span>@InterfaceAudience.Public<a name="line.32"></a>
+<span class="sourceLineNo">033</span>public abstract class QuotaSettings {<a name="line.33"></a>
+<span class="sourceLineNo">034</span>  private final String userName;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>  private final String namespace;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>  private final TableName tableName;<a name="line.36"></a>
+<span class="sourceLineNo">037</span><a name="line.37"></a>
+<span class="sourceLineNo">038</span>  protected QuotaSettings(final String userName, final TableName tableName,<a name="line.38"></a>
+<span class="sourceLineNo">039</span>      final String namespace) {<a name="line.39"></a>
+<span class="sourceLineNo">040</span>    this.userName = userName;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>    this.namespace = namespace;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>    this.tableName = tableName;<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>  public abstract QuotaType getQuotaType();<a name="line.45"></a>
+<span class="sourceLineNo">046</span><a name="line.46"></a>
+<span class="sourceLineNo">047</span>  public String getUserName() {<a name="line.47"></a>
+<span class="sourceLineNo">048</span>    return userName;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>  }<a name="line.49"></a>
+<span class="sourceLineNo">050</span><a name="line.50"></a>
+<span class="sourceLineNo">051</span>  public TableName getTableName() {<a name="line.51"></a>
+<span class="sourceLineNo">052</span>    return tableName;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>  }<a name="line.53"></a>
+<span class="sourceLineNo">054</span><a name="line.54"></a>
+<span class="sourceLineNo">055</span>  public String getNamespace() {<a name="line.55"></a>
+<span class="sourceLineNo">056</span>    return namespace;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  }<a name="line.57"></a>
+<span class="sourceLineNo">058</span><a name="line.58"></a>
+<span class="sourceLineNo">059</span>  /**<a name="line.59"></a>
+<span class="sourceLineNo">060</span>   * Converts the protocol buffer request into a QuotaSetting POJO. Arbitrarily<a name="line.60"></a>
+<span class="sourceLineNo">061</span>   * enforces that the request only contain one "limit", despite the message<a name="line.61"></a>
+<span class="sourceLineNo">062</span>   * allowing multiple. The public API does not allow such use of the message.<a name="line.62"></a>
+<span class="sourceLineNo">063</span>   *<a name="line.63"></a>
+<span class="sourceLineNo">064</span>   * @param request The protocol buffer request.<a name="line.64"></a>
+<span class="sourceLineNo">065</span>   * @return A {@link QuotaSettings} POJO.<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 static QuotaSettings buildFromProto(SetQuotaRequest request) {<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    String username = null;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    if (request.hasUserName()) {<a name="line.70"></a>
+<span class="sourceLineNo">071</span>      username = request.getUserName();<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    }<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    TableName tableName = null;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    if (request.hasTableName()) {<a name="line.74"></a>
+<span class="sourceLineNo">075</span>      tableName = ProtobufUtil.toTableName(request.getTableName());<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    }<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    String namespace = null;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    if (request.hasNamespace()) {<a name="line.78"></a>
+<span class="sourceLineNo">079</span>      namespace = request.getNamespace();<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    }<a name="line.80"></a>
+<span class="sourceLineNo">081</span>    if (request.hasBypassGlobals()) {<a name="line.81"></a>
+<span class="sourceLineNo">082</span>      // Make sure we don't have either of the two below limits also included<a name="line.82"></a>
+<span class="sourceLineNo">083</span>      if (request.hasSpaceLimit() || request.hasThrottle()) {<a name="line.83"></a>
+<span class="sourceLineNo">084</span>        throw new IllegalStateException(<a name="line.84"></a>
+<span class="sourceLineNo">085</span>            "SetQuotaRequest has multiple limits: " + TextFormat.shortDebugString(request));<a name="line.85"></a>
+<span class="sourceLineNo">086</span>      }<a name="line.86"></a>
+<span class="sourceLineNo">087</span>      return new QuotaGlobalsSettingsBypass(<a name="line.87"></a>
+<span class="sourceLineNo">088</span>          username, tableName, namespace, request.getBypassGlobals());<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    } else if (request.hasSpaceLimit()) {<a name="line.89"></a>
+<span class="sourceLineNo">090</span>      // Make sure we don't have the below limit as well<a name="line.90"></a>
+<span class="sourceLineNo">091</span>      if (request.hasThrottle()) {<a name="line.91"></a>
+<span class="sourceLineNo">092</span>        throw new IllegalStateException(<a name="line.92"></a>
+<span class="sourceLineNo">093</span>            "SetQuotaRequests has multiple limits: " + TextFormat.shortDebugString(request));<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      }<a name="line.94"></a>
+<span class="sourceLineNo">095</span>      // Sanity check on the pb received.<a name="line.95"></a>
+<span class="sourceLineNo">096</span>      if (!request.getSpaceLimit().hasQuota()) {<a name="line.96"></a>
+<span class="sourceLineNo">097</span>        throw new IllegalArgumentException(<a name="line.97"></a>
+<span class="sourceLineNo">098</span>            "SpaceLimitRequest is missing the expected SpaceQuota.");<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      }<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      return QuotaSettingsFactory.fromSpace(<a name="line.100"></a>
+<span class="sourceLineNo">101</span>          tableName, namespace, request.getSpaceLimit().getQuota());<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    } else if (request.hasThrottle()) {<a name="line.102"></a>
+<span class="sourceLineNo">103</span>      return new ThrottleSettings(username, tableName, namespace, request.getThrottle());<a name="line.103"></a>
+<span class="sourceLineNo">104</span>    } else {<a name="line.104"></a>
+<span class="sourceLineNo">105</span>      throw new IllegalStateException("Unhandled SetRequestRequest state");<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    }<a name="line.106"></a>
+<span class="sourceLineNo">107</span>  }<a name="line.107"></a>
+<span class="sourceLineNo">108</span><a name="line.108"></a>
+<span class="sourceLineNo">109</span>  /**<a name="line.109"></a>
+<span class="sourceLineNo">110</span>   * Convert a QuotaSettings to a protocol buffer SetQuotaRequest.<a name="line.110"></a>
+<span class="sourceLineNo">111</span>   * This is used internally by the Admin client to serialize the quota settings<a name="line.111"></a>
+<span class="sourceLineNo">112</span>   * and send them to the master.<a name="line.112"></a>
+<span class="sourceLineNo">113</span>   */<a name="line.113"></a>
+<span class="sourceLineNo">114</span>  @InterfaceAudience.Private<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  public static SetQuotaRequest buildSetQuotaRequestProto(final QuotaSettings settings) {<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    SetQuotaRequest.Builder builder = SetQuotaRequest.newBuilder();<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    if (settings.getUserName() != null) {<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      builder.setUserName(settings.getUserName());<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    }<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    if (settings.getTableName() != null) {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>      builder.setTableName(ProtobufUtil.toProtoTableName(settings.getTableName()));<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    }<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    if (settings.getNamespace() != null) {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>      builder.setNamespace(settings.getNamespace());<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    }<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    settings.setupSetQuotaRequest(builder);<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    return builder.build();<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>   * Called by toSetQuotaRequestProto()<a name="line.131"></a>
+<span class="sourceLineNo">132</span>   * the subclass should implement this method to set the specific SetQuotaRequest<a name="line.132"></a>
+<span class="sourceLineNo">133</span>   * properties.<a name="line.133"></a>
+<span class="sourceLineNo">134</span>   */<a name="line.134"></a>
+<span class="sourceLineNo">135</span>  @InterfaceAudience.Private<a name="line.135"></a>
+<span class="sourceLineNo">136</span>  protected abstract void setupSetQuotaRequest(SetQuotaRequest.Builder builder);<a name="line.136"></a>
+<span class="sourceLineNo">137</span><a name="line.137"></a>
+<span class="sourceLineNo">138</span>  protected String ownerToString() {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    StringBuilder builder = new StringBuilder();<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    if (userName != null) {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>      builder.append("USER =&gt; '");<a name="line.141"></a>
+<span class="sourceLineNo">142</span>      builder.append(userName);<a name="line.142"></a>
+<span class="sourceLineNo">143</span>      builder.append("', ");<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    }<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    if (tableName != null) {<a name="line.145"></a>
+<span class="sourceLineNo">146</span>      builder.append("TABLE =&gt; '");<a name="line.146"></a>
+<span class="sourceLineNo">147</span>      builder.append(tableName.toString());<a name="line.147"></a>
+<span class="sourceLineNo">148</span>      builder.append("', ");<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    }<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    if (namespace != null) {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      builder.append("NAMESPACE =&gt; '");<a name="line.151"></a>
+<span class="sourceLineNo">152</span>      builder.append(namespace);<a name="line.152"></a>
+<span class="sourceLineNo">153</span>      builder.append("', ");<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    }<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    return builder.toString();<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>  protected static String sizeToString(final long size) {<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    if (size &gt;= (1L &lt;&lt; 50)) return String.format("%dP", size / (1L &lt;&lt; 50));<a name="line.159"></a>
+<span class="sourceLineNo">160</span>    if (size &gt;= (1L &lt;&lt; 40)) return String.format("%dT", size / (1L &lt;&lt; 40));<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    if (size &gt;= (1L &lt;&lt; 30)) return String.format("%dG", size / (1L &lt;&lt; 30));<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    if (size &gt;= (1L &lt;&lt; 20)) return String.format("%dM", size / (1L &lt;&lt; 20));<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    if (size &gt;= (1L &lt;&lt; 10)) return String.format("%dK", size / (1L &lt;&lt; 10));<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    return String.format("%dB", size);<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>  protected static String timeToString(final TimeUnit timeUnit) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    switch (timeUnit) {<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      case NANOSECONDS:  return "nsec";<a name="line.169"></a>
+<span class="sourceLineNo">170</span>      case MICROSECONDS: return "usec";<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      case MILLISECONDS: return "msec";<a name="line.171"></a>
+<span class="sourceLineNo">172</span>      case SECONDS:      return "sec";<a name="line.172"></a>
+<span class="sourceLineNo">173</span>      case MINUTES:      return "min";<a name="line.173"></a>
+<span class="sourceLineNo">174</span>      case HOURS:        return "hour";<a name="line.174"></a>
+<span class="sourceLineNo">175</span>      case DAYS:         return "day";<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    }<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    throw new RuntimeException("Invalid TimeUnit " + timeUnit);<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>  /**<a name="line.180"></a>
+<span class="sourceLineNo">181</span>   * Merges the provided settings with {@code this} and returns a new settings<a name="line.181"></a>
+<span class="sourceLineNo">182</span>   * object to the caller if the merged settings differ from the original.<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   *<a name="line.183"></a>
+<span class="sourceLineNo">184</span>   * @param newSettings The new settings to merge in.<a name="line.184"></a>
+<span class="sourceLineNo">185</span>   * @return The merged {@link QuotaSettings} object or null if the quota should be deleted.<a name="line.185"></a>
+<span class="sourceLineNo">186</span>   */<a name="line.186"></a>
+<span class="sourceLineNo">187</span>  abstract QuotaSettings merge(QuotaSettings newSettings) throws IOException;<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>   * Validates that settings being merged into {@code this} is targeting the same "subject", e.g.<a name="line.190"></a>
+<span class="sourceLineNo">191</span>   * user, table, namespace.<a name="line.191"></a>
+<span class="sourceLineNo">192</span>   *<a name="line.192"></a>
+<span class="sourceLineNo">193</span>   * @param mergee The quota settings to be merged into {@code this}.<a name="line.193"></a>
+<span class="sourceLineNo">194</span>   * @throws IllegalArgumentException if the subjects are not equal.<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   */<a name="line.195"></a>
+<span class="sourceLineNo">196</span>  void validateQuotaTarget(QuotaSettings mergee) {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    if (!Objects.equals(getUserName(), mergee.getUserName())) {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>      throw new IllegalArgumentException("Mismatched user names on settings to merge");<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    }<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    if (!Objects.equals(getTableName(), mergee.getTableName())) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      throw new IllegalArgumentException("Mismatched table names on settings to merge");<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    }<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    if (!Objects.equals(getNamespace(), mergee.getNamespace())) {<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      throw new IllegalArgumentException("Mismatched namespace on settings to merge");<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>
 
 
 


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html
new file mode 100644
index 0000000..4532766
--- /dev/null
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html
@@ -0,0 +1,174 @@
+<!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 or more<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * contributor license agreements.  See the NOTICE file distributed with<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * this work for additional information regarding copyright ownership.<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * The ASF licenses this file to you under the Apache License, Version 2.0<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * (the "License"); you may not use this file except in compliance with<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * the License.  You may obtain a copy of the License at<a name="line.7"></a>
+<span class="sourceLineNo">008</span> *<a name="line.8"></a>
+<span class="sourceLineNo">009</span> * http://www.apache.org/licenses/LICENSE-2.0<a name="line.9"></a>
+<span class="sourceLineNo">010</span> *<a name="line.10"></a>
+<span class="sourceLineNo">011</span> * Unless required by applicable law or agreed to in writing, software<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * See the License for the specific language governing permissions and<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * limitations under the License.<a name="line.15"></a>
+<span class="sourceLineNo">016</span> */<a name="line.16"></a>
+<span class="sourceLineNo">017</span>package org.apache.hadoop.hbase.quotas;<a name="line.17"></a>
+<span class="sourceLineNo">018</span><a name="line.18"></a>
+<span class="sourceLineNo">019</span>import static org.junit.Assert.assertFalse;<a name="line.19"></a>
+<span class="sourceLineNo">020</span>import static org.junit.Assert.assertTrue;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import static org.junit.Assert.fail;<a name="line.21"></a>
+<span class="sourceLineNo">022</span><a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.io.IOException;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.TableName;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.quotas.QuotaSettingsFactory.QuotaGlobalsSettingsBypass;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.junit.Test;<a name="line.27"></a>
+<span class="sourceLineNo">028</span><a name="line.28"></a>
+<span class="sourceLineNo">029</span>public class TestQuotaGlobalsSettingsBypass {<a name="line.29"></a>
+<span class="sourceLineNo">030</span><a name="line.30"></a>
+<span class="sourceLineNo">031</span>  @Test<a name="line.31"></a>
+<span class="sourceLineNo">032</span>  public void testMerge() throws IOException {<a name="line.32"></a>
+<span class="sourceLineNo">033</span>    QuotaGlobalsSettingsBypass orig = new QuotaGlobalsSettingsBypass("joe", null, null, true);<a name="line.33"></a>
+<span class="sourceLineNo">034</span>    assertFalse(orig.merge(new QuotaGlobalsSettingsBypass(<a name="line.34"></a>
+<span class="sourceLineNo">035</span>        "joe", null, null, false)).getBypass());<a name="line.35"></a>
+<span class="sourceLineNo">036</span>  }<a name="line.36"></a>
+<span class="sourceLineNo">037</span><a name="line.37"></a>
+<span class="sourceLineNo">038</span>  @Test<a name="line.38"></a>
+<span class="sourceLineNo">039</span>  public void testInvalidMerges() throws IOException {<a name="line.39"></a>
+<span class="sourceLineNo">040</span>    QuotaGlobalsSettingsBypass userBypass = new QuotaGlobalsSettingsBypass(<a name="line.40"></a>
+<span class="sourceLineNo">041</span>        "joe", null, null, true);<a name="line.41"></a>
+<span class="sourceLineNo">042</span>    QuotaGlobalsSettingsBypass tableBypass = new QuotaGlobalsSettingsBypass(<a name="line.42"></a>
+<span class="sourceLineNo">043</span>        null, TableName.valueOf("table"), null, true);<a name="line.43"></a>
+<span class="sourceLineNo">044</span>    QuotaGlobalsSettingsBypass namespaceBypass = new QuotaGlobalsSettingsBypass(<a name="line.44"></a>
+<span class="sourceLineNo">045</span>        null, null, "ns", true);<a name="line.45"></a>
+<span class="sourceLineNo">046</span>    QuotaGlobalsSettingsBypass userOnTableBypass = new QuotaGlobalsSettingsBypass(<a name="line.46"></a>
+<span class="sourceLineNo">047</span>        "joe", TableName.valueOf("table"), null, true);<a name="line.47"></a>
+<span class="sourceLineNo">048</span>    QuotaGlobalsSettingsBypass userOnNamespaceBypass = new QuotaGlobalsSettingsBypass(<a name="line.48"></a>
+<span class="sourceLineNo">049</span>        "joe", null, "ns", true);<a name="line.49"></a>
+<span class="sourceLineNo">050</span><a name="line.50"></a>
+<span class="sourceLineNo">051</span>    assertTrue(userBypass.merge(userBypass).getBypass());<a name="line.51"></a>
+<span class="sourceLineNo">052</span>    expectFailure(userBypass, new QuotaGlobalsSettingsBypass("frank", null, null, false));<a name="line.52"></a>
+<span class="sourceLineNo">053</span>    expectFailure(userBypass, tableBypass);<a name="line.53"></a>
+<span class="sourceLineNo">054</span>    expectFailure(userBypass, namespaceBypass);<a name="line.54"></a>
+<span class="sourceLineNo">055</span>    expectFailure(userBypass, userOnTableBypass);<a name="line.55"></a>
+<span class="sourceLineNo">056</span>    expectFailure(userBypass, userOnNamespaceBypass);<a name="line.56"></a>
+<span class="sourceLineNo">057</span><a name="line.57"></a>
+<span class="sourceLineNo">058</span>    assertTrue(tableBypass.merge(tableBypass).getBypass());<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    expectFailure(tableBypass, userBypass);<a name="line.59"></a>
+<span class="sourceLineNo">060</span>    expectFailure(tableBypass, new QuotaGlobalsSettingsBypass(<a name="line.60"></a>
+<span class="sourceLineNo">061</span>        null, TableName.valueOf("foo"), null, false));<a name="line.61"></a>
+<span class="sourceLineNo">062</span>    expectFailure(tableBypass, namespaceBypass);<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    expectFailure(tableBypass, userOnTableBypass);<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    expectFailure(tableBypass, userOnNamespaceBypass);<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span>    assertTrue(namespaceBypass.merge(namespaceBypass).getBypass());<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    expectFailure(namespaceBypass, userBypass);<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    expectFailure(namespaceBypass, tableBypass);<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    expectFailure(namespaceBypass, new QuotaGlobalsSettingsBypass(null, null, "sn", false));<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    expectFailure(namespaceBypass, userOnTableBypass);<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    expectFailure(namespaceBypass, userOnNamespaceBypass);<a name="line.71"></a>
+<span class="sourceLineNo">072</span><a name="line.72"></a>
+<span class="sourceLineNo">073</span>    assertTrue(userOnTableBypass.merge(userOnTableBypass).getBypass());<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    expectFailure(userOnTableBypass, userBypass);<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    expectFailure(userOnTableBypass, tableBypass);<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    expectFailure(userOnTableBypass, namespaceBypass);<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    // Incorrect user<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    expectFailure(userOnTableBypass, new QuotaGlobalsSettingsBypass(<a name="line.78"></a>
+<span class="sourceLineNo">079</span>        "frank", TableName.valueOf("foo"), null, false));<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    // Incorrect tablename<a name="line.80"></a>
+<span class="sourceLineNo">081</span>    expectFailure(userOnTableBypass, new QuotaGlobalsSettingsBypass(<a name="line.81"></a>
+<span class="sourceLineNo">082</span>        "joe", TableName.valueOf("bar"), null, false));<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    expectFailure(userOnTableBypass, userOnNamespaceBypass);<a name="line.83"></a>
+<span class="sourceLineNo">084</span><a name="line.84"></a>
+<span class="sourceLineNo">085</span>    assertTrue(userOnNamespaceBypass.merge(userOnNamespaceBypass).getBypass());<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    expectFailure(userOnNamespaceBypass, userBypass);<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    expectFailure(userOnNamespaceBypass, tableBypass);<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    expectFailure(userOnNamespaceBypass, namespaceBypass);<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    expectFailure(userOnNamespaceBypass, userOnTableBypass);<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    expectFailure(userOnNamespaceBypass, new QuotaGlobalsSettingsBypass(<a name="line.90"></a>
+<span class="sourceLineNo">091</span>        "frank", null, "ns", false));<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    expectFailure(userOnNamespaceBypass, new QuotaGlobalsSettingsBypass(<a name="line.92"></a>
+<span class="sourceLineNo">093</span>        "joe", null, "sn", false));<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>  void expectFailure(QuotaSettings one, QuotaSettings two) throws IOException {<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    try {<a name="line.97"></a>
+<span class="sourceLineNo">098</span>      one.merge(two);<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      fail("Expected to see an Exception merging " + two + " into " + one);<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    } catch (IllegalArgumentException e) {}<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  }<a name="line.101"></a>
+<span class="sourceLineNo">102</span>}<a name="line.102"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestQuotaThrottle.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestQuotaThrottle.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestQuotaThrottle.html
index ef773f6..3c20d86 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestQuotaThrottle.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestQuotaThrottle.html
@@ -522,94 +522,89 @@
 <span class="sourceLineNo">514</span>        }<a name="line.514"></a>
 <span class="sourceLineNo">515</span>        count += tables.length;<a name="line.515"></a>
 <span class="sourceLineNo">516</span>      }<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    } catch (RetriesExhaustedWithDetailsException e) {<a name="line.517"></a>
-<span class="sourceLineNo">518</span>      for (Throwable t: e.getCauses()) {<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        if (!(t instanceof ThrottlingException)) {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>          throw e;<a name="line.520"></a>
-<span class="sourceLineNo">521</span>        }<a name="line.521"></a>
-<span class="sourceLineNo">522</span>      }<a name="line.522"></a>
-<span class="sourceLineNo">523</span>      LOG.error("put failed after nRetries=" + count, e);<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    }<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    return count;<a name="line.525"></a>
-<span class="sourceLineNo">526</span>  }<a name="line.526"></a>
-<span class="sourceLineNo">527</span><a name="line.527"></a>
-<span class="sourceLineNo">528</span>  private long doGets(int maxOps, final Table... tables) throws Exception {<a name="line.528"></a>
-<span class="sourceLineNo">529</span>    int count = 0;<a name="line.529"></a>
-<span class="sourceLineNo">530</span>    try {<a name="line.530"></a>
-<span class="sourceLineNo">531</span>      while (count &lt; maxOps) {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>        Get get = new Get(Bytes.toBytes("row-" + count));<a name="line.532"></a>
-<span class="sourceLineNo">533</span>        for (final Table table: tables) {<a name="line.533"></a>
-<span class="sourceLineNo">534</span>          table.get(get);<a name="line.534"></a>
-<span class="sourceLineNo">535</span>        }<a name="line.535"></a>
-<span class="sourceLineNo">536</span>        count += tables.length;<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      }<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    } catch (ThrottlingException e) {<a name="line.538"></a>
-<span class="sourceLineNo">539</span>      LOG.error("get failed after nRetries=" + count, e);<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    }<a name="line.540"></a>
-<span class="sourceLineNo">541</span>    return count;<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>  private void triggerUserCacheRefresh(boolean bypass, TableName... tables) throws Exception {<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    triggerCacheRefresh(bypass, true, false, false, tables);<a name="line.545"></a>
-<span class="sourceLineNo">546</span>  }<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span>  private void triggerTableCacheRefresh(boolean bypass, TableName... tables) throws Exception {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    triggerCacheRefresh(bypass, false, true, false, tables);<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>  private void triggerNamespaceCacheRefresh(boolean bypass, TableName... tables) throws Exception {<a name="line.552"></a>
-<span class="sourceLineNo">553</span>    triggerCacheRefresh(bypass, false, false, true, tables);<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>  private void triggerCacheRefresh(boolean bypass, boolean userLimiter, boolean tableLimiter,<a name="line.556"></a>
-<span class="sourceLineNo">557</span>      boolean nsLimiter, final TableName... tables) throws Exception {<a name="line.557"></a>
-<span class="sourceLineNo">558</span>    envEdge.incValue(2 * REFRESH_TIME);<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    for (RegionServerThread rst: TEST_UTIL.getMiniHBaseCluster().getRegionServerThreads()) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      RegionServerRpcQuotaManager quotaManager = rst.getRegionServer().getRegionServerRpcQuotaManager();<a name="line.560"></a>
-<span class="sourceLineNo">561</span>      QuotaCache quotaCache = quotaManager.getQuotaCache();<a name="line.561"></a>
-<span class="sourceLineNo">562</span><a name="line.562"></a>
-<span class="sourceLineNo">563</span>      quotaCache.triggerCacheRefresh();<a name="line.563"></a>
-<span class="sourceLineNo">564</span>      // sleep for cache update<a name="line.564"></a>
-<span class="sourceLineNo">565</span>      Thread.sleep(250);<a name="line.565"></a>
-<span class="sourceLineNo">566</span><a name="line.566"></a>
-<span class="sourceLineNo">567</span>      for (TableName table: tables) {<a name="line.567"></a>
-<span class="sourceLineNo">568</span>        quotaCache.getTableLimiter(table);<a name="line.568"></a>
-<span class="sourceLineNo">569</span>      }<a name="line.569"></a>
-<span class="sourceLineNo">570</span><a name="line.570"></a>
-<span class="sourceLineNo">571</span>      boolean isUpdated = false;<a name="line.571"></a>
-<span class="sourceLineNo">572</span>      while (!isUpdated) {<a name="line.572"></a>
-<span class="sourceLineNo">573</span>        quotaCache.triggerCacheRefresh();<a name="line.573"></a>
-<span class="sourceLineNo">574</span>        isUpdated = true;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>        for (TableName table: tables) {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>          boolean isBypass = true;<a name="line.576"></a>
-<span class="sourceLineNo">577</span>          if (userLimiter) {<a name="line.577"></a>
-<span class="sourceLineNo">578</span>            isBypass &amp;= quotaCache.getUserLimiter(User.getCurrent().getUGI(), table).isBypass();<a name="line.578"></a>
-<span class="sourceLineNo">579</span>          }<a name="line.579"></a>
-<span class="sourceLineNo">580</span>          if (tableLimiter) {<a name="line.580"></a>
-<span class="sourceLineNo">581</span>            isBypass &amp;= quotaCache.getTableLimiter(table).isBypass();<a name="line.581"></a>
-<span class="sourceLineNo">582</span>          }<a name="line.582"></a>
-<span class="sourceLineNo">583</span>          if (nsLimiter) {<a name="line.583"></a>
-<span class="sourceLineNo">584</span>            isBypass &amp;= quotaCache.getNamespaceLimiter(table.getNamespaceAsString()).isBypass();<a name="line.584"></a>
+<span class="sourceLineNo">517</span>    } catch (ThrottlingException e) {<a name="line.517"></a>
+<span class="sourceLineNo">518</span>      LOG.error("put failed after nRetries=" + count, e);<a name="line.518"></a>
+<span class="sourceLineNo">519</span>    }<a name="line.519"></a>
+<span class="sourceLineNo">520</span>    return count;<a name="line.520"></a>
+<span class="sourceLineNo">521</span>  }<a name="line.521"></a>
+<span class="sourceLineNo">522</span><a name="line.522"></a>
+<span class="sourceLineNo">523</span>  private long doGets(int maxOps, final Table... tables) throws Exception {<a name="line.523"></a>
+<span class="sourceLineNo">524</span>    int count = 0;<a name="line.524"></a>
+<span class="sourceLineNo">525</span>    try {<a name="line.525"></a>
+<span class="sourceLineNo">526</span>      while (count &lt; maxOps) {<a name="line.526"></a>
+<span class="sourceLineNo">527</span>        Get get = new Get(Bytes.toBytes("row-" + count));<a name="line.527"></a>
+<span class="sourceLineNo">528</span>        for (final Table table: tables) {<a name="line.528"></a>
+<span class="sourceLineNo">529</span>          table.get(get);<a name="line.529"></a>
+<span class="sourceLineNo">530</span>        }<a name="line.530"></a>
+<span class="sourceLineNo">531</span>        count += tables.length;<a name="line.531"></a>
+<span class="sourceLineNo">532</span>      }<a name="line.532"></a>
+<span class="sourceLineNo">533</span>    } catch (ThrottlingException e) {<a name="line.533"></a>
+<span class="sourceLineNo">534</span>      LOG.error("get failed after nRetries=" + count, e);<a name="line.534"></a>
+<span class="sourceLineNo">535</span>    }<a name="line.535"></a>
+<span class="sourceLineNo">536</span>    return count;<a name="line.536"></a>
+<span class="sourceLineNo">537</span>  }<a name="line.537"></a>
+<span class="sourceLineNo">538</span><a name="line.538"></a>
+<span class="sourceLineNo">539</span>  private void triggerUserCacheRefresh(boolean bypass, TableName... tables) throws Exception {<a name="line.539"></a>
+<span class="sourceLineNo">540</span>    triggerCacheRefresh(bypass, true, false, false, tables);<a name="line.540"></a>
+<span class="sourceLineNo">541</span>  }<a name="line.541"></a>
+<span class="sourceLineNo">542</span><a name="line.542"></a>
+<span class="sourceLineNo">543</span>  private void triggerTableCacheRefresh(boolean bypass, TableName... tables) throws Exception {<a name="line.543"></a>
+<span class="sourceLineNo">544</span>    triggerCacheRefresh(bypass, false, true, false, tables);<a name="line.544"></a>
+<span class="sourceLineNo">545</span>  }<a name="line.545"></a>
+<span class="sourceLineNo">546</span><a name="line.546"></a>
+<span class="sourceLineNo">547</span>  private void triggerNamespaceCacheRefresh(boolean bypass, TableName... tables) throws Exception {<a name="line.547"></a>
+<span class="sourceLineNo">548</span>    triggerCacheRefresh(bypass, false, false, true, tables);<a name="line.548"></a>
+<span class="sourceLineNo">549</span>  }<a name="line.549"></a>
+<span class="sourceLineNo">550</span><a name="line.550"></a>
+<span class="sourceLineNo">551</span>  private void triggerCacheRefresh(boolean bypass, boolean userLimiter, boolean tableLimiter,<a name="line.551"></a>
+<span class="sourceLineNo">552</span>      boolean nsLimiter, final TableName... tables) throws Exception {<a name="line.552"></a>
+<span class="sourceLineNo">553</span>    envEdge.incValue(2 * REFRESH_TIME);<a name="line.553"></a>
+<span class="sourceLineNo">554</span>    for (RegionServerThread rst: TEST_UTIL.getMiniHBaseCluster().getRegionServerThreads()) {<a name="line.554"></a>
+<span class="sourceLineNo">555</span>      RegionServerRpcQuotaManager quotaManager = rst.getRegionServer().getRegionServerRpcQuotaManager();<a name="line.555"></a>
+<span class="sourceLineNo">556</span>      QuotaCache quotaCache = quotaManager.getQuotaCache();<a name="line.556"></a>
+<span class="sourceLineNo">557</span><a name="line.557"></a>
+<span class="sourceLineNo">558</span>      quotaCache.triggerCacheRefresh();<a name="line.558"></a>
+<span class="sourceLineNo">559</span>      // sleep for cache update<a name="line.559"></a>
+<span class="sourceLineNo">560</span>      Thread.sleep(250);<a name="line.560"></a>
+<span class="sourceLineNo">561</span><a name="line.561"></a>
+<span class="sourceLineNo">562</span>      for (TableName table: tables) {<a name="line.562"></a>
+<span class="sourceLineNo">563</span>        quotaCache.getTableLimiter(table);<a name="line.563"></a>
+<span class="sourceLineNo">564</span>      }<a name="line.564"></a>
+<span class="sourceLineNo">565</span><a name="line.565"></a>
+<span class="sourceLineNo">566</span>      boolean isUpdated = false;<a name="line.566"></a>
+<span class="sourceLineNo">567</span>      while (!isUpdated) {<a name="line.567"></a>
+<span class="sourceLineNo">568</span>        quotaCache.triggerCacheRefresh();<a name="line.568"></a>
+<span class="sourceLineNo">569</span>        isUpdated = true;<a name="line.569"></a>
+<span class="sourceLineNo">570</span>        for (TableName table: tables) {<a name="line.570"></a>
+<span class="sourceLineNo">571</span>          boolean isBypass = true;<a name="line.571"></a>
+<span class="sourceLineNo">572</span>          if (userLimiter) {<a name="line.572"></a>
+<span class="sourceLineNo">573</span>            isBypass &amp;= quotaCache.getUserLimiter(User.getCurrent().getUGI(), table).isBypass();<a name="line.573"></a>
+<span class="sourceLineNo">574</span>          }<a name="line.574"></a>
+<span class="sourceLineNo">575</span>          if (tableLimiter) {<a name="line.575"></a>
+<span class="sourceLineNo">576</span>            isBypass &amp;= quotaCache.getTableLimiter(table).isBypass();<a name="line.576"></a>
+<span class="sourceLineNo">577</span>          }<a name="line.577"></a>
+<span class="sourceLineNo">578</span>          if (nsLimiter) {<a name="line.578"></a>
+<span class="sourceLineNo">579</span>            isBypass &amp;= quotaCache.getNamespaceLimiter(table.getNamespaceAsString()).isBypass();<a name="line.579"></a>
+<span class="sourceLineNo">580</span>          }<a name="line.580"></a>
+<span class="sourceLineNo">581</span>          if (isBypass != bypass) {<a name="line.581"></a>
+<span class="sourceLineNo">582</span>            envEdge.incValue(100);<a name="line.582"></a>
+<span class="sourceLineNo">583</span>            isUpdated = false;<a name="line.583"></a>
+<span class="sourceLineNo">584</span>            break;<a name="line.584"></a>
 <span class="sourceLineNo">585</span>          }<a name="line.585"></a>
-<span class="sourceLineNo">586</span>          if (isBypass != bypass) {<a name="line.586"></a>
-<span class="sourceLineNo">587</span>            envEdge.incValue(100);<a name="line.587"></a>
-<span class="sourceLineNo">588</span>            isUpdated = false;<a name="line.588"></a>
-<span class="sourceLineNo">589</span>            break;<a name="line.589"></a>
-<span class="sourceLineNo">590</span>          }<a name="line.590"></a>
-<span class="sourceLineNo">591</span>        }<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      }<a name="line.592"></a>
-<span class="sourceLineNo">593</span><a name="line.593"></a>
-<span class="sourceLineNo">594</span>      LOG.debug("QuotaCache");<a name="line.594"></a>
-<span class="sourceLineNo">595</span>      LOG.debug(quotaCache.getNamespaceQuotaCache());<a name="line.595"></a>
-<span class="sourceLineNo">596</span>      LOG.debug(quotaCache.getTableQuotaCache());<a name="line.596"></a>
-<span class="sourceLineNo">597</span>      LOG.debug(quotaCache.getUserQuotaCache());<a name="line.597"></a>
-<span class="sourceLineNo">598</span>    }<a name="line.598"></a>
-<span class="sourceLineNo">599</span>  }<a name="line.599"></a>
-<span class="sourceLineNo">600</span><a name="line.600"></a>
-<span class="sourceLineNo">601</span>  private void waitMinuteQuota() {<a name="line.601"></a>
-<span class="sourceLineNo">602</span>    envEdge.incValue(70000);<a name="line.602"></a>
-<span class="sourceLineNo">603</span>  }<a name="line.603"></a>
-<span class="sourceLineNo">604</span>}<a name="line.604"></a>
+<span class="sourceLineNo">586</span>        }<a name="line.586"></a>
+<span class="sourceLineNo">587</span>      }<a name="line.587"></a>
+<span class="sourceLineNo">588</span><a name="line.588"></a>
+<span class="sourceLineNo">589</span>      LOG.debug("QuotaCache");<a name="line.589"></a>
+<span class="sourceLineNo">590</span>      LOG.debug(quotaCache.getNamespaceQuotaCache());<a name="line.590"></a>
+<span class="sourceLineNo">591</span>      LOG.debug(quotaCache.getTableQuotaCache());<a name="line.591"></a>
+<span class="sourceLineNo">592</span>      LOG.debug(quotaCache.getUserQuotaCache());<a name="line.592"></a>
+<span class="sourceLineNo">593</span>    }<a name="line.593"></a>
+<span class="sourceLineNo">594</span>  }<a name="line.594"></a>
+<span class="sourceLineNo">595</span><a name="line.595"></a>
+<span class="sourceLineNo">596</span>  private void waitMinuteQuota() {<a name="line.596"></a>
+<span class="sourceLineNo">597</span>    envEdge.incValue(70000);<a name="line.597"></a>
+<span class="sourceLineNo">598</span>  }<a name="line.598"></a>
+<span class="sourceLineNo">599</span>}<a name="line.599"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html
index 4617b73..aa919c3 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestSpaceLimitSettings.html
@@ -27,104 +27,129 @@
 <span class="sourceLineNo">019</span>import static org.junit.Assert.assertEquals;<a name="line.19"></a>
 <span class="sourceLineNo">020</span>import static org.junit.Assert.assertFalse;<a name="line.20"></a>
 <span class="sourceLineNo">021</span>import static org.junit.Assert.assertNotNull;<a name="line.21"></a>
-<span class="sourceLineNo">022</span><a name="line.22"></a>
-<span class="sourceLineNo">023</span>import org.apache.hadoop.hbase.TableName;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceLimitRequest;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.testclassification.SmallTests;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.junit.Test;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.junit.experimental.categories.Category;<a name="line.30"></a>
-<span class="sourceLineNo">031</span><a name="line.31"></a>
-<span class="sourceLineNo">032</span>/**<a name="line.32"></a>
-<span class="sourceLineNo">033</span> * Test class for {@link SpaceLimitSettings}.<a name="line.33"></a>
-<span class="sourceLineNo">034</span> */<a name="line.34"></a>
-<span class="sourceLineNo">035</span>@Category({SmallTests.class})<a name="line.35"></a>
-<span class="sourceLineNo">036</span>public class TestSpaceLimitSettings {<a name="line.36"></a>
-<span class="sourceLineNo">037</span><a name="line.37"></a>
-<span class="sourceLineNo">038</span>  @Test(expected = IllegalArgumentException.class)<a name="line.38"></a>
-<span class="sourceLineNo">039</span>  public void testInvalidTableQuotaSizeLimit() {<a name="line.39"></a>
-<span class="sourceLineNo">040</span>    new SpaceLimitSettings(TableName.valueOf("foo"), -1, SpaceViolationPolicy.NO_INSERTS);<a name="line.40"></a>
-<span class="sourceLineNo">041</span>  }<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span>  @Test(expected = NullPointerException.class)<a name="line.43"></a>
-<span class="sourceLineNo">044</span>  public void testNullTableName() {<a name="line.44"></a>
-<span class="sourceLineNo">045</span>    TableName tn = null;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>    new SpaceLimitSettings(tn, 1, SpaceViolationPolicy.NO_INSERTS);<a name="line.46"></a>
-<span class="sourceLineNo">047</span>  }<a name="line.47"></a>
-<span class="sourceLineNo">048</span><a name="line.48"></a>
-<span class="sourceLineNo">049</span>  @Test(expected = NullPointerException.class)<a name="line.49"></a>
-<span class="sourceLineNo">050</span>  public void testNullTableViolationPolicy() {<a name="line.50"></a>
-<span class="sourceLineNo">051</span>    new SpaceLimitSettings(TableName.valueOf("foo"), 1, null);<a name="line.51"></a>
-<span class="sourceLineNo">052</span>  }<a name="line.52"></a>
-<span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span>  @Test(expected = IllegalArgumentException.class)<a name="line.54"></a>
-<span class="sourceLineNo">055</span>  public void testInvalidNamespaceQuotaSizeLimit() {<a name="line.55"></a>
-<span class="sourceLineNo">056</span>    new SpaceLimitSettings("foo_ns", -1, SpaceViolationPolicy.NO_INSERTS);<a name="line.56"></a>
-<span class="sourceLineNo">057</span>  }<a name="line.57"></a>
-<span class="sourceLineNo">058</span><a name="line.58"></a>
-<span class="sourceLineNo">059</span>  @Test(expected = NullPointerException.class)<a name="line.59"></a>
-<span class="sourceLineNo">060</span>  public void testNullNamespace() {<a name="line.60"></a>
-<span class="sourceLineNo">061</span>    String ns = null;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    new SpaceLimitSettings(ns, 1, SpaceViolationPolicy.NO_INSERTS);<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>  @Test(expected = NullPointerException.class)<a name="line.65"></a>
-<span class="sourceLineNo">066</span>  public void testNullNamespaceViolationPolicy() {<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    new SpaceLimitSettings("foo_ns", 1, 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>  @Test<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  public void testTableQuota() {<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    final TableName tableName = TableName.valueOf("foo");<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    final long sizeLimit = 1024 * 1024;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>    final SpaceViolationPolicy policy = SpaceViolationPolicy.NO_WRITES;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>    SpaceLimitSettings settings = new SpaceLimitSettings(tableName, sizeLimit, policy);<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    SetQuotaRequest proto = QuotaSettings.buildSetQuotaRequestProto(settings);<a name="line.76"></a>
-<span class="sourceLineNo">077</span><a name="line.77"></a>
-<span class="sourceLineNo">078</span>    assertFalse("User should be missing", proto.hasUserName());<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    assertFalse("Namespace should be missing", proto.hasNamespace());<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    assertEquals(ProtobufUtil.toProtoTableName(tableName), proto.getTableName());<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    SpaceLimitRequest spaceLimitReq = proto.getSpaceLimit();<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    assertNotNull("SpaceLimitRequest was null", spaceLimitReq);<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    SpaceQuota spaceQuota = spaceLimitReq.getQuota();<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    assertNotNull("SpaceQuota was null", spaceQuota);<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    assertEquals(sizeLimit, spaceQuota.getSoftLimit());<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    assertEquals(ProtobufUtil.toProtoViolationPolicy(policy), spaceQuota.getViolationPolicy());<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>    assertEquals(QuotaType.SPACE, settings.getQuotaType());<a name="line.88"></a>
-<span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>    SpaceLimitSettings copy = new SpaceLimitSettings(tableName, sizeLimit, policy);<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    assertEquals(settings, copy);<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    assertEquals(settings.hashCode(), copy.hashCode());<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>  @Test<a name="line.95"></a>
-<span class="sourceLineNo">096</span>  public void testNamespaceQuota() {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    final String namespace = "foo_ns";<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    final long sizeLimit = 1024 * 1024;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    final SpaceViolationPolicy policy = SpaceViolationPolicy.NO_WRITES;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    SpaceLimitSettings settings = new SpaceLimitSettings(namespace, sizeLimit, policy);<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    SetQuotaRequest proto = QuotaSettings.buildSetQuotaRequestProto(settings);<a name="line.101"></a>
-<span class="sourceLineNo">102</span><a name="line.102"></a>
-<span class="sourceLineNo">103</span>    assertFalse("User should be missing", proto.hasUserName());<a name="line.103"></a>
-<span class="sourceLineNo">104</span>    assertFalse("TableName should be missing", proto.hasTableName());<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    assertEquals(namespace, proto.getNamespace());<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    SpaceLimitRequest spaceLimitReq = proto.getSpaceLimit();<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    assertNotNull("SpaceLimitRequest was null", spaceLimitReq);<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    SpaceQuota spaceQuota = spaceLimitReq.getQuota();<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    assertNotNull("SpaceQuota was null", spaceQuota);<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    assertEquals(sizeLimit, spaceQuota.getSoftLimit());<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    assertEquals(ProtobufUtil.toProtoViolationPolicy(policy), spaceQuota.getViolationPolicy());<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>    assertEquals(QuotaType.SPACE, settings.getQuotaType());<a name="line.113"></a>
-<span class="sourceLineNo">114</span><a name="line.114"></a>
-<span class="sourceLineNo">115</span>    SpaceLimitSettings copy = new SpaceLimitSettings(namespace, sizeLimit, policy);<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    assertEquals(settings, copy);<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    assertEquals(settings.hashCode(), copy.hashCode());<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">022</span>import static org.junit.Assert.fail;<a name="line.22"></a>
+<span class="sourceLineNo">023</span><a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.io.IOException;<a name="line.24"></a>
+<span class="sourceLineNo">025</span><a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.TableName;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceLimitRequest;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.testclassification.SmallTests;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.junit.Test;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.junit.experimental.categories.Category;<a name="line.33"></a>
+<span class="sourceLineNo">034</span><a name="line.34"></a>
+<span class="sourceLineNo">035</span>/**<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * Test class for {@link SpaceLimitSettings}.<a name="line.36"></a>
+<span class="sourceLineNo">037</span> */<a name="line.37"></a>
+<span class="sourceLineNo">038</span>@Category({SmallTests.class})<a name="line.38"></a>
+<span class="sourceLineNo">039</span>public class TestSpaceLimitSettings {<a name="line.39"></a>
+<span class="sourceLineNo">040</span><a name="line.40"></a>
+<span class="sourceLineNo">041</span>  @Test(expected = IllegalArgumentException.class)<a name="line.41"></a>
+<span class="sourceLineNo">042</span>  public void testInvalidTableQuotaSizeLimit() {<a name="line.42"></a>
+<span class="sourceLineNo">043</span>    new SpaceLimitSettings(TableName.valueOf("foo"), -1, SpaceViolationPolicy.NO_INSERTS);<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>  @Test(expected = NullPointerException.class)<a name="line.46"></a>
+<span class="sourceLineNo">047</span>  public void testNullTableName() {<a name="line.47"></a>
+<span class="sourceLineNo">048</span>    TableName tn = null;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>    new SpaceLimitSettings(tn, 1, SpaceViolationPolicy.NO_INSERTS);<a name="line.49"></a>
+<span class="sourceLineNo">050</span>  }<a name="line.50"></a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span>  @Test(expected = NullPointerException.class)<a name="line.52"></a>
+<span class="sourceLineNo">053</span>  public void testNullTableViolationPolicy() {<a name="line.53"></a>
+<span class="sourceLineNo">054</span>    new SpaceLimitSettings(TableName.valueOf("foo"), 1, null);<a name="line.54"></a>
+<span class="sourceLineNo">055</span>  }<a name="line.55"></a>
+<span class="sourceLineNo">056</span><a name="line.56"></a>
+<span class="sourceLineNo">057</span>  @Test(expected = IllegalArgumentException.class)<a name="line.57"></a>
+<span class="sourceLineNo">058</span>  public void testInvalidNamespaceQuotaSizeLimit() {<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    new SpaceLimitSettings("foo_ns", -1, SpaceViolationPolicy.NO_INSERTS);<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>  @Test(expected = NullPointerException.class)<a name="line.62"></a>
+<span class="sourceLineNo">063</span>  public void testNullNamespace() {<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    String ns = null;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    new SpaceLimitSettings(ns, 1, SpaceViolationPolicy.NO_INSERTS);<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>  @Test(expected = NullPointerException.class)<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  public void testNullNamespaceViolationPolicy() {<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    new SpaceLimitSettings("foo_ns", 1, null);<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  }<a name="line.71"></a>
+<span class="sourceLineNo">072</span><a name="line.72"></a>
+<span class="sourceLineNo">073</span>  @Test<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  public void testTableQuota() {<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    final TableName tableName = TableName.valueOf("foo");<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    final long sizeLimit = 1024 * 1024;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    final SpaceViolationPolicy policy = SpaceViolationPolicy.NO_WRITES;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    SpaceLimitSettings settings = new SpaceLimitSettings(tableName, sizeLimit, policy);<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    SetQuotaRequest proto = QuotaSettings.buildSetQuotaRequestProto(settings);<a name="line.79"></a>
+<span class="sourceLineNo">080</span><a name="line.80"></a>
+<span class="sourceLineNo">081</span>    assertFalse("User should be missing", proto.hasUserName());<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    assertFalse("Namespace should be missing", proto.hasNamespace());<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    assertEquals(ProtobufUtil.toProtoTableName(tableName), proto.getTableName());<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    SpaceLimitRequest spaceLimitReq = proto.getSpaceLimit();<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    assertNotNull("SpaceLimitRequest was null", spaceLimitReq);<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    SpaceQuota spaceQuota = spaceLimitReq.getQuota();<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    assertNotNull("SpaceQuota was null", spaceQuota);<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    assertEquals(sizeLimit, spaceQuota.getSoftLimit());<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    assertEquals(ProtobufUtil.toProtoViolationPolicy(policy), spaceQuota.getViolationPolicy());<a name="line.89"></a>
+<span class="sourceLineNo">090</span><a name="line.90"></a>
+<span class="sourceLineNo">091</span>    assertEquals(QuotaType.SPACE, settings.getQuotaType());<a name="line.91"></a>
+<span class="sourceLineNo">092</span><a name="line.92"></a>
+<span class="sourceLineNo">093</span>    SpaceLimitSettings copy = new SpaceLimitSettings(tableName, sizeLimit, policy);<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    assertEquals(settings, copy);<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    assertEquals(settings.hashCode(), copy.hashCode());<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  }<a name="line.96"></a>
+<span class="sourceLineNo">097</span><a name="line.97"></a>
+<span class="sourceLineNo">098</span>  @Test<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  public void testNamespaceQuota() {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    final String namespace = "foo_ns";<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    final long sizeLimit = 1024 * 1024;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    final SpaceViolationPolicy policy = SpaceViolationPolicy.NO_WRITES;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    SpaceLimitSettings settings = new SpaceLimitSettings(namespace, sizeLimit, policy);<a name="line.103"></a>
+<span class="sourceLineNo">104</span>    SetQuotaRequest proto = QuotaSettings.buildSetQuotaRequestProto(settings);<a name="line.104"></a>
+<span class="sourceLineNo">105</span><a name="line.105"></a>
+<span class="sourceLineNo">106</span>    assertFalse("User should be missing", proto.hasUserName());<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    assertFalse("TableName should be missing", proto.hasTableName());<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    assertEquals(namespace, proto.getNamespace());<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    SpaceLimitRequest spaceLimitReq = proto.getSpaceLimit();<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    assertNotNull("SpaceLimitRequest was null", spaceLimitReq);<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    SpaceQuota spaceQuota = spaceLimitReq.getQuota();<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    assertNotNull("SpaceQuota was null", spaceQuota);<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    assertEquals(sizeLimit, spaceQuota.getSoftLimit());<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    assertEquals(ProtobufUtil.toProtoViolationPolicy(policy), spaceQuota.getViolationPolicy());<a name="line.114"></a>
+<span class="sourceLineNo">115</span><a name="line.115"></a>
+<span class="sourceLineNo">116</span>    assertEquals(QuotaType.SPACE, settings.getQuotaType());<a name="line.116"></a>
+<span class="sourceLineNo">117</span><a name="line.117"></a>
+<span class="sourceLineNo">118</span>    SpaceLimitSettings copy = new SpaceLimitSettings(namespace, sizeLimit, policy);<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    assertEquals(settings, copy);<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    assertEquals(settings.hashCode(), copy.hashCode());<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>  @Test<a name="line.123"></a>
+<span class="sourceLineNo">124</span>  public void testQuotaMerging() throws IOException {<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    TableName tn = TableName.valueOf("foo");<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    QuotaSettings originalSettings = QuotaSettingsFactory.limitTableSpace(<a name="line.126"></a>
+<span class="sourceLineNo">127</span>        tn, 1024L * 1024L, SpaceViolationPolicy.DISABLE);<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    QuotaSettings largerSizeLimit = QuotaSettingsFactory.limitTableSpace(<a name="line.128"></a>
+<span class="sourceLineNo">129</span>        tn, 5L * 1024L * 1024L, SpaceViolationPolicy.DISABLE);<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    QuotaSettings differentPolicy = QuotaSettingsFactory.limitTableSpace(<a name="line.130"></a>
+<span class="sourceLineNo">131</span>        tn, 1024L * 1024L, SpaceViolationPolicy.NO_WRITES);<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    QuotaSettings incompatibleSettings = QuotaSettingsFactory.limitNamespaceSpace(<a name="line.132"></a>
+<span class="sourceLineNo">133</span>        "ns1", 5L * 1024L * 1024L, SpaceViolationPolicy.NO_WRITES);<a name="line.133"></a>
+<span class="sourceLineNo">134</span><a name="line.134"></a>
+<span class="sourceLineNo">135</span>    assertEquals(originalSettings.merge(largerSizeLimit), largerSizeLimit);<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    assertEquals(originalSettings.merge(differentPolicy), differentPolicy);<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    try {<a name="line.137"></a>
+<span class="sourceLineNo">138</span>      originalSettings.merge(incompatibleSettings);<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      fail("Should not be able to merge a Table space quota with a namespace space quota.");<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    } catch (IllegalArgumentException e) {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>      //pass<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    }<a name="line.142"></a>
+<span class="sourceLineNo">143</span>  }<a name="line.143"></a>
+<span class="sourceLineNo">144</span>}<a name="line.144"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestThrottleSettings.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestThrottleSettings.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestThrottleSettings.html
new file mode 100644
index 0000000..b384f6f
--- /dev/null
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/quotas/TestThrottleSettings.html
@@ -0,0 +1,170 @@
+<!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 or more<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * contributor license agreements.  See the NOTICE file distributed with<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * this work for additional information regarding copyright ownership.<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * The ASF licenses this file to you under the Apache License, Version 2.0<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * (the "License"); you may not use this file except in compliance with<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * the License.  You may obtain a copy of the License at<a name="line.7"></a>
+<span class="sourceLineNo">008</span> *<a name="line.8"></a>
+<span class="sourceLineNo">009</span> * http://www.apache.org/licenses/LICENSE-2.0<a name="line.9"></a>
+<span class="sourceLineNo">010</span> *<a name="line.10"></a>
+<span class="sourceLineNo">011</span> * Unless required by applicable law or agreed to in writing, software<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * See the License for the specific language governing permissions and<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * limitations under the License.<a name="line.15"></a>
+<span class="sourceLineNo">016</span> */<a name="line.16"></a>
+<span class="sourceLineNo">017</span>package org.apache.hadoop.hbase.quotas;<a name="line.17"></a>
+<span class="sourceLineNo">018</span><a name="line.18"></a>
+<span class="sourceLineNo">019</span>import static org.junit.Assert.assertEquals;<a name="line.19"></a>
+<span class="sourceLineNo">020</span>import static org.junit.Assert.assertTrue;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import static org.junit.Assert.fail;<a name="line.21"></a>
+<span class="sourceLineNo">022</span><a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.io.IOException;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.util.concurrent.TimeUnit;<a name="line.24"></a>
+<span class="sourceLineNo">025</span><a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.ThrottleRequest;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.TimedQuota;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.testclassification.SmallTests;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.junit.Test;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.junit.experimental.categories.Category;<a name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>@Category({SmallTests.class})<a name="line.34"></a>
+<span class="sourceLineNo">035</span>public class TestThrottleSettings {<a name="line.35"></a>
+<span class="sourceLineNo">036</span><a name="line.36"></a>
+<span class="sourceLineNo">037</span>  @Test<a name="line.37"></a>
+<span class="sourceLineNo">038</span>  public void testMerge() throws IOException {<a name="line.38"></a>
+<span class="sourceLineNo">039</span>    TimedQuota tq1 = TimedQuota.newBuilder().setSoftLimit(10)<a name="line.39"></a>
+<span class="sourceLineNo">040</span>        .setScope(QuotaProtos.QuotaScope.MACHINE)<a name="line.40"></a>
+<span class="sourceLineNo">041</span>        .setTimeUnit(HBaseProtos.TimeUnit.MINUTES).build();<a name="line.41"></a>
+<span class="sourceLineNo">042</span>    ThrottleRequest tr1 = ThrottleRequest.newBuilder().setTimedQuota(tq1)<a name="line.42"></a>
+<span class="sourceLineNo">043</span>        .setType(QuotaProtos.ThrottleType.REQUEST_NUMBER).build();<a name="line.43"></a>
+<span class="sourceLineNo">044</span>    ThrottleSettings orig = new ThrottleSettings("joe", null, null, tr1);<a name="line.44"></a>
+<span class="sourceLineNo">045</span><a name="line.45"></a>
+<span class="sourceLineNo">046</span>    TimedQuota tq2 = TimedQuota.newBuilder().setSoftLimit(10)<a name="line.46"></a>
+<span class="sourceLineNo">047</span>        .setScope(QuotaProtos.QuotaScope.MACHINE)<a name="line.47"></a>
+<span class="sourceLineNo">048</span>        .setTimeUnit(HBaseProtos.TimeUnit.SECONDS).build();<a name="line.48"></a>
+<span class="sourceLineNo">049</span>    ThrottleRequest tr2 = ThrottleRequest.newBuilder().setTimedQuota(tq2)<a name="line.49"></a>
+<span class="sourceLineNo">050</span>        .setType(QuotaProtos.ThrottleType.REQUEST_NUMBER).build();<a name="line.50"></a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span>    ThrottleSettings merged = orig.merge(new ThrottleSettings("joe", null, null, tr2));<a name="line.52"></a>
+<span class="sourceLineNo">053</span><a name="line.53"></a>
+<span class="sourceLineNo">054</span>    assertEquals(10, merged.getSoftLimit());<a name="line.54"></a>
+<span class="sourceLineNo">055</span>    assertEquals(ThrottleType.REQUEST_NUMBER, merged.getThrottleType());<a name="line.55"></a>
+<span class="sourceLineNo">056</span>    assertEquals(TimeUnit.SECONDS, merged.getTimeUnit());<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  }<a name="line.57"></a>
+<span class="sourceLineNo">058</span><a name="line.58"></a>
+<span class="sourceLineNo">059</span>  @Test<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  public void testIncompatibleThrottleTypes() throws IOException {<a name="line.60"></a>
+<span class="sourceLineNo">061</span>    TimedQuota requestsQuota = TimedQuota.newBuilder().setSoftLimit(10)<a name="line.61"></a>
+<span class="sourceLineNo">062</span>        .setScope(QuotaProtos.QuotaScope.MACHINE)<a name="line.62"></a>
+<span class="sourceLineNo">063</span>        .setTimeUnit(HBaseProtos.TimeUnit.MINUTES).build();<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    ThrottleRequest requestsQuotaReq = ThrottleRequest.newBuilder().setTimedQuota(requestsQuota)<a name="line.64"></a>
+<span class="sourceLineNo">065</span>        .setType(QuotaProtos.ThrottleType.REQUEST_NUMBER).build();<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    ThrottleSettings orig = new ThrottleSettings("joe", null, null, requestsQuotaReq);<a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span>    TimedQuota readsQuota = TimedQuota.newBuilder().setSoftLimit(10)<a name="line.68"></a>
+<span class="sourceLineNo">069</span>        .setScope(QuotaProtos.QuotaScope.MACHINE)<a name="line.69"></a>
+<span class="sourceLineNo">070</span>        .setTimeUnit(HBaseProtos.TimeUnit.SECONDS).build();<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    ThrottleRequest readsQuotaReq = ThrottleRequest.newBuilder().setTimedQuota(readsQuota)<a name="line.71"></a>
+<span class="sourceLineNo">072</span>        .setType(QuotaProtos.ThrottleType.READ_NUMBER).build();<a name="line.72"></a>
+<span class="sourceLineNo">073</span><a name="line.73"></a>
+<span class="sourceLineNo">074</span>    try {<a name="line.74"></a>
+<span class="sourceLineNo">075</span>      orig.merge(new ThrottleSettings("joe", null, null, readsQuotaReq));<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      fail("A read throttle should not be capable of being merged with a request quota");<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    } catch (IllegalArgumentException e) {<a name="line.77"></a>
+<span class="sourceLineNo">078</span>      // Pass<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>  @Test<a name="line.82"></a>
+<span class="sourceLineNo">083</span>  public void testNoThrottleReturnsOriginal() throws IOException {<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    TimedQuota tq1 = TimedQuota.newBuilder().setSoftLimit(10)<a name="line.84"></a>
+<span class="sourceLineNo">085</span>        .setScope(QuotaProtos.QuotaScope.MACHINE)<a name="line.85"></a>
+<span class="sourceLineNo">086</span>        .setTimeUnit(HBaseProtos.TimeUnit.MINUTES).build();<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    ThrottleRequest tr1 = ThrottleRequest.newBuilder().setTimedQuota(tq1)<a name="line.87"></a>
+<span class="sourceLineNo">088</span>        .setType(QuotaProtos.ThrottleType.REQUEST_NUMBER).build();<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    ThrottleSettings orig = new ThrottleSettings("joe", null, null, tr1);<a name="line.89"></a>
+<span class="sourceLineNo">090</span><a name="line.90"></a>
+<span class="sourceLineNo">091</span>    ThrottleRequest tr2 = ThrottleRequest.newBuilder()<a name="line.91"></a>
+<span class="sourceLineNo">092</span>        .setType(QuotaProtos.ThrottleType.REQUEST_NUMBER).build();<a name="line.92"></a>
+<span class="sourceLineNo">093</span><a name="line.93"></a>
+<span class="sourceLineNo">094</span>    assertTrue(<a name="line.94"></a>
+<span class="sourceLineNo">095</span>        "The same object should be returned by merge, but it wasn't",<a name="line.95"></a>
+<span class="sourceLineNo">096</span>        orig == orig.merge(new ThrottleSettings("joe", null, null, tr2)));<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>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html
index f6e5737..7c465b8 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html
@@ -25,341 +25,370 @@
 <span class="sourceLineNo">017</span> */<a name="line.17"></a>
 <span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.quotas;<a name="line.18"></a>
 <span class="sourceLineNo">019</span><a name="line.19"></a>
-<span class="sourceLineNo">020</span>import java.util.ArrayList;<a name="line.20"></a>
-<span class="sourceLineNo">021</span>import java.util.List;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.util.concurrent.TimeUnit;<a name="line.22"></a>
-<span class="sourceLineNo">023</span><a name="line.23"></a>
-<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.TableName;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota;<a name="line.30"></a>
-<span class="sourceLineNo">031</span><a name="line.31"></a>
-<span class="sourceLineNo">032</span>@InterfaceAudience.Public<a name="line.32"></a>
-<span class="sourceLineNo">033</span>public class QuotaSettingsFactory {<a name="line.33"></a>
-<span class="sourceLineNo">034</span>  static class QuotaGlobalsSettingsBypass extends QuotaSettings {<a name="line.34"></a>
-<span class="sourceLineNo">035</span>    private final boolean bypassGlobals;<a name="line.35"></a>
-<span class="sourceLineNo">036</span><a name="line.36"></a>
-<span class="sourceLineNo">037</span>    QuotaGlobalsSettingsBypass(final String userName, final TableName tableName,<a name="line.37"></a>
-<span class="sourceLineNo">038</span>      final String namespace, final boolean bypassGlobals) {<a name="line.38"></a>
-<span class="sourceLineNo">039</span>      super(userName, tableName, namespace);<a name="line.39"></a>
-<span class="sourceLineNo">040</span>      this.bypassGlobals = bypassGlobals;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>    }<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span>    @Override<a name="line.43"></a>
-<span class="sourceLineNo">044</span>    public QuotaType getQuotaType() {<a name="line.44"></a>
-<span class="sourceLineNo">045</span>      return QuotaType.GLOBAL_BYPASS;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>    }<a name="line.46"></a>
-<span class="sourceLineNo">047</span><a name="line.47"></a>
-<span class="sourceLineNo">048</span>    @Override<a name="line.48"></a>
-<span class="sourceLineNo">049</span>    protected void setupSetQuotaRequest(SetQuotaRequest.Builder builder) {<a name="line.49"></a>
-<span class="sourceLineNo">050</span>      builder.setBypassGlobals(bypassGlobals);<a name="line.50"></a>
-<span class="sourceLineNo">051</span>    }<a name="line.51"></a>
-<span class="sourceLineNo">052</span><a name="line.52"></a>
-<span class="sourceLineNo">053</span>    @Override<a name="line.53"></a>
-<span class="sourceLineNo">054</span>    public String toString() {<a name="line.54"></a>
-<span class="sourceLineNo">055</span>      return "GLOBAL_BYPASS =&gt; " + bypassGlobals;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>    }<a name="line.56"></a>
-<span class="sourceLineNo">057</span>  }<a name="line.57"></a>
-<span class="sourceLineNo">058</span><a name="line.58"></a>
-<span class="sourceLineNo">059</span>  /* ==========================================================================<a name="line.59"></a>
-<span class="sourceLineNo">060</span>   *  QuotaSettings from the Quotas object<a name="line.60"></a>
-<span class="sourceLineNo">061</span>   */<a name="line.61"></a>
-<span class="sourceLineNo">062</span>  static List&lt;QuotaSettings&gt; fromUserQuotas(final String userName, final Quotas quotas) {<a name="line.62"></a>
-<span class="sourceLineNo">063</span>    return fromQuotas(userName, null, null, quotas);<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>  static List&lt;QuotaSettings&gt; fromUserQuotas(final String userName, final TableName tableName,<a name="line.66"></a>
-<span class="sourceLineNo">067</span>      final Quotas quotas) {<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    return fromQuotas(userName, tableName, null, quotas);<a name="line.68"></a>
-<span class="sourceLineNo">069</span>  }<a name="line.69"></a>
+<span class="sourceLineNo">020</span>import java.io.IOException;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import java.util.ArrayList;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.util.List;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.util.concurrent.TimeUnit;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.TableName;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.26"></a>
+<span class="sourceLineNo">027</span><a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota;<a name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>@InterfaceAudience.Public<a name="line.34"></a>
+<span class="sourceLineNo">035</span>public class QuotaSettingsFactory {<a name="line.35"></a>
+<span class="sourceLineNo">036</span>  static class QuotaGlobalsSettingsBypass extends QuotaSettings {<a name="line.36"></a>
+<span class="sourceLineNo">037</span>    private final boolean bypassGlobals;<a name="line.37"></a>
+<span class="sourceLineNo">038</span><a name="line.38"></a>
+<span class="sourceLineNo">039</span>    QuotaGlobalsSettingsBypass(final String userName, final TableName tableName,<a name="line.39"></a>
+<span class="sourceLineNo">040</span>      final String namespace, final boolean bypassGlobals) {<a name="line.40"></a>
+<span class="sourceLineNo">041</span>      super(userName, tableName, namespace);<a name="line.41"></a>
+<span class="sourceLineNo">042</span>      this.bypassGlobals = bypassGlobals;<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>    @Override<a name="line.45"></a>
+<span class="sourceLineNo">046</span>    public QuotaType getQuotaType() {<a name="line.46"></a>
+<span class="sourceLineNo">047</span>      return QuotaType.GLOBAL_BYPASS;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>    }<a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span>    @Override<a name="line.50"></a>
+<span class="sourceLineNo">051</span>    protected void setupSetQuotaRequest(SetQuotaRequest.Builder builder) {<a name="line.51"></a>
+<span class="sourceLineNo">052</span>      builder.setBypassGlobals(bypassGlobals);<a name="line.52"></a>
+<span class="sourceLineNo">053</span>    }<a name="line.53"></a>
+<span class="sourceLineNo">054</span><a name="line.54"></a>
+<span class="sourceLineNo">055</span>    @Override<a name="line.55"></a>
+<span class="sourceLineNo">056</span>    public String toString() {<a name="line.56"></a>
+<span class="sourceLineNo">057</span>      return "GLOBAL_BYPASS =&gt; " + bypassGlobals;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    }<a name="line.58"></a>
+<span class="sourceLineNo">059</span><a name="line.59"></a>
+<span class="sourceLineNo">060</span>    protected boolean getBypass() {<a name="line.60"></a>
+<span class="sourceLineNo">061</span>      return bypassGlobals;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>    }<a name="line.62"></a>
+<span class="sourceLineNo">063</span><a name="line.63"></a>
+<span class="sourceLineNo">064</span>    @Override<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    protected QuotaGlobalsSettingsBypass merge(QuotaSettings newSettings) throws IOException {<a name="line.65"></a>
+<span class="sourceLineNo">066</span>      if (newSettings instanceof QuotaGlobalsSettingsBypass) {<a name="line.66"></a>
+<span class="sourceLineNo">067</span>        QuotaGlobalsSettingsBypass other = (QuotaGlobalsSettingsBypass) newSettings;<a name="line.67"></a>
+<span class="sourceLineNo">068</span><a name="line.68"></a>
+<span class="sourceLineNo">069</span>        validateQuotaTarget(other);<a name="line.69"></a>
 <span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span>  static List&lt;QuotaSettings&gt; fromUserQuotas(final String userName, final String namespace,<a name="line.71"></a>
-<span class="sourceLineNo">072</span>      final Quotas quotas) {<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    return fromQuotas(userName, null, namespace, quotas);<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>  static List&lt;QuotaSettings&gt; fromTableQuotas(final TableName tableName, final Quotas quotas) {<a name="line.76"></a>
-<span class="sourceLineNo">077</span>    return fromQuotas(null, tableName, null, quotas);<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>  static List&lt;QuotaSettings&gt; fromNamespaceQuotas(final String namespace, final Quotas quotas) {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    return fromQuotas(null, null, namespace, quotas);<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>  private static List&lt;QuotaSettings&gt; fromQuotas(final String userName, final TableName tableName,<a name="line.84"></a>
-<span class="sourceLineNo">085</span>      final String namespace, final Quotas quotas) {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    List&lt;QuotaSettings&gt; settings = new ArrayList&lt;&gt;();<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    if (quotas.hasThrottle()) {<a name="line.87"></a>
-<span class="sourceLineNo">088</span>      settings.addAll(fromThrottle(userName, tableName, namespace, quotas.getThrottle()));<a name="line.88"></a>
-<span class="sourceLineNo">089</span>    }<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    if (quotas.getBypassGlobals() == true) {<a name="line.90"></a>
-<span class="sourceLineNo">091</span>      settings.add(new QuotaGlobalsSettingsBypass(userName, tableName, namespace, true));<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    }<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    if (quotas.hasSpace()) {<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      settings.add(fromSpace(tableName, namespace, quotas.getSpace()));<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    }<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    return settings;<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>  private static List&lt;QuotaSettings&gt; fromThrottle(final String userName, final TableName tableName,<a name="line.99"></a>
-<span class="sourceLineNo">100</span>      final String namespace, final QuotaProtos.Throttle throttle) {<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    List&lt;QuotaSettings&gt; settings = new ArrayList&lt;&gt;();<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    if (throttle.hasReqNum()) {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.103"></a>
-<span class="sourceLineNo">104</span>          ThrottleType.REQUEST_NUMBER, throttle.getReqNum()));<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    }<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    if (throttle.hasReqSize()) {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.107"></a>
-<span class="sourceLineNo">108</span>          ThrottleType.REQUEST_SIZE, throttle.getReqSize()));<a name="line.108"></a>
+<span class="sourceLineNo">071</span>        if (getBypass() != other.getBypass()) {<a name="line.71"></a>
+<span class="sourceLineNo">072</span>          return other;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>        }<a name="line.73"></a>
+<span class="sourceLineNo">074</span>      }<a name="line.74"></a>
+<span class="sourceLineNo">075</span>      return this;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    }<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  }<a name="line.77"></a>
+<span class="sourceLineNo">078</span><a name="line.78"></a>
+<span class="sourceLineNo">079</span>  /* ==========================================================================<a name="line.79"></a>
+<span class="sourceLineNo">080</span>   *  QuotaSettings from the Quotas object<a name="line.80"></a>
+<span class="sourceLineNo">081</span>   */<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  static List&lt;QuotaSettings&gt; fromUserQuotas(final String userName, final Quotas quotas) {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    return fromQuotas(userName, null, null, quotas);<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  }<a name="line.84"></a>
+<span class="sourceLineNo">085</span><a name="line.85"></a>
+<span class="sourceLineNo">086</span>  static List&lt;QuotaSettings&gt; fromUserQuotas(final String userName, final TableName tableName,<a name="line.86"></a>
+<span class="sourceLineNo">087</span>      final Quotas quotas) {<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    return fromQuotas(userName, tableName, null, quotas);<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>  static List&lt;QuotaSettings&gt; fromUserQuotas(final String userName, final String namespace,<a name="line.91"></a>
+<span class="sourceLineNo">092</span>      final Quotas quotas) {<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    return fromQuotas(userName, null, namespace, quotas);<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>  static List&lt;QuotaSettings&gt; fromTableQuotas(final TableName tableName, final Quotas quotas) {<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    return fromQuotas(null, tableName, null, quotas);<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>  static List&lt;QuotaSettings&gt; fromNamespaceQuotas(final String namespace, final Quotas quotas) {<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    return fromQuotas(null, null, namespace, quotas);<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  }<a name="line.102"></a>
+<span class="sourceLineNo">103</span><a name="line.103"></a>
+<span class="sourceLineNo">104</span>  private static List&lt;QuotaSettings&gt; fromQuotas(final String userName, final TableName tableName,<a name="line.104"></a>
+<span class="sourceLineNo">105</span>      final String namespace, final Quotas quotas) {<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    List&lt;QuotaSettings&gt; settings = new ArrayList&lt;&gt;();<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    if (quotas.hasThrottle()) {<a name="line.107"></a>
+<span class="sourceLineNo">108</span>      settings.addAll(fromThrottle(userName, tableName, namespace, quotas.getThrottle()));<a name="line.108"></a>
 <span class="sourceLineNo">109</span>    }<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    if (throttle.hasWriteNum()) {<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.111"></a>
-<span class="sourceLineNo">112</span>          ThrottleType.WRITE_NUMBER, throttle.getWriteNum()));<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    }<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    if (throttle.hasWriteSize()) {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.115"></a>
-<span class="sourceLineNo">116</span>          ThrottleType.WRITE_SIZE, throttle.getWriteSize()));<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    }<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    if (throttle.hasReadNum()) {<a name="line.118"></a>
-<span class="sourceLineNo">119</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.119"></a>
-<span class="sourceLineNo">120</span>          ThrottleType.READ_NUMBER, throttle.getReadNum()));<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    if (throttle.hasReadSize()) {<a name="line.122"></a>
+<span class="sourceLineNo">110</span>    if (quotas.getBypassGlobals() == true) {<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      settings.add(new QuotaGlobalsSettingsBypass(userName, tableName, namespace, true));<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    }<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    if (quotas.hasSpace()) {<a name="line.113"></a>
+<span class="sourceLineNo">114</span>      settings.add(fromSpace(tableName, namespace, quotas.getSpace()));<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    }<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    return settings;<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>  private static List&lt;QuotaSettings&gt; fromThrottle(final String userName, final TableName tableName,<a name="line.119"></a>
+<span class="sourceLineNo">120</span>      final String namespace, final QuotaProtos.Throttle throttle) {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    List&lt;QuotaSettings&gt; settings = new ArrayList&lt;&gt;();<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    if (throttle.hasReqNum()) {<a name="line.122"></a>
 <span class="sourceLineNo">123</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.123"></a>
-<span class="sourceLineNo">124</span>          ThrottleType.READ_SIZE, throttle.getReadSize()));<a name="line.124"></a>
+<span class="sourceLineNo">124</span>          ThrottleType.REQUEST_NUMBER, throttle.getReqNum()));<a name="line.124"></a>
 <span class="sourceLineNo">125</span>    }<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    return settings;<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>  static QuotaSettings fromSpace(TableName table, String namespace, SpaceQuota protoQuota) {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    if ((table == null &amp;&amp; namespace == null) || (table != null &amp;&amp; namespace != null)) {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>      throw new IllegalArgumentException(<a name="line.131"></a>
-<span class="sourceLineNo">132</span>          "Can only construct SpaceLimitSettings for a table or namespace.");<a name="line.132"></a>
+<span class="sourceLineNo">126</span>    if (throttle.hasReqSize()) {<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.127"></a>
+<span class="sourceLineNo">128</span>          ThrottleType.REQUEST_SIZE, throttle.getReqSize()));<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    }<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    if (throttle.hasWriteNum()) {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.131"></a>
+<span class="sourceLineNo">132</span>          ThrottleType.WRITE_NUMBER, throttle.getWriteNum()));<a name="line.132"></a>
 <span class="sourceLineNo">133</span>    }<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    if (table != null) {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      return SpaceLimitSettings.fromSpaceQuota(table, protoQuota);<a name="line.135"></a>
-<span class="sourceLineNo">136</span>    } else {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      // namespace must be non-null<a name="line.137"></a>
-<span class="sourceLineNo">138</span>      return SpaceLimitSettings.fromSpaceQuota(namespace, protoQuota);<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    }<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  }<a name="line.140"></a>
-<span class="sourceLineNo">141</span><a name="line.141"></a>
-<span class="sourceLineNo">142</span>  /* ==========================================================================<a name="line.142"></a>
-<span class="sourceLineNo">143</span>   *  RPC Throttle<a name="line.143"></a>
-<span class="sourceLineNo">144</span>   */<a name="line.144"></a>
-<span class="sourceLineNo">145</span><a name="line.145"></a>
-<span class="sourceLineNo">146</span>  /**<a name="line.146"></a>
-<span class="sourceLineNo">147</span>   * Throttle the specified user.<a name="line.147"></a>
-<span class="sourceLineNo">148</span>   *<a name="line.148"></a>
-<span class="sourceLineNo">149</span>   * @param userName the user to throttle<a name="line.149"></a>
-<span class="sourceLineNo">150</span>   * @param type the type of throttling<a name="line.150"></a>
-<span class="sourceLineNo">151</span>   * @param limit the allowed number of request/data per timeUnit<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   * @param timeUnit the limit time unit<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * @return the quota settings<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   */<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  public static QuotaSettings throttleUser(final String userName, final ThrottleType type,<a name="line.155"></a>
-<span class="sourceLineNo">156</span>      final long limit, final TimeUnit timeUnit) {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    return throttle(userName, null, null, type, limit, timeUnit);<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>   * Throttle the specified user on the specified table.<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   *<a name="line.162"></a>
-<span class="sourceLineNo">163</span>   * @param userName the user to throttle<a name="line.163"></a>
-<span class="sourceLineNo">164</span>   * @param tableName the table to throttle<a name="line.164"></a>
-<span class="sourceLineNo">165</span>   * @param type the type of throttling<a name="line.165"></a>
-<span class="sourceLineNo">166</span>   * @param limit the allowed number of request/data per timeUnit<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   * @param timeUnit the limit time unit<a name="line.167"></a>
-<span class="sourceLineNo">168</span>   * @return the quota settings<a name="line.168"></a>
-<span class="sourceLineNo">169</span>   */<a name="line.169"></a>
-<span class="sourceLineNo">170</span>  public static QuotaSettings throttleUser(final String userName, final TableName tableName,<a name="line.170"></a>
-<span class="sourceLineNo">171</span>      final ThrottleType type, final long limit, final TimeUnit timeUnit) {<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    return throttle(userName, tableName, null, type, limit, timeUnit);<a name="line.172"></a>
-<span class="sourceLineNo">173</span>  }<a name="line.173"></a>
+<span class="sourceLineNo">134</span>    if (throttle.hasWriteSize()) {<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.135"></a>
+<span class="sourceLineNo">136</span>          ThrottleType.WRITE_SIZE, throttle.getWriteSize()));<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    }<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    if (throttle.hasReadNum()) {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.139"></a>
+<span class="sourceLineNo">140</span>          ThrottleType.READ_NUMBER, throttle.getReadNum()));<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    }<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    if (throttle.hasReadSize()) {<a name="line.142"></a>
+<span class="sourceLineNo">143</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.143"></a>
+<span class="sourceLineNo">144</span>          ThrottleType.READ_SIZE, throttle.getReadSize()));<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    }<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    return settings;<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>  static QuotaSettings fromSpace(TableName table, String namespace, SpaceQuota protoQuota) {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    if (protoQuota == null) {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      return null;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    }<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    if ((table == null &amp;&amp; namespace == null) || (table != null &amp;&amp; namespace != null)) {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>      throw new IllegalArgumentException(<a name="line.154"></a>
+<span class="sourceLineNo">155</span>          "Can only construct SpaceLimitSettings for a table or namespace.");<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    }<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    if (table != null) {<a name="line.157"></a>
+<span class="sourceLineNo">158</span>      if (protoQuota.getRemove()) {<a name="line.158"></a>
+<span class="sourceLineNo">159</span>        return new SpaceLimitSettings(table);<a name="line.159"></a>
+<span class="sourceLineNo">160</span>      }<a name="line.160"></a>
+<span class="sourceLineNo">161</span>      return SpaceLimitSettings.fromSpaceQuota(table, protoQuota);<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    } else {<a name="line.162"></a>
+<span class="sourceLineNo">163</span>      if (protoQuota.getRemove()) {<a name="line.163"></a>
+<span class="sourceLineNo">164</span>        return new SpaceLimitSettings(namespace);<a name="line.164"></a>
+<span class="sourceLineNo">165</span>      }<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      // namespace must be non-null<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      return SpaceLimitSettings.fromSpaceQuota(namespace, protoQuota);<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    }<a name="line.168"></a>
+<span class="sourceLineNo">169</span>  }<a name="line.169"></a>
+<span class="sourceLineNo">170</span><a name="line.170"></a>
+<span class="sourceLineNo">171</span>  /* ==========================================================================<a name="line.171"></a>
+<span class="sourceLineNo">172</span>   *  RPC Throttle<a name="line.172"></a>
+<span class="sourceLineNo">173</span>   */<a name="line.173"></a>
 <span class="sourceLineNo">174</span><a name="line.174"></a>
 <span class="sourceLineNo">175</span>  /**<a name="line.175"></a>
-<span class="sourceLineNo">176</span>   * Throttle the specified user on the specified namespace.<a name="line.176"></a>
+<span class="sourceLineNo">176</span>   * Throttle the specified user.<a name="line.176"></a>
 <span class="sourceLineNo">177</span>   *<a name="line.177"></a>
 <span class="sourceLineNo">178</span>   * @param userName the user to throttle<a name="line.178"></a>
-<span class="sourceLineNo">179</span>   * @param namespace the namespace to throttle<a name="line.179"></a>
-<span class="sourceLineNo">180</span>   * @param type the type of throttling<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   * @param limit the allowed number of request/data per timeUnit<a name="line.181"></a>
-<span class="sourceLineNo">182</span>   * @param timeUnit the limit time unit<a name="line.182"></a>
-<span class="sourceLineNo">183</span>   * @return the quota settings<a name="line.183"></a>
-<span class="sourceLineNo">184</span>   */<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  public static QuotaSettings throttleUser(final String userName, final String namespace,<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      final ThrottleType type, final long limit, final TimeUnit timeUnit) {<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    return throttle(userName, null, namespace, type, limit, timeUnit);<a name="line.187"></a>
-<span class="sourceLineNo">188</span>  }<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>  /**<a name="line.190"></a>
-<span class="sourceLineNo">191</span>   * Remove the throttling for the specified user.<a name="line.191"></a>
-<span class="sourceLineNo">192</span>   *<a name="line.192"></a>
-<span class="sourceLineNo">193</span>   * @param userName the user<a name="line.193"></a>
-<span class="sourceLineNo">194</span>   * @return the quota settings<a name="line.194"></a>
-<span class="sourceLineNo">195</span>   */<a name="line.195"></a>
-<span class="sourceLineNo">196</span>  public static QuotaSettings unthrottleUser(final String userName) {<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    return throttle(userName, null, null, null, 0, null);<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  }<a name="line.198"></a>
-<span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>  /**<a name="line.200"></a>
-<span class="sourceLineNo">201</span>   * Remove the throttling for the specified user on the specified table.<a name="line.201"></a>
-<span class="sourceLineNo">202</span>   *<a name="line.202"></a>
-<span class="sourceLineNo">203</span>   * @param userName the user<a name="line.203"></a>
-<span class="sourceLineNo">204</span>   * @param tableName the table<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   * @return the quota settings<a name="line.205"></a>
-<span class="sourceLineNo">206</span>   */<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  public static QuotaSettings unthrottleUser(final String userName, final TableName tableName) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    return throttle(userName, tableName, null, null, 0, null);<a name="line.208"></a>
-<span class="sourceLineNo">209</span>  }<a name="line.209"></a>
-<span class="sourceLineNo">210</span><a name="line.210"></a>
-<span class="sourceLineNo">211</span>  /**<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   * Remove the throttling for the specified user on the specified namespace.<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   *<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   * @param userName the user<a name="line.214"></a>
-<span class="sourceLineNo">215</span>   * @param namespace the namespace<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   * @return the quota settings<a name="line.216"></a>
-<span class="sourceLineNo">217</span>   */<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  public static QuotaSettings unthrottleUser(final String userName, final String namespace) {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    return throttle(userName, null, namespace, null, 0, null);<a name="line.219"></a>
-<span class="sourceLineNo">220</span>  }<a name="line.220"></a>
-<span class="sourceLineNo">221</span><a name="line.221"></a>
-<span class="sourceLineNo">222</span>  /**<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   * Throttle the specified table.<a name="line.223"></a>
-<span class="sourceLineNo">224</span>   *<a name="line.224"></a>
-<span class="sourceLineNo">225</span>   * @param tableName the table to throttle<a name="line.225"></a>
-<span class="sourceLineNo">226</span>   * @param type the type of throttling<a name="line.226"></a>
-<span class="sourceLineNo">227</span>   * @param limit the allowed number of request/data per timeUnit<a name="line.227"></a>
-<span class="sourceLineNo">228</span>   * @param timeUnit the limit time unit<a name="line.228"></a>
-<span class="sourceLineNo">229</span>   * @return the quota settings<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   */<a name="line.230"></a>
-<span class="sourceLineNo">231</span>  public static QuotaSettings throttleTable(final TableName tableName, final ThrottleType type,<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      final long limit, final TimeUnit timeUnit) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    return throttle(null, tableName, null, type, limit, timeUnit);<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>   * Remove the throttling for the specified table.<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   *<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   * @param tableName the table<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * @return the quota settings<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   */<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  public static QuotaSettings unthrottleTable(final TableName tableName) {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    return throttle(null, tableName, null, null, 0, null);<a name="line.243"></a>
-<span class="sourceLineNo">244</span>  }<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span>  /**<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   * Throttle the specified namespace.<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   *<a name="line.248"></a>
-<span class="sourceLineNo">249</span>   * @param namespace the namespace to throttle<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   * @param type the type of throttling<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   * @param limit the allowed number of request/data per timeUnit<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * @param timeUnit the limit time unit<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   * @return the quota settings<a name="line.253"></a>
-<span class="sourceLineNo">254</span>   */<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  public static QuotaSettings throttleNamespace(final String namespace, final ThrottleType type,<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      final long limit, final TimeUnit timeUnit) {<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    return throttle(null, null, namespace, type, limit, timeUnit);<a name="line.257"></a>
-<span class="sourceLineNo">258</span>  }<a name="line.258"></a>
-<span class="sourceLineNo">259</span><a name="line.259"></a>
-<span class="sourceLineNo">260</span>  /**<a name="line.260"></a>
-<span class="sourceLineNo">261</span>   * Remove the throttling for the specified namespace.<a name="line.261"></a>
-<span class="sourceLineNo">262</span>   *<a name="line.262"></a>
-<span class="sourceLineNo">263</span>   * @param namespace the namespace<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   * @return the quota settings<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   */<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  public static QuotaSettings unthrottleNamespace(final String namespace) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    return throttle(null, null, namespace, null, 0, null);<a name="line.267"></a>
-<span class="sourceLineNo">268</span>  }<a name="line.268"></a>
-<span class="sourceLineNo">269</span><a name="line.269"></a>
-<span class="sourceLineNo">270</span>  /* Throttle helper */<a name="line.270"></a>
-<span class="sourceLineNo">271</span>  private static QuotaSettings throttle(final String userName, final TableName tableName,<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      final String namespace, final ThrottleType type, final long limit,<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      final TimeUnit timeUnit) {<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    QuotaProtos.ThrottleRequest.Builder builder = QuotaProtos.ThrottleRequest.newBuilder();<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    if (type != null) {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      builder.setType(ProtobufUtil.toProtoThrottleType(type));<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    }<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    if (timeUnit != null) {<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      builder.setTimedQuota(ProtobufUtil.toTimedQuota(limit, timeUnit, QuotaScope.MACHINE));<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    }<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    return new ThrottleSettings(userName, tableName, namespace, builder.build());<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>   *  Global Settings<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>   * Set the "bypass global settings" for the specified user<a name="line.289"></a>
-<span class="sourceLineNo">290</span>   *<a name="line.290"></a>
-<span class="sourceLineNo">291</span>   * @param userName the user to throttle<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   * @param bypassGlobals true if the global settings should be bypassed<a name="line.292"></a>
+<span class="sourceLineNo">179</span>   * @param type the type of throttling<a name="line.179"></a>
+<span class="sourceLineNo">180</span>   * @param limit the allowed number of request/data per timeUnit<a name="line.180"></a>
+<span class="sourceLineNo">181</span>   * @param timeUnit the limit time unit<a name="line.181"></a>
+<span class="sourceLineNo">182</span>   * @return the quota settings<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   */<a name="line.183"></a>
+<span class="sourceLineNo">184</span>  public static QuotaSettings throttleUser(final String userName, final ThrottleType type,<a name="line.184"></a>
+<span class="sourceLineNo">185</span>      final long limit, final TimeUnit timeUnit) {<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    return throttle(userName, null, null, type, limit, timeUnit);<a name="line.186"></a>
+<span class="sourceLineNo">187</span>  }<a name="line.187"></a>
+<span class="sourceLineNo">188</span><a name="line.188"></a>
+<span class="sourceLineNo">189</span>  /**<a name="line.189"></a>
+<span class="sourceLineNo">190</span>   * Throttle the specified user on the specified table.<a name="line.190"></a>
+<span class="sourceLineNo">191</span>   *<a name="line.191"></a>
+<span class="sourceLineNo">192</span>   * @param userName the user to throttle<a name="line.192"></a>
+<span class="sourceLineNo">193</span>   * @param tableName the table to throttle<a name="line.193"></a>
+<span class="sourceLineNo">194</span>   * @param type the type of throttling<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   * @param limit the allowed number of request/data per timeUnit<a name="line.195"></a>
+<span class="sourceLineNo">196</span>   * @param timeUnit the limit time unit<a name="line.196"></a>
+<span class="sourceLineNo">197</span>   * @return the quota settings<a name="line.197"></a>
+<span class="sourceLineNo">198</span>   */<a name="line.198"></a>
+<span class="sourceLineNo">199</span>  public static QuotaSettings throttleUser(final String userName, final TableName tableName,<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      final ThrottleType type, final long limit, final TimeUnit timeUnit) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    return throttle(userName, tableName, null, type, limit, timeUnit);<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>   * Throttle the specified user on the specified namespace.<a name="line.205"></a>
+<span class="sourceLineNo">206</span>   *<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   * @param userName the user to throttle<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   * @param namespace the namespace to throttle<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   * @param type the type of throttling<a name="line.209"></a>
+<span class="sourceLineNo">210</span>   * @param limit the allowed number of request/data per timeUnit<a name="line.210"></a>
+<span class="sourceLineNo">211</span>   * @param timeUnit the limit time unit<a name="line.211"></a>
+<span class="sourceLineNo">212</span>   * @return the quota settings<a name="line.212"></a>
+<span class="sourceLineNo">213</span>   */<a name="line.213"></a>
+<span class="sourceLineNo">214</span>  public static QuotaSettings throttleUser(final String userName, final String namespace,<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      final ThrottleType type, final long limit, final TimeUnit timeUnit) {<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    return throttle(userName, null, namespace, type, limit, timeUnit);<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>   * Remove the throttling for the specified user.<a name="line.220"></a>
+<span class="sourceLineNo">221</span>   *<a name="line.221"></a>
+<span class="sourceLineNo">222</span>   * @param userName the user<a name="line.222"></a>
+<span class="sourceLineNo">223</span>   * @return the quota settings<a name="line.223"></a>
+<span class="sourceLineNo">224</span>   */<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  public static QuotaSettings unthrottleUser(final String userName) {<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    return throttle(userName, null, null, null, 0, null);<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>   * Remove the throttling for the specified user on the specified table.<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   *<a name="line.231"></a>
+<span class="sourceLineNo">232</span>   * @param userName the user<a name="line.232"></a>
+<span class="sourceLineNo">233</span>   * @param tableName the table<a name="line.233"></a>
+<span class="sourceLineNo">234</span>   * @return the quota settings<a name="line.234"></a>
+<span class="sourceLineNo">235</span>   */<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  public static QuotaSettings unthrottleUser(final String userName, final TableName tableName) {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    return throttle(userName, tableName, null, null, 0, null);<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>   * Remove the throttling for the specified user on the specified namespace.<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   *<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * @param userName the user<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   * @param namespace the namespace<a name="line.244"></a>
+<span class="sourceLineNo">245</span>   * @return the quota settings<a name="line.245"></a>
+<span class="sourceLineNo">246</span>   */<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  public static QuotaSettings unthrottleUser(final String userName, final String namespace) {<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    return throttle(userName, null, namespace, null, 0, null);<a name="line.248"></a>
+<span class="sourceLineNo">249</span>  }<a name="line.249"></a>
+<span class="sourceLineNo">250</span><a name="line.250"></a>
+<span class="sourceLineNo">251</span>  /**<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   * Throttle the specified table.<a name="line.252"></a>
+<span class="sourceLineNo">253</span>   *<a name="line.253"></a>
+<span class="sourceLineNo">254</span>   * @param tableName the table to throttle<a name="line.254"></a>
+<span class="sourceLineNo">255</span>   * @param type the type of throttling<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   * @param limit the allowed number of request/data per timeUnit<a name="line.256"></a>
+<span class="sourceLineNo">257</span>   * @param timeUnit the limit time unit<a name="line.257"></a>
+<span class="sourceLineNo">258</span>   * @return the quota settings<a name="line.258"></a>
+<span class="sourceLineNo">259</span>   */<a name="line.259"></a>
+<span class="sourceLineNo">260</span>  public static QuotaSettings throttleTable(final TableName tableName, final ThrottleType type,<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      final long limit, final TimeUnit timeUnit) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span>    return throttle(null, tableName, null, type, limit, timeUnit);<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  }<a name="line.263"></a>
+<span class="sourceLineNo">264</span><a name="line.264"></a>
+<span class="sourceLineNo">265</span>  /**<a name="line.265"></a>
+<span class="sourceLineNo">266</span>   * Remove the throttling for the specified table.<a name="line.266"></a>
+<span class="sourceLineNo">267</span>   *<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   * @param tableName the table<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   * @return the quota settings<a name="line.269"></a>
+<span class="sourceLineNo">270</span>   */<a name="line.270"></a>
+<span class="sourceLineNo">271</span>  public static QuotaSettings unthrottleTable(final TableName tableName) {<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    return throttle(null, tableName, null, null, 0, null);<a name="line.272"></a>
+<span class="sourceLineNo">273</span>  }<a name="line.273"></a>
+<span class="sourceLineNo">274</span><a name="line.274"></a>
+<span class="sourceLineNo">275</span>  /**<a name="line.275"></a>
+<span class="sourceLineNo">276</span>   * Throttle the specified namespace.<a name="line.276"></a>
+<span class="sourceLineNo">277</span>   *<a name="line.277"></a>
+<span class="sourceLineNo">278</span>   * @param namespace the namespace to throttle<a name="line.278"></a>
+<span class="sourceLineNo">279</span>   * @param type the type of throttling<a name="line.279"></a>
+<span class="sourceLineNo">280</span>   * @param limit the allowed number of request/data per timeUnit<a name="line.280"></a>
+<span class="sourceLineNo">281</span>   * @param timeUnit the limit time unit<a name="line.281"></a>
+<span class="sourceLineNo">282</span>   * @return the quota settings<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   */<a name="line.283"></a>
+<span class="sourceLineNo">284</span>  public static QuotaSettings throttleNamespace(final String namespace, final ThrottleType type,<a name="line.284"></a>
+<span class="sourceLineNo">285</span>      final long limit, final TimeUnit timeUnit) {<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    return throttle(null, null, namespace, type, limit, timeUnit);<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 the throttling for the specified namespace.<a name="line.290"></a>
+<span class="sourceLineNo">291</span>   *<a name="line.291"></a>
+<span class="sourceLineNo">292</span>   * @param namespace the namespace<a name="line.292"></a>
 <span class="sourceLineNo">293</span>   * @return the quota settings<a name="line.293"></a>
 <span class="sourceLineNo">294</span>   */<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  public static QuotaSettings bypassGlobals(final String userName, final boolean bypassGlobals) {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    return new QuotaGlobalsSettingsBypass(userName, null, null, bypassGlobals);<a name="line.296"></a>
+<span class="sourceLineNo">295</span>  public static QuotaSettings unthrottleNamespace(final String namespace) {<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    return throttle(null, null, namespace, null, 0, null);<a name="line.296"></a>
 <span class="sourceLineNo">297</span>  }<a name="line.297"></a>
 <span class="sourceLineNo">298</span><a name="line.298"></a>
-<span class="sourceLineNo">299</span>  /* ==========================================================================<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   *  FileSystem Space Settings<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   */<a name="line.301"></a>
-<span class="sourceLineNo">302</span><a name="line.302"></a>
-<span class="sourceLineNo">303</span>  /**<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   * Creates a {@link QuotaSettings} object to limit the FileSystem space usage for the given table<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   * to the given size in bytes. When the space usage is exceeded by the table, the provided<a name="line.305"></a>
-<span class="sourceLineNo">306</span>   * {@link SpaceViolationPolicy} is enacted on the table.<a name="line.306"></a>
-<span class="sourceLineNo">307</span>   *<a name="line.307"></a>
-<span class="sourceLineNo">308</span>   * @param tableName The name of the table on which the quota should be applied.<a name="line.308"></a>
-<span class="sourceLineNo">309</span>   * @param sizeLimit The limit of a table's size in bytes.<a name="line.309"></a>
-<span class="sourceLineNo">310</span>   * @param violationPolicy The action to take when the quota is exceeded.<a name="line.310"></a>
-<span class="sourceLineNo">311</span>   * @return An {@link QuotaSettings} object.<a name="line.311"></a>
-<span class="sourceLineNo">312</span>   */<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  public static QuotaSettings limitTableSpace(<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      final TableName tableName, long sizeLimit, final SpaceViolationPolicy violationPolicy) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    return new SpaceLimitSettings(tableName, sizeLimit, violationPolicy);<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>   * Creates a {@link QuotaSettings} object to remove the FileSystem space quota for the given<a name="line.319"></a>
-<span class="sourceLineNo">320</span>   * table.<a name="line.320"></a>
-<span class="sourceLineNo">321</span>   *<a name="line.321"></a>
-<span class="sourceLineNo">322</span>   * @param tableName The name of the table to remove the quota for.<a name="line.322"></a>
-<span class="sourceLineNo">323</span>   * @return A {@link QuotaSettings} object.<a name="line.323"></a>
-<span class="sourceLineNo">324</span>   */<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  public static QuotaSettings removeTableSpaceLimit(TableName tableName) {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    return new SpaceLimitSettings(tableName);<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  }<a name="line.327"></a>
-<span class="sourceLineNo">328</span><a name="line.328"></a>
-<span class="sourceLineNo">329</span>  /**<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * Creates a {@link QuotaSettings} object to limit the FileSystem space usage for the given<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   * namespace to the given size in bytes. When the space usage is exceeded by all tables in the<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   * namespace, the provided {@link SpaceViolationPolicy} is enacted on all tables in the namespace.<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   *<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * @param namespace The namespace on which the quota should be applied.<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * @param sizeLimit The limit of the namespace's size in bytes.<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * @param violationPolicy The action to take when the the quota is exceeded.<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   * @return An {@link QuotaSettings} object.<a name="line.337"></a>
-<span class="sourceLineNo">338</span>   */<a name="line.338"></a>
-<span class="sourceLineNo">339</span>  public static QuotaSettings limitNamespaceSpace(<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      final String namespace, long sizeLimit, final SpaceViolationPolicy violationPolicy) {<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    return new SpaceLimitSettings(namespace, sizeLimit, violationPolicy);<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>   * Creates a {@link QuotaSettings} object to remove the FileSystem space quota for the given<a name="line.345"></a>
-<span class="sourceLineNo">346</span>   * namespace.<a name="line.346"></a>
-<span class="sourceLineNo">347</span>   *<a name="line.347"></a>
-<span class="sourceLineNo">348</span>   * @param namespace The namespace to remove the quota on.<a name="line.348"></a>
-<span class="sourceLineNo">349</span>   * @return A {@link QuotaSettings} object.<a name="line.349"></a>
-<span class="sourceLineNo">350</span>   */<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  public static QuotaSettings removeNamespaceSpaceLimit(String namespace) {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    return new SpaceLimitSettings(namespace);<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">299</span>  /* Throttle helper */<a name="line.299"></a>
+<span class="sourceLineNo">300</span>  private static QuotaSettings throttle(final String userName, final TableName tableName,<a name="line.300"></a>
+<span class="sourceLineNo">301</span>      final String namespace, final ThrottleType type, final long limit,<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      final TimeUnit timeUnit) {<a name="line.302"></a>
+<span class="sourceLineNo">303</span>    QuotaProtos.ThrottleRequest.Builder builder = QuotaProtos.ThrottleRequest.newBuilder();<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    if (type != null) {<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      builder.setType(ProtobufUtil.toProtoThrottleType(type));<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    }<a name="line.306"></a>
+<span class="sourceLineNo">307</span>    if (timeUnit != null) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span>      builder.setTimedQuota(ProtobufUtil.toTimedQuota(limit, timeUnit, QuotaScope.MACHINE));<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    }<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    return new ThrottleSettings(userName, tableName, namespace, builder.build());<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  }<a name="line.311"></a>
+<span class="sourceLineNo">312</span><a name="line.312"></a>
+<span class="sourceLineNo">313</span>  /* ==========================================================================<a name="line.313"></a>
+<span class="sourceLineNo">314</span>   *  Global Settings<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>   * Set the "bypass global settings" for the specified user<a name="line.318"></a>
+<span class="sourceLineNo">319</span>   *<a name="line.319"></a>
+<span class="sourceLineNo">320</span>   * @param userName the user to throttle<a name="line.320"></a>
+<span class="sourceLineNo">321</span>   * @param bypassGlobals true if the global settings should be bypassed<a name="line.321"></a>
+<span class="sourceLineNo">322</span>   * @return the quota settings<a name="line.322"></a>
+<span class="sourceLineNo">323</span>   */<a name="line.323"></a>
+<span class="sourceLineNo">324</span>  public static QuotaSettings bypassGlobals(final String userName, final boolean bypassGlobals) {<a name="line.324"></a>
+<span class="sourceLineNo">325</span>    return new QuotaGlobalsSettingsBypass(userName, null, null, bypassGlobals);<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>   *  FileSystem Space Settings<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>   * Creates a {@link QuotaSettings} object to limit the FileSystem space usage for the given table<a name="line.333"></a>
+<span class="sourceLineNo">334</span>   * to the given size in bytes. When the space usage is exceeded by the table, the provided<a name="line.334"></a>
+<span class="sourceLineNo">335</span>   * {@link SpaceViolationPolicy} is enacted on the table.<a name="line.335"></a>
+<span class="sourceLineNo">336</span>   *<a name="line.336"></a>
+<span class="sourceLineNo">337</span>   * @param tableName The name of the table on which the quota should be applied.<a name="line.337"></a>
+<span class="sourceLineNo">338</span>   * @param sizeLimit The limit of a table's size in bytes.<a name="line.338"></a>
+<span class="sourceLineNo">339</span>   * @param violationPolicy The action to take when the quota is exceeded.<a name="line.339"></a>
+<span class="sourceLineNo">340</span>   * @return An {@link QuotaSettings} object.<a name="line.340"></a>
+<span class="sourceLineNo">341</span>   */<a name="line.341"></a>
+<span class="sourceLineNo">342</span>  public static QuotaSettings limitTableSpace(<a name="line.342"></a>
+<span class="sourceLineNo">343</span>      final TableName tableName, long sizeLimit, final SpaceViolationPolicy violationPolicy) {<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    return new SpaceLimitSettings(tableName, sizeLimit, violationPolicy);<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>   * Creates a {@link QuotaSettings} object to remove the FileSystem space quota for the given<a name="line.348"></a>
+<span class="sourceLineNo">349</span>   * table.<a name="line.349"></a>
+<span class="sourceLineNo">350</span>   *<a name="line.350"></a>
+<span class="sourceLineNo">351</span>   * @param tableName The name of the table to remove the quota for.<a name="line.351"></a>
+<span class="sourceLineNo">352</span>   * @return A {@link QuotaSettings} object.<a name="line.352"></a>
+<span class="sourceLineNo">353</span>   */<a name="line.353"></a>
+<span class="sourceLineNo">354</span>  public static QuotaSettings removeTableSpaceLimit(TableName tableName) {<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    return new SpaceLimitSettings(tableName);<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>   * Creates a {@link QuotaSettings} object to limit the FileSystem space usage for the given<a name="line.359"></a>
+<span class="sourceLineNo">360</span>   * namespace to the given size in bytes. When the space usage is exceeded by all tables in the<a name="line.360"></a>
+<span class="sourceLineNo">361</span>   * namespace, the provided {@link SpaceViolationPolicy} is enacted on all tables in the namespace.<a name="line.361"></a>
+<span class="sourceLineNo">362</span>   *<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   * @param namespace The namespace on which the quota should be applied.<a name="line.363"></a>
+<span class="sourceLineNo">364</span>   * @param sizeLimit The limit of the namespace's size in bytes.<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   * @param violationPolicy The action to take when the the quota is exceeded.<a name="line.365"></a>
+<span class="sourceLineNo">366</span>   * @return An {@link QuotaSettings} object.<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   */<a name="line.367"></a>
+<span class="sourceLineNo">368</span>  public static QuotaSettings limitNamespaceSpace(<a name="line.368"></a>
+<span class="sourceLineNo">369</span>      final String namespace, long sizeLimit, final SpaceViolationPolicy violationPolicy) {<a name="line.369"></a>
+<span class="sourceLineNo">370</span>    return new SpaceLimitSettings(namespace, sizeLimit, violationPolicy);<a name="line.370"></a>
+<span class="sourceLineNo">371</span>  }<a name="line.371"></a>
+<span class="sourceLineNo">372</span><a name="line.372"></a>
+<span class="sourceLineNo">373</span>  /**<a name="line.373"></a>
+<span class="sourceLineNo">374</span>   * Creates a {@link QuotaSettings} object to remove the FileSystem space quota for the given<a name="line.374"></a>
+<span class="sourceLineNo">375</span>   * namespace.<a name="line.375"></a>
+<span class="sourceLineNo">376</span>   *<a name="line.376"></a>
+<span class="sourceLineNo">377</span>   * @param namespace The namespace to remove the quota on.<a name="line.377"></a>
+<span class="sourceLineNo">378</span>   * @return A {@link QuotaSettings} object.<a name="line.378"></a>
+<span class="sourceLineNo">379</span>   */<a name="line.379"></a>
+<span class="sourceLineNo">380</span>  public static QuotaSettings removeNamespaceSpaceLimit(String namespace) {<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    return new SpaceLimitSettings(namespace);<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>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.NamespaceQuotasVisitor.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.NamespaceQuotasVisitor.html b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.NamespaceQuotasVisitor.html
index be849ad..b01644b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.NamespaceQuotasVisitor.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.NamespaceQuotasVisitor.html
@@ -56,15 +56,15 @@
 <span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.48"></a>
 <span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.Table;<a name="line.49"></a>
 <span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.filter.ColumnPrefixFilter;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.filter.CompareFilter;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.filter.Filter;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.filter.FilterList;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.filter.QualifierFilter;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.filter.RegexStringComparator;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.filter.RowFilter;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.protobuf.ProtobufMagic;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.InvalidProtocolBufferException;<a name="line.59"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.filter.Filter;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.filter.FilterList;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.filter.QualifierFilter;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.filter.RegexStringComparator;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.filter.RowFilter;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.protobuf.ProtobufMagic;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.InvalidProtocolBufferException;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat;<a name="line.59"></a>
 <span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.UnsafeByteOperations;<a name="line.60"></a>
 <span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.61"></a>
 <span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.62"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.QuotasVisitor.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.QuotasVisitor.html b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.QuotasVisitor.html
index be849ad..b01644b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.QuotasVisitor.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.QuotasVisitor.html
@@ -56,15 +56,15 @@
 <span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.48"></a>
 <span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.Table;<a name="line.49"></a>
 <span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.filter.ColumnPrefixFilter;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.filter.CompareFilter;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.filter.Filter;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.filter.FilterList;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.filter.QualifierFilter;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.filter.RegexStringComparator;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.filter.RowFilter;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.protobuf.ProtobufMagic;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.InvalidProtocolBufferException;<a name="line.59"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.filter.Filter;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.filter.FilterList;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.filter.QualifierFilter;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.filter.RegexStringComparator;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.filter.RowFilter;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.protobuf.ProtobufMagic;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.InvalidProtocolBufferException;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat;<a name="line.59"></a>
 <span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.UnsafeByteOperations;<a name="line.60"></a>
 <span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.61"></a>
 <span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.62"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.TableQuotasVisitor.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.TableQuotasVisitor.html b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.TableQuotasVisitor.html
index be849ad..b01644b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.TableQuotasVisitor.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.TableQuotasVisitor.html
@@ -56,15 +56,15 @@
 <span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.48"></a>
 <span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.Table;<a name="line.49"></a>
 <span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.filter.ColumnPrefixFilter;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.filter.CompareFilter;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.filter.Filter;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.filter.FilterList;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.filter.QualifierFilter;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.filter.RegexStringComparator;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.filter.RowFilter;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.protobuf.ProtobufMagic;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.InvalidProtocolBufferException;<a name="line.59"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.filter.Filter;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.filter.FilterList;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.filter.QualifierFilter;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.filter.RegexStringComparator;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.filter.RowFilter;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.protobuf.ProtobufMagic;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.InvalidProtocolBufferException;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat;<a name="line.59"></a>
 <span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.UnsafeByteOperations;<a name="line.60"></a>
 <span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.61"></a>
 <span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.62"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.UserQuotasVisitor.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.UserQuotasVisitor.html b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.UserQuotasVisitor.html
index be849ad..b01644b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.UserQuotasVisitor.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.UserQuotasVisitor.html
@@ -56,15 +56,15 @@
 <span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.48"></a>
 <span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.Table;<a name="line.49"></a>
 <span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.filter.ColumnPrefixFilter;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.filter.CompareFilter;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.filter.Filter;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.filter.FilterList;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.filter.QualifierFilter;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.filter.RegexStringComparator;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.filter.RowFilter;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.protobuf.ProtobufMagic;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.InvalidProtocolBufferException;<a name="line.59"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.filter.Filter;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.filter.FilterList;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.filter.QualifierFilter;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.filter.RegexStringComparator;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.filter.RowFilter;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.protobuf.ProtobufMagic;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.InvalidProtocolBufferException;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat;<a name="line.59"></a>
 <span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.UnsafeByteOperations;<a name="line.60"></a>
 <span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.61"></a>
 <span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.62"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html
index be849ad..b01644b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaTableUtil.html
@@ -56,15 +56,15 @@
 <span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.48"></a>
 <span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.Table;<a name="line.49"></a>
 <span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.filter.ColumnPrefixFilter;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.filter.CompareFilter;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.filter.Filter;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.filter.FilterList;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.filter.QualifierFilter;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.filter.RegexStringComparator;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.filter.RowFilter;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.protobuf.ProtobufMagic;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.InvalidProtocolBufferException;<a name="line.59"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.filter.Filter;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.filter.FilterList;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.filter.QualifierFilter;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.filter.RegexStringComparator;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.filter.RowFilter;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.protobuf.ProtobufMagic;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.InvalidProtocolBufferException;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat;<a name="line.59"></a>
 <span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.UnsafeByteOperations;<a name="line.60"></a>
 <span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.61"></a>
 <span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.62"></a>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/src-html/org/apache/hadoop/hbase/security/access/AccessController.OpType.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/security/access/AccessController.OpType.html b/devapidocs/src-html/org/apache/hadoop/hbase/security/access/AccessController.OpType.html
index ee54e1d..be637e0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/security/access/AccessController.OpType.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/security/access/AccessController.OpType.html
@@ -106,32 +106,32 @@
 <span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.98"></a>
 <span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos;<a name="line.99"></a>
 <span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.AccessControlService;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.regionserver.InternalScanner;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.regionserver.Region;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.regionserver.RegionScanner;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.regionserver.ScanType;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.regionserver.ScannerContext;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.regionserver.Store;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.regionserver.compactions.CompactionLifeCycleTracker;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.replication.ReplicationEndpoint;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.security.AccessDeniedException;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.security.Superusers;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.security.User;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.security.access.Permission.Action;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.com.google.common.collect.ArrayListMultimap;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.com.google.common.collect.ImmutableSet;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.com.google.common.collect.ListMultimap;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.com.google.common.collect.Lists;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.com.google.common.collect.MapMaker;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.com.google.common.collect.Maps;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.com.google.common.collect.Sets;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WALEntry;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CleanupBulkLoadRequest;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.PrepareBulkLoadRequest;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.126"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.quotas.GlobalQuotaSettings;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.regionserver.InternalScanner;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.regionserver.Region;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.regionserver.RegionScanner;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.regionserver.ScanType;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.regionserver.ScannerContext;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.regionserver.Store;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.regionserver.compactions.CompactionLifeCycleTracker;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.replication.ReplicationEndpoint;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.security.AccessDeniedException;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.security.Superusers;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.security.User;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.security.access.Permission.Action;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.com.google.common.collect.ArrayListMultimap;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.com.google.common.collect.ImmutableSet;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.com.google.common.collect.ListMultimap;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.com.google.common.collect.Lists;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.com.google.common.collect.MapMaker;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.com.google.common.collect.Maps;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.com.google.common.collect.Sets;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WALEntry;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CleanupBulkLoadRequest;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.PrepareBulkLoadRequest;<a name="line.126"></a>
 <span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription;<a name="line.127"></a>
 <span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils;<a name="line.128"></a>
 <span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.util.ByteRange;<a name="line.129"></a>
@@ -2593,168 +2593,170 @@
 <span class="sourceLineNo">2585</span><a name="line.2585"></a>
 <span class="sourceLineNo">2586</span>  @Override<a name="line.2586"></a>
 <span class="sourceLineNo">2587</span>  public void preSetUserQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2587"></a>
-<span class="sourceLineNo">2588</span>      final String userName, final Quotas quotas) throws IOException {<a name="line.2588"></a>
+<span class="sourceLineNo">2588</span>      final String userName, final GlobalQuotaSettings quotas) throws IOException {<a name="line.2588"></a>
 <span class="sourceLineNo">2589</span>    requirePermission(getActiveUser(ctx), "setUserQuota", Action.ADMIN);<a name="line.2589"></a>
 <span class="sourceLineNo">2590</span>  }<a name="line.2590"></a>
 <span class="sourceLineNo">2591</span><a name="line.2591"></a>
 <span class="sourceLineNo">2592</span>  @Override<a name="line.2592"></a>
 <span class="sourceLineNo">2593</span>  public void preSetUserQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2593"></a>
-<span class="sourceLineNo">2594</span>      final String userName, final TableName tableName, final Quotas quotas) throws IOException {<a name="line.2594"></a>
-<span class="sourceLineNo">2595</span>    requirePermission(getActiveUser(ctx), "setUserTableQuota", tableName, null, null, Action.ADMIN);<a name="line.2595"></a>
-<span class="sourceLineNo">2596</span>  }<a name="line.2596"></a>
-<span class="sourceLineNo">2597</span><a name="line.2597"></a>
-<span class="sourceLineNo">2598</span>  @Override<a name="line.2598"></a>
-<span class="sourceLineNo">2599</span>  public void preSetUserQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2599"></a>
-<span class="sourceLineNo">2600</span>      final String userName, final String namespace, final Quotas quotas) throws IOException {<a name="line.2600"></a>
-<span class="sourceLineNo">2601</span>    requirePermission(getActiveUser(ctx), "setUserNamespaceQuota", Action.ADMIN);<a name="line.2601"></a>
-<span class="sourceLineNo">2602</span>  }<a name="line.2602"></a>
-<span class="sourceLineNo">2603</span><a name="line.2603"></a>
-<span class="sourceLineNo">2604</span>  @Override<a name="line.2604"></a>
-<span class="sourceLineNo">2605</span>  public void preSetTableQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2605"></a>
-<span class="sourceLineNo">2606</span>      final TableName tableName, final Quotas quotas) throws IOException {<a name="line.2606"></a>
-<span class="sourceLineNo">2607</span>    requirePermission(getActiveUser(ctx), "setTableQuota", tableName, null, null, Action.ADMIN);<a name="line.2607"></a>
-<span class="sourceLineNo">2608</span>  }<a name="line.2608"></a>
-<span class="sourceLineNo">2609</span><a name="line.2609"></a>
-<span class="sourceLineNo">2610</span>  @Override<a name="line.2610"></a>
-<span class="sourceLineNo">2611</span>  public void preSetNamespaceQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2611"></a>
-<span class="sourceLineNo">2612</span>      final String namespace, final Quotas quotas) throws IOException {<a name="line.2612"></a>
-<span class="sourceLineNo">2613</span>    requirePermission(getActiveUser(ctx), "setNamespaceQuota", Action.ADMIN);<a name="line.2613"></a>
-<span class="sourceLineNo">2614</span>  }<a name="line.2614"></a>
-<span class="sourceLineNo">2615</span><a name="line.2615"></a>
-<span class="sourceLineNo">2616</span>  @Override<a name="line.2616"></a>
-<span class="sourceLineNo">2617</span>  public ReplicationEndpoint postCreateReplicationEndPoint(<a name="line.2617"></a>
-<span class="sourceLineNo">2618</span>      ObserverContext&lt;RegionServerCoprocessorEnvironment&gt; ctx, ReplicationEndpoint endpoint) {<a name="line.2618"></a>
-<span class="sourceLineNo">2619</span>    return endpoint;<a name="line.2619"></a>
-<span class="sourceLineNo">2620</span>  }<a name="line.2620"></a>
-<span class="sourceLineNo">2621</span><a name="line.2621"></a>
-<span class="sourceLineNo">2622</span>  @Override<a name="line.2622"></a>
-<span class="sourceLineNo">2623</span>  public void preReplicateLogEntries(ObserverContext&lt;RegionServerCoprocessorEnvironment&gt; ctx,<a name="line.2623"></a>
-<span class="sourceLineNo">2624</span>      List&lt;WALEntry&gt; entries, CellScanner cells) throws IOException {<a name="line.2624"></a>
-<span class="sourceLineNo">2625</span>    requirePermission(getActiveUser(ctx), "replicateLogEntries", Action.WRITE);<a name="line.2625"></a>
-<span class="sourceLineNo">2626</span>  }<a name="line.2626"></a>
-<span class="sourceLineNo">2627</span><a name="line.2627"></a>
-<span class="sourceLineNo">2628</span>  @Override<a name="line.2628"></a>
-<span class="sourceLineNo">2629</span>  public void postReplicateLogEntries(ObserverContext&lt;RegionServerCoprocessorEnvironment&gt; ctx,<a name="line.2629"></a>
-<span class="sourceLineNo">2630</span>      List&lt;WALEntry&gt; entries, CellScanner cells) throws IOException {<a name="line.2630"></a>
-<span class="sourceLineNo">2631</span>  }<a name="line.2631"></a>
-<span class="sourceLineNo">2632</span><a name="line.2632"></a>
-<span class="sourceLineNo">2633</span>  @Override<a name="line.2633"></a>
-<span class="sourceLineNo">2634</span>  public void  preClearCompactionQueues(ObserverContext&lt;RegionServerCoprocessorEnvironment&gt; ctx)<a name="line.2634"></a>
-<span class="sourceLineNo">2635</span>          throws IOException {<a name="line.2635"></a>
-<span class="sourceLineNo">2636</span>    requirePermission(getActiveUser(ctx), "preClearCompactionQueues", Permission.Action.ADMIN);<a name="line.2636"></a>
-<span class="sourceLineNo">2637</span>  }<a name="line.2637"></a>
-<span class="sourceLineNo">2638</span><a name="line.2638"></a>
-<span class="sourceLineNo">2639</span>  @Override<a name="line.2639"></a>
-<span class="sourceLineNo">2640</span>  public void preMoveServersAndTables(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2640"></a>
-<span class="sourceLineNo">2641</span>      Set&lt;Address&gt; servers, Set&lt;TableName&gt; tables, String targetGroup) throws IOException {<a name="line.2641"></a>
-<span class="sourceLineNo">2642</span>    requirePermission(getActiveUser(ctx), "moveServersAndTables", Action.ADMIN);<a name="line.2642"></a>
-<span class="sourceLineNo">2643</span>  }<a name="line.2643"></a>
-<span class="sourceLineNo">2644</span><a name="line.2644"></a>
-<span class="sourceLineNo">2645</span>  @Override<a name="line.2645"></a>
-<span class="sourceLineNo">2646</span>  public void preMoveServers(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2646"></a>
-<span class="sourceLineNo">2647</span>                             Set&lt;Address&gt; servers, String targetGroup) throws IOException {<a name="line.2647"></a>
-<span class="sourceLineNo">2648</span>    requirePermission(getActiveUser(ctx), "moveServers", Action.ADMIN);<a name="line.2648"></a>
-<span class="sourceLineNo">2649</span>  }<a name="line.2649"></a>
-<span class="sourceLineNo">2650</span><a name="line.2650"></a>
-<span class="sourceLineNo">2651</span>  @Override<a name="line.2651"></a>
-<span class="sourceLineNo">2652</span>  public void preMoveTables(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2652"></a>
-<span class="sourceLineNo">2653</span>                            Set&lt;TableName&gt; tables, String targetGroup) throws IOException {<a name="line.2653"></a>
-<span class="sourceLineNo">2654</span>    requirePermission(getActiveUser(ctx), "moveTables", Action.ADMIN);<a name="line.2654"></a>
-<span class="sourceLineNo">2655</span>  }<a name="line.2655"></a>
-<span class="sourceLineNo">2656</span><a name="line.2656"></a>
-<span class="sourceLineNo">2657</span>  @Override<a name="line.2657"></a>
-<span class="sourceLineNo">2658</span>  public void preAddRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2658"></a>
-<span class="sourceLineNo">2659</span>                            String name) throws IOException {<a name="line.2659"></a>
-<span class="sourceLineNo">2660</span>    requirePermission(getActiveUser(ctx), "addRSGroup", Action.ADMIN);<a name="line.2660"></a>
-<span class="sourceLineNo">2661</span>  }<a name="line.2661"></a>
-<span class="sourceLineNo">2662</span><a name="line.2662"></a>
-<span class="sourceLineNo">2663</span>  @Override<a name="line.2663"></a>
-<span class="sourceLineNo">2664</span>  public void preRemoveRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2664"></a>
-<span class="sourceLineNo">2665</span>                               String name) throws IOException {<a name="line.2665"></a>
-<span class="sourceLineNo">2666</span>    requirePermission(getActiveUser(ctx), "removeRSGroup", Action.ADMIN);<a name="line.2666"></a>
-<span class="sourceLineNo">2667</span>  }<a name="line.2667"></a>
-<span class="sourceLineNo">2668</span><a name="line.2668"></a>
-<span class="sourceLineNo">2669</span>  @Override<a name="line.2669"></a>
-<span class="sourceLineNo">2670</span>  public void preBalanceRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2670"></a>
-<span class="sourceLineNo">2671</span>                                String groupName) throws IOException {<a name="line.2671"></a>
-<span class="sourceLineNo">2672</span>    requirePermission(getActiveUser(ctx), "balanceRSGroup", Action.ADMIN);<a name="line.2672"></a>
-<span class="sourceLineNo">2673</span>  }<a name="line.2673"></a>
-<span class="sourceLineNo">2674</span><a name="line.2674"></a>
-<span class="sourceLineNo">2675</span>  @Override<a name="line.2675"></a>
-<span class="sourceLineNo">2676</span>  public void preAddReplicationPeer(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2676"></a>
-<span class="sourceLineNo">2677</span>      String peerId, ReplicationPeerConfig peerConfig) throws IOException {<a name="line.2677"></a>
-<span class="sourceLineNo">2678</span>    requirePermission(getActiveUser(ctx), "addReplicationPeer", Action.ADMIN);<a name="line.2678"></a>
-<span class="sourceLineNo">2679</span>  }<a name="line.2679"></a>
-<span class="sourceLineNo">2680</span><a name="line.2680"></a>
-<span class="sourceLineNo">2681</span>  @Override<a name="line.2681"></a>
-<span class="sourceLineNo">2682</span>  public void preRemoveReplicationPeer(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2682"></a>
-<span class="sourceLineNo">2683</span>      String peerId) throws IOException {<a name="line.2683"></a>
-<span class="sourceLineNo">2684</span>    requirePermission(getActiveUser(ctx), "removeReplicationPeer", Action.ADMIN);<a name="line.2684"></a>
-<span class="sourceLineNo">2685</span>  }<a name="line.2685"></a>
-<span class="sourceLineNo">2686</span><a name="line.2686"></a>
-<span class="sourceLineNo">2687</span>  @Override<a name="line.2687"></a>
-<span class="sourceLineNo">2688</span>  public void preEnableReplicationPeer(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2688"></a>
-<span class="sourceLineNo">2689</span>      String peerId) throws IOException {<a name="line.2689"></a>
-<span class="sourceLineNo">2690</span>    requirePermission(getActiveUser(ctx), "enableReplicationPeer", Action.ADMIN);<a name="line.2690"></a>
-<span class="sourceLineNo">2691</span>  }<a name="line.2691"></a>
-<span class="sourceLineNo">2692</span><a name="line.2692"></a>
-<span class="sourceLineNo">2693</span>  @Override<a name="line.2693"></a>
-<span class="sourceLineNo">2694</span>  public void preDisableReplicationPeer(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2694"></a>
-<span class="sourceLineNo">2695</span>      String peerId) throws IOException {<a name="line.2695"></a>
-<span class="sourceLineNo">2696</span>    requirePermission(getActiveUser(ctx), "disableReplicationPeer", Action.ADMIN);<a name="line.2696"></a>
-<span class="sourceLineNo">2697</span>  }<a name="line.2697"></a>
-<span class="sourceLineNo">2698</span><a name="line.2698"></a>
-<span class="sourceLineNo">2699</span>  @Override<a name="line.2699"></a>
-<span class="sourceLineNo">2700</span>  public void preGetReplicationPeerConfig(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2700"></a>
-<span class="sourceLineNo">2701</span>      String peerId) throws IOException {<a name="line.2701"></a>
-<span class="sourceLineNo">2702</span>    requirePermission(getActiveUser(ctx), "getReplicationPeerConfig", Action.ADMIN);<a name="line.2702"></a>
-<span class="sourceLineNo">2703</span>  }<a name="line.2703"></a>
-<span class="sourceLineNo">2704</span><a name="line.2704"></a>
-<span class="sourceLineNo">2705</span>  @Override<a name="line.2705"></a>
-<span class="sourceLineNo">2706</span>  public void preUpdateReplicationPeerConfig(<a name="line.2706"></a>
-<span class="sourceLineNo">2707</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, String peerId,<a name="line.2707"></a>
-<span class="sourceLineNo">2708</span>      ReplicationPeerConfig peerConfig) throws IOException {<a name="line.2708"></a>
-<span class="sourceLineNo">2709</span>    requirePermission(getActiveUser(ctx), "updateReplicationPeerConfig", Action.ADMIN);<a name="line.2709"></a>
-<span class="sourceLineNo">2710</span>  }<a name="line.2710"></a>
-<span class="sourceLineNo">2711</span><a name="line.2711"></a>
-<span class="sourceLineNo">2712</span>  @Override<a name="line.2712"></a>
-<span class="sourceLineNo">2713</span>  public void preListReplicationPeers(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2713"></a>
-<span class="sourceLineNo">2714</span>      String regex) throws IOException {<a name="line.2714"></a>
-<span class="sourceLineNo">2715</span>    requirePermission(getActiveUser(ctx), "listReplicationPeers", Action.ADMIN);<a name="line.2715"></a>
-<span class="sourceLineNo">2716</span>  }<a name="line.2716"></a>
-<span class="sourceLineNo">2717</span><a name="line.2717"></a>
-<span class="sourceLineNo">2718</span>  @Override<a name="line.2718"></a>
-<span class="sourceLineNo">2719</span>  public void preRequestLock(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, String namespace,<a name="line.2719"></a>
-<span class="sourceLineNo">2720</span>      TableName tableName, RegionInfo[] regionInfos, LockType type, String description)<a name="line.2720"></a>
-<span class="sourceLineNo">2721</span>  throws IOException {<a name="line.2721"></a>
-<span class="sourceLineNo">2722</span>    // There are operations in the CREATE and ADMIN domain which may require lock, READ<a name="line.2722"></a>
-<span class="sourceLineNo">2723</span>    // or WRITE. So for any lock request, we check for these two perms irrespective of lock type.<a name="line.2723"></a>
-<span class="sourceLineNo">2724</span>    String reason = String.format("Lock %s, description=%s", type, description);<a name="line.2724"></a>
-<span class="sourceLineNo">2725</span>    checkLockPermissions(getActiveUser(ctx), namespace, tableName, regionInfos, reason);<a name="line.2725"></a>
-<span class="sourceLineNo">2726</span>  }<a name="line.2726"></a>
-<span class="sourceLineNo">2727</span><a name="line.2727"></a>
-<span class="sourceLineNo">2728</span>  @Override<a name="line.2728"></a>
-<span class="sourceLineNo">2729</span>  public void preLockHeartbeat(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2729"></a>
-<span class="sourceLineNo">2730</span>      LockProcedure proc, boolean keepAlive) throws IOException {<a name="line.2730"></a>
-<span class="sourceLineNo">2731</span>    String reason = "Heartbeat for lock " + proc.getProcId();<a name="line.2731"></a>
-<span class="sourceLineNo">2732</span>    checkLockPermissions(getActiveUser(ctx), null, proc.getTableName(), null, reason);<a name="line.2732"></a>
-<span class="sourceLineNo">2733</span>  }<a name="line.2733"></a>
-<span class="sourceLineNo">2734</span><a name="line.2734"></a>
-<span class="sourceLineNo">2735</span>  private void checkLockPermissions(User user, String namespace,<a name="line.2735"></a>
-<span class="sourceLineNo">2736</span>      TableName tableName, RegionInfo[] regionInfos, String reason)<a name="line.2736"></a>
-<span class="sourceLineNo">2737</span>  throws IOException {<a name="line.2737"></a>
-<span class="sourceLineNo">2738</span>    if (namespace != null &amp;&amp; !namespace.isEmpty()) {<a name="line.2738"></a>
-<span class="sourceLineNo">2739</span>      requireNamespacePermission(user, reason, namespace, Action.ADMIN, Action.CREATE);<a name="line.2739"></a>
-<span class="sourceLineNo">2740</span>    } else if (tableName != null || (regionInfos != null &amp;&amp; regionInfos.length &gt; 0)) {<a name="line.2740"></a>
-<span class="sourceLineNo">2741</span>      // So, either a table or regions op. If latter, check perms ons table.<a name="line.2741"></a>
-<span class="sourceLineNo">2742</span>      TableName tn = tableName != null? tableName: regionInfos[0].getTable();<a name="line.2742"></a>
-<span class="sourceLineNo">2743</span>      requireTablePermission(user, reason, tn, null, null,<a name="line.2743"></a>
-<span class="sourceLineNo">2744</span>          Action.ADMIN, Action.CREATE);<a name="line.2744"></a>
-<span class="sourceLineNo">2745</span>    } else {<a name="line.2745"></a>
-<span class="sourceLineNo">2746</span>      throw new DoNotRetryIOException("Invalid lock level when requesting permissions.");<a name="line.2746"></a>
-<span class="sourceLineNo">2747</span>    }<a name="line.2747"></a>
-<span class="sourceLineNo">2748</span>  }<a name="line.2748"></a>
-<span class="sourceLineNo">2749</span>}<a name="line.2749"></a>
+<span class="sourceLineNo">2594</span>      final String userName, final TableName tableName, final GlobalQuotaSettings quotas)<a name="line.2594"></a>
+<span class="sourceLineNo">2595</span>          throws IOException {<a name="line.2595"></a>
+<span class="sourceLineNo">2596</span>    requirePermission(getActiveUser(ctx), "setUserTableQuota", tableName, null, null, Action.ADMIN);<a name="line.2596"></a>
+<span class="sourceLineNo">2597</span>  }<a name="line.2597"></a>
+<span class="sourceLineNo">2598</span><a name="line.2598"></a>
+<span class="sourceLineNo">2599</span>  @Override<a name="line.2599"></a>
+<span class="sourceLineNo">2600</span>  public void preSetUserQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2600"></a>
+<span class="sourceLineNo">2601</span>      final String userName, final String namespace, final GlobalQuotaSettings quotas)<a name="line.2601"></a>
+<span class="sourceLineNo">2602</span>          throws IOException {<a name="line.2602"></a>
+<span class="sourceLineNo">2603</span>    requirePermission(getActiveUser(ctx), "setUserNamespaceQuota", Action.ADMIN);<a name="line.2603"></a>
+<span class="sourceLineNo">2604</span>  }<a name="line.2604"></a>
+<span class="sourceLineNo">2605</span><a name="line.2605"></a>
+<span class="sourceLineNo">2606</span>  @Override<a name="line.2606"></a>
+<span class="sourceLineNo">2607</span>  public void preSetTableQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2607"></a>
+<span class="sourceLineNo">2608</span>      final TableName tableName, final GlobalQuotaSettings quotas) throws IOException {<a name="line.2608"></a>
+<span class="sourceLineNo">2609</span>    requirePermission(getActiveUser(ctx), "setTableQuota", tableName, null, null, Action.ADMIN);<a name="line.2609"></a>
+<span class="sourceLineNo">2610</span>  }<a name="line.2610"></a>
+<span class="sourceLineNo">2611</span><a name="line.2611"></a>
+<span class="sourceLineNo">2612</span>  @Override<a name="line.2612"></a>
+<span class="sourceLineNo">2613</span>  public void preSetNamespaceQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2613"></a>
+<span class="sourceLineNo">2614</span>      final String namespace, final GlobalQuotaSettings quotas) throws IOException {<a name="line.2614"></a>
+<span class="sourceLineNo">2615</span>    requirePermission(getActiveUser(ctx), "setNamespaceQuota", Action.ADMIN);<a name="line.2615"></a>
+<span class="sourceLineNo">2616</span>  }<a name="line.2616"></a>
+<span class="sourceLineNo">2617</span><a name="line.2617"></a>
+<span class="sourceLineNo">2618</span>  @Override<a name="line.2618"></a>
+<span class="sourceLineNo">2619</span>  public ReplicationEndpoint postCreateReplicationEndPoint(<a name="line.2619"></a>
+<span class="sourceLineNo">2620</span>      ObserverContext&lt;RegionServerCoprocessorEnvironment&gt; ctx, ReplicationEndpoint endpoint) {<a name="line.2620"></a>
+<span class="sourceLineNo">2621</span>    return endpoint;<a name="line.2621"></a>
+<span class="sourceLineNo">2622</span>  }<a name="line.2622"></a>
+<span class="sourceLineNo">2623</span><a name="line.2623"></a>
+<span class="sourceLineNo">2624</span>  @Override<a name="line.2624"></a>
+<span class="sourceLineNo">2625</span>  public void preReplicateLogEntries(ObserverContext&lt;RegionServerCoprocessorEnvironment&gt; ctx,<a name="line.2625"></a>
+<span class="sourceLineNo">2626</span>      List&lt;WALEntry&gt; entries, CellScanner cells) throws IOException {<a name="line.2626"></a>
+<span class="sourceLineNo">2627</span>    requirePermission(getActiveUser(ctx), "replicateLogEntries", Action.WRITE);<a name="line.2627"></a>
+<span class="sourceLineNo">2628</span>  }<a name="line.2628"></a>
+<span class="sourceLineNo">2629</span><a name="line.2629"></a>
+<span class="sourceLineNo">2630</span>  @Override<a name="line.2630"></a>
+<span class="sourceLineNo">2631</span>  public void postReplicateLogEntries(ObserverContext&lt;RegionServerCoprocessorEnvironment&gt; ctx,<a name="line.2631"></a>
+<span class="sourceLineNo">2632</span>      List&lt;WALEntry&gt; entries, CellScanner cells) throws IOException {<a name="line.2632"></a>
+<span class="sourceLineNo">2633</span>  }<a name="line.2633"></a>
+<span class="sourceLineNo">2634</span><a name="line.2634"></a>
+<span class="sourceLineNo">2635</span>  @Override<a name="line.2635"></a>
+<span class="sourceLineNo">2636</span>  public void  preClearCompactionQueues(ObserverContext&lt;RegionServerCoprocessorEnvironment&gt; ctx)<a name="line.2636"></a>
+<span class="sourceLineNo">2637</span>          throws IOException {<a name="line.2637"></a>
+<span class="sourceLineNo">2638</span>    requirePermission(getActiveUser(ctx), "preClearCompactionQueues", Permission.Action.ADMIN);<a name="line.2638"></a>
+<span class="sourceLineNo">2639</span>  }<a name="line.2639"></a>
+<span class="sourceLineNo">2640</span><a name="line.2640"></a>
+<span class="sourceLineNo">2641</span>  @Override<a name="line.2641"></a>
+<span class="sourceLineNo">2642</span>  public void preMoveServersAndTables(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2642"></a>
+<span class="sourceLineNo">2643</span>      Set&lt;Address&gt; servers, Set&lt;TableName&gt; tables, String targetGroup) throws IOException {<a name="line.2643"></a>
+<span class="sourceLineNo">2644</span>    requirePermission(getActiveUser(ctx), "moveServersAndTables", Action.ADMIN);<a name="line.2644"></a>
+<span class="sourceLineNo">2645</span>  }<a name="line.2645"></a>
+<span class="sourceLineNo">2646</span><a name="line.2646"></a>
+<span class="sourceLineNo">2647</span>  @Override<a name="line.2647"></a>
+<span class="sourceLineNo">2648</span>  public void preMoveServers(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2648"></a>
+<span class="sourceLineNo">2649</span>                             Set&lt;Address&gt; servers, String targetGroup) throws IOException {<a name="line.2649"></a>
+<span class="sourceLineNo">2650</span>    requirePermission(getActiveUser(ctx), "moveServers", Action.ADMIN);<a name="line.2650"></a>
+<span class="sourceLineNo">2651</span>  }<a name="line.2651"></a>
+<span class="sourceLineNo">2652</span><a name="line.2652"></a>
+<span class="sourceLineNo">2653</span>  @Override<a name="line.2653"></a>
+<span class="sourceLineNo">2654</span>  public void preMoveTables(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2654"></a>
+<span class="sourceLineNo">2655</span>                            Set&lt;TableName&gt; tables, String targetGroup) throws IOException {<a name="line.2655"></a>
+<span class="sourceLineNo">2656</span>    requirePermission(getActiveUser(ctx), "moveTables", Action.ADMIN);<a name="line.2656"></a>
+<span class="sourceLineNo">2657</span>  }<a name="line.2657"></a>
+<span class="sourceLineNo">2658</span><a name="line.2658"></a>
+<span class="sourceLineNo">2659</span>  @Override<a name="line.2659"></a>
+<span class="sourceLineNo">2660</span>  public void preAddRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2660"></a>
+<span class="sourceLineNo">2661</span>                            String name) throws IOException {<a name="line.2661"></a>
+<span class="sourceLineNo">2662</span>    requirePermission(getActiveUser(ctx), "addRSGroup", Action.ADMIN);<a name="line.2662"></a>
+<span class="sourceLineNo">2663</span>  }<a name="line.2663"></a>
+<span class="sourceLineNo">2664</span><a name="line.2664"></a>
+<span class="sourceLineNo">2665</span>  @Override<a name="line.2665"></a>
+<span class="sourceLineNo">2666</span>  public void preRemoveRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2666"></a>
+<span class="sourceLineNo">2667</span>                               String name) throws IOException {<a name="line.2667"></a>
+<span class="sourceLineNo">2668</span>    requirePermission(getActiveUser(ctx), "removeRSGroup", Action.ADMIN);<a name="line.2668"></a>
+<span class="sourceLineNo">2669</span>  }<a name="line.2669"></a>
+<span class="sourceLineNo">2670</span><a name="line.2670"></a>
+<span class="sourceLineNo">2671</span>  @Override<a name="line.2671"></a>
+<span class="sourceLineNo">2672</span>  public void preBalanceRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2672"></a>
+<span class="sourceLineNo">2673</span>                                String groupName) throws IOException {<a name="line.2673"></a>
+<span class="sourceLineNo">2674</span>    requirePermission(getActiveUser(ctx), "balanceRSGroup", Action.ADMIN);<a name="line.2674"></a>
+<span class="sourceLineNo">2675</span>  }<a name="line.2675"></a>
+<span class="sourceLineNo">2676</span><a name="line.2676"></a>
+<span class="sourceLineNo">2677</span>  @Override<a name="line.2677"></a>
+<span class="sourceLineNo">2678</span>  public void preAddReplicationPeer(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2678"></a>
+<span class="sourceLineNo">2679</span>      String peerId, ReplicationPeerConfig peerConfig) throws IOException {<a name="line.2679"></a>
+<span class="sourceLineNo">2680</span>    requirePermission(getActiveUser(ctx), "addReplicationPeer", Action.ADMIN);<a name="line.2680"></a>
+<span class="sourceLineNo">2681</span>  }<a name="line.2681"></a>
+<span class="sourceLineNo">2682</span><a name="line.2682"></a>
+<span class="sourceLineNo">2683</span>  @Override<a name="line.2683"></a>
+<span class="sourceLineNo">2684</span>  public void preRemoveReplicationPeer(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2684"></a>
+<span class="sourceLineNo">2685</span>      String peerId) throws IOException {<a name="line.2685"></a>
+<span class="sourceLineNo">2686</span>    requirePermission(getActiveUser(ctx), "removeReplicationPeer", Action.ADMIN);<a name="line.2686"></a>
+<span class="sourceLineNo">2687</span>  }<a name="line.2687"></a>
+<span class="sourceLineNo">2688</span><a name="line.2688"></a>
+<span class="sourceLineNo">2689</span>  @Override<a name="line.2689"></a>
+<span class="sourceLineNo">2690</span>  public void preEnableReplicationPeer(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2690"></a>
+<span class="sourceLineNo">2691</span>      String peerId) throws IOException {<a name="line.2691"></a>
+<span class="sourceLineNo">2692</span>    requirePermission(getActiveUser(ctx), "enableReplicationPeer", Action.ADMIN);<a name="line.2692"></a>
+<span class="sourceLineNo">2693</span>  }<a name="line.2693"></a>
+<span class="sourceLineNo">2694</span><a name="line.2694"></a>
+<span class="sourceLineNo">2695</span>  @Override<a name="line.2695"></a>
+<span class="sourceLineNo">2696</span>  public void preDisableReplicationPeer(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2696"></a>
+<span class="sourceLineNo">2697</span>      String peerId) throws IOException {<a name="line.2697"></a>
+<span class="sourceLineNo">2698</span>    requirePermission(getActiveUser(ctx), "disableReplicationPeer", Action.ADMIN);<a name="line.2698"></a>
+<span class="sourceLineNo">2699</span>  }<a name="line.2699"></a>
+<span class="sourceLineNo">2700</span><a name="line.2700"></a>
+<span class="sourceLineNo">2701</span>  @Override<a name="line.2701"></a>
+<span class="sourceLineNo">2702</span>  public void preGetReplicationPeerConfig(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2702"></a>
+<span class="sourceLineNo">2703</span>      String peerId) throws IOException {<a name="line.2703"></a>
+<span class="sourceLineNo">2704</span>    requirePermission(getActiveUser(ctx), "getReplicationPeerConfig", Action.ADMIN);<a name="line.2704"></a>
+<span class="sourceLineNo">2705</span>  }<a name="line.2705"></a>
+<span class="sourceLineNo">2706</span><a name="line.2706"></a>
+<span class="sourceLineNo">2707</span>  @Override<a name="line.2707"></a>
+<span class="sourceLineNo">2708</span>  public void preUpdateReplicationPeerConfig(<a name="line.2708"></a>
+<span class="sourceLineNo">2709</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, String peerId,<a name="line.2709"></a>
+<span class="sourceLineNo">2710</span>      ReplicationPeerConfig peerConfig) throws IOException {<a name="line.2710"></a>
+<span class="sourceLineNo">2711</span>    requirePermission(getActiveUser(ctx), "updateReplicationPeerConfig", Action.ADMIN);<a name="line.2711"></a>
+<span class="sourceLineNo">2712</span>  }<a name="line.2712"></a>
+<span class="sourceLineNo">2713</span><a name="line.2713"></a>
+<span class="sourceLineNo">2714</span>  @Override<a name="line.2714"></a>
+<span class="sourceLineNo">2715</span>  public void preListReplicationPeers(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2715"></a>
+<span class="sourceLineNo">2716</span>      String regex) throws IOException {<a name="line.2716"></a>
+<span class="sourceLineNo">2717</span>    requirePermission(getActiveUser(ctx), "listReplicationPeers", Action.ADMIN);<a name="line.2717"></a>
+<span class="sourceLineNo">2718</span>  }<a name="line.2718"></a>
+<span class="sourceLineNo">2719</span><a name="line.2719"></a>
+<span class="sourceLineNo">2720</span>  @Override<a name="line.2720"></a>
+<span class="sourceLineNo">2721</span>  public void preRequestLock(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, String namespace,<a name="line.2721"></a>
+<span class="sourceLineNo">2722</span>      TableName tableName, RegionInfo[] regionInfos, LockType type, String description)<a name="line.2722"></a>
+<span class="sourceLineNo">2723</span>  throws IOException {<a name="line.2723"></a>
+<span class="sourceLineNo">2724</span>    // There are operations in the CREATE and ADMIN domain which may require lock, READ<a name="line.2724"></a>
+<span class="sourceLineNo">2725</span>    // or WRITE. So for any lock request, we check for these two perms irrespective of lock type.<a name="line.2725"></a>
+<span class="sourceLineNo">2726</span>    String reason = String.format("Lock %s, description=%s", type, description);<a name="line.2726"></a>
+<span class="sourceLineNo">2727</span>    checkLockPermissions(getActiveUser(ctx), namespace, tableName, regionInfos, reason);<a name="line.2727"></a>
+<span class="sourceLineNo">2728</span>  }<a name="line.2728"></a>
+<span class="sourceLineNo">2729</span><a name="line.2729"></a>
+<span class="sourceLineNo">2730</span>  @Override<a name="line.2730"></a>
+<span class="sourceLineNo">2731</span>  public void preLockHeartbeat(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2731"></a>
+<span class="sourceLineNo">2732</span>      LockProcedure proc, boolean keepAlive) throws IOException {<a name="line.2732"></a>
+<span class="sourceLineNo">2733</span>    String reason = "Heartbeat for lock " + proc.getProcId();<a name="line.2733"></a>
+<span class="sourceLineNo">2734</span>    checkLockPermissions(getActiveUser(ctx), null, proc.getTableName(), null, reason);<a name="line.2734"></a>
+<span class="sourceLineNo">2735</span>  }<a name="line.2735"></a>
+<span class="sourceLineNo">2736</span><a name="line.2736"></a>
+<span class="sourceLineNo">2737</span>  private void checkLockPermissions(User user, String namespace,<a name="line.2737"></a>
+<span class="sourceLineNo">2738</span>      TableName tableName, RegionInfo[] regionInfos, String reason)<a name="line.2738"></a>
+<span class="sourceLineNo">2739</span>  throws IOException {<a name="line.2739"></a>
+<span class="sourceLineNo">2740</span>    if (namespace != null &amp;&amp; !namespace.isEmpty()) {<a name="line.2740"></a>
+<span class="sourceLineNo">2741</span>      requireNamespacePermission(user, reason, namespace, Action.ADMIN, Action.CREATE);<a name="line.2741"></a>
+<span class="sourceLineNo">2742</span>    } else if (tableName != null || (regionInfos != null &amp;&amp; regionInfos.length &gt; 0)) {<a name="line.2742"></a>
+<span class="sourceLineNo">2743</span>      // So, either a table or regions op. If latter, check perms ons table.<a name="line.2743"></a>
+<span class="sourceLineNo">2744</span>      TableName tn = tableName != null? tableName: regionInfos[0].getTable();<a name="line.2744"></a>
+<span class="sourceLineNo">2745</span>      requireTablePermission(user, reason, tn, null, null,<a name="line.2745"></a>
+<span class="sourceLineNo">2746</span>          Action.ADMIN, Action.CREATE);<a name="line.2746"></a>
+<span class="sourceLineNo">2747</span>    } else {<a name="line.2747"></a>
+<span class="sourceLineNo">2748</span>      throw new DoNotRetryIOException("Invalid lock level when requesting permissions.");<a name="line.2748"></a>
+<span class="sourceLineNo">2749</span>    }<a name="line.2749"></a>
+<span class="sourceLineNo">2750</span>  }<a name="line.2750"></a>
+<span class="sourceLineNo">2751</span>}<a name="line.2751"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/src-html/org/apache/hadoop/hbase/security/access/AccessController.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/security/access/AccessController.html b/devapidocs/src-html/org/apache/hadoop/hbase/security/access/AccessController.html
index ee54e1d..be637e0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/security/access/AccessController.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/security/access/AccessController.html
@@ -106,32 +106,32 @@
 <span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.98"></a>
 <span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos;<a name="line.99"></a>
 <span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.AccessControlService;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.regionserver.InternalScanner;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.regionserver.Region;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.regionserver.RegionScanner;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.regionserver.ScanType;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.regionserver.ScannerContext;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.regionserver.Store;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.regionserver.compactions.CompactionLifeCycleTracker;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.replication.ReplicationEndpoint;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.security.AccessDeniedException;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.security.Superusers;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.security.User;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.security.access.Permission.Action;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.com.google.common.collect.ArrayListMultimap;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.com.google.common.collect.ImmutableSet;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.com.google.common.collect.ListMultimap;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.com.google.common.collect.Lists;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.com.google.common.collect.MapMaker;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.com.google.common.collect.Maps;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.com.google.common.collect.Sets;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WALEntry;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CleanupBulkLoadRequest;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.PrepareBulkLoadRequest;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.126"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.quotas.GlobalQuotaSettings;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.regionserver.InternalScanner;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.regionserver.Region;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.regionserver.RegionScanner;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.regionserver.ScanType;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.regionserver.ScannerContext;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.regionserver.Store;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.regionserver.compactions.CompactionLifeCycleTracker;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.replication.ReplicationEndpoint;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.security.AccessDeniedException;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.security.Superusers;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.security.User;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.security.access.Permission.Action;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.com.google.common.collect.ArrayListMultimap;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.com.google.common.collect.ImmutableSet;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.com.google.common.collect.ListMultimap;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.com.google.common.collect.Lists;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.com.google.common.collect.MapMaker;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.com.google.common.collect.Maps;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.com.google.common.collect.Sets;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WALEntry;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CleanupBulkLoadRequest;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.PrepareBulkLoadRequest;<a name="line.126"></a>
 <span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription;<a name="line.127"></a>
 <span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils;<a name="line.128"></a>
 <span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.util.ByteRange;<a name="line.129"></a>
@@ -2593,168 +2593,170 @@
 <span class="sourceLineNo">2585</span><a name="line.2585"></a>
 <span class="sourceLineNo">2586</span>  @Override<a name="line.2586"></a>
 <span class="sourceLineNo">2587</span>  public void preSetUserQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2587"></a>
-<span class="sourceLineNo">2588</span>      final String userName, final Quotas quotas) throws IOException {<a name="line.2588"></a>
+<span class="sourceLineNo">2588</span>      final String userName, final GlobalQuotaSettings quotas) throws IOException {<a name="line.2588"></a>
 <span class="sourceLineNo">2589</span>    requirePermission(getActiveUser(ctx), "setUserQuota", Action.ADMIN);<a name="line.2589"></a>
 <span class="sourceLineNo">2590</span>  }<a name="line.2590"></a>
 <span class="sourceLineNo">2591</span><a name="line.2591"></a>
 <span class="sourceLineNo">2592</span>  @Override<a name="line.2592"></a>
 <span class="sourceLineNo">2593</span>  public void preSetUserQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2593"></a>
-<span class="sourceLineNo">2594</span>      final String userName, final TableName tableName, final Quotas quotas) throws IOException {<a name="line.2594"></a>
-<span class="sourceLineNo">2595</span>    requirePermission(getActiveUser(ctx), "setUserTableQuota", tableName, null, null, Action.ADMIN);<a name="line.2595"></a>
-<span class="sourceLineNo">2596</span>  }<a name="line.2596"></a>
-<span class="sourceLineNo">2597</span><a name="line.2597"></a>
-<span class="sourceLineNo">2598</span>  @Override<a name="line.2598"></a>
-<span class="sourceLineNo">2599</span>  public void preSetUserQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2599"></a>
-<span class="sourceLineNo">2600</span>      final String userName, final String namespace, final Quotas quotas) throws IOException {<a name="line.2600"></a>
-<span class="sourceLineNo">2601</span>    requirePermission(getActiveUser(ctx), "setUserNamespaceQuota", Action.ADMIN);<a name="line.2601"></a>
-<span class="sourceLineNo">2602</span>  }<a name="line.2602"></a>
-<span class="sourceLineNo">2603</span><a name="line.2603"></a>
-<span class="sourceLineNo">2604</span>  @Override<a name="line.2604"></a>
-<span class="sourceLineNo">2605</span>  public void preSetTableQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2605"></a>
-<span class="sourceLineNo">2606</span>      final TableName tableName, final Quotas quotas) throws IOException {<a name="line.2606"></a>
-<span class="sourceLineNo">2607</span>    requirePermission(getActiveUser(ctx), "setTableQuota", tableName, null, null, Action.ADMIN);<a name="line.2607"></a>
-<span class="sourceLineNo">2608</span>  }<a name="line.2608"></a>
-<span class="sourceLineNo">2609</span><a name="line.2609"></a>
-<span class="sourceLineNo">2610</span>  @Override<a name="line.2610"></a>
-<span class="sourceLineNo">2611</span>  public void preSetNamespaceQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2611"></a>
-<span class="sourceLineNo">2612</span>      final String namespace, final Quotas quotas) throws IOException {<a name="line.2612"></a>
-<span class="sourceLineNo">2613</span>    requirePermission(getActiveUser(ctx), "setNamespaceQuota", Action.ADMIN);<a name="line.2613"></a>
-<span class="sourceLineNo">2614</span>  }<a name="line.2614"></a>
-<span class="sourceLineNo">2615</span><a name="line.2615"></a>
-<span class="sourceLineNo">2616</span>  @Override<a name="line.2616"></a>
-<span class="sourceLineNo">2617</span>  public ReplicationEndpoint postCreateReplicationEndPoint(<a name="line.2617"></a>
-<span class="sourceLineNo">2618</span>      ObserverContext&lt;RegionServerCoprocessorEnvironment&gt; ctx, ReplicationEndpoint endpoint) {<a name="line.2618"></a>
-<span class="sourceLineNo">2619</span>    return endpoint;<a name="line.2619"></a>
-<span class="sourceLineNo">2620</span>  }<a name="line.2620"></a>
-<span class="sourceLineNo">2621</span><a name="line.2621"></a>
-<span class="sourceLineNo">2622</span>  @Override<a name="line.2622"></a>
-<span class="sourceLineNo">2623</span>  public void preReplicateLogEntries(ObserverContext&lt;RegionServerCoprocessorEnvironment&gt; ctx,<a name="line.2623"></a>
-<span class="sourceLineNo">2624</span>      List&lt;WALEntry&gt; entries, CellScanner cells) throws IOException {<a name="line.2624"></a>
-<span class="sourceLineNo">2625</span>    requirePermission(getActiveUser(ctx), "replicateLogEntries", Action.WRITE);<a name="line.2625"></a>
-<span class="sourceLineNo">2626</span>  }<a name="line.2626"></a>
-<span class="sourceLineNo">2627</span><a name="line.2627"></a>
-<span class="sourceLineNo">2628</span>  @Override<a name="line.2628"></a>
-<span class="sourceLineNo">2629</span>  public void postReplicateLogEntries(ObserverContext&lt;RegionServerCoprocessorEnvironment&gt; ctx,<a name="line.2629"></a>
-<span class="sourceLineNo">2630</span>      List&lt;WALEntry&gt; entries, CellScanner cells) throws IOException {<a name="line.2630"></a>
-<span class="sourceLineNo">2631</span>  }<a name="line.2631"></a>
-<span class="sourceLineNo">2632</span><a name="line.2632"></a>
-<span class="sourceLineNo">2633</span>  @Override<a name="line.2633"></a>
-<span class="sourceLineNo">2634</span>  public void  preClearCompactionQueues(ObserverContext&lt;RegionServerCoprocessorEnvironment&gt; ctx)<a name="line.2634"></a>
-<span class="sourceLineNo">2635</span>          throws IOException {<a name="line.2635"></a>
-<span class="sourceLineNo">2636</span>    requirePermission(getActiveUser(ctx), "preClearCompactionQueues", Permission.Action.ADMIN);<a name="line.2636"></a>
-<span class="sourceLineNo">2637</span>  }<a name="line.2637"></a>
-<span class="sourceLineNo">2638</span><a name="line.2638"></a>
-<span class="sourceLineNo">2639</span>  @Override<a name="line.2639"></a>
-<span class="sourceLineNo">2640</span>  public void preMoveServersAndTables(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2640"></a>
-<span class="sourceLineNo">2641</span>      Set&lt;Address&gt; servers, Set&lt;TableName&gt; tables, String targetGroup) throws IOException {<a name="line.2641"></a>
-<span class="sourceLineNo">2642</span>    requirePermission(getActiveUser(ctx), "moveServersAndTables", Action.ADMIN);<a name="line.2642"></a>
-<span class="sourceLineNo">2643</span>  }<a name="line.2643"></a>
-<span class="sourceLineNo">2644</span><a name="line.2644"></a>
-<span class="sourceLineNo">2645</span>  @Override<a name="line.2645"></a>
-<span class="sourceLineNo">2646</span>  public void preMoveServers(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2646"></a>
-<span class="sourceLineNo">2647</span>                             Set&lt;Address&gt; servers, String targetGroup) throws IOException {<a name="line.2647"></a>
-<span class="sourceLineNo">2648</span>    requirePermission(getActiveUser(ctx), "moveServers", Action.ADMIN);<a name="line.2648"></a>
-<span class="sourceLineNo">2649</span>  }<a name="line.2649"></a>
-<span class="sourceLineNo">2650</span><a name="line.2650"></a>
-<span class="sourceLineNo">2651</span>  @Override<a name="line.2651"></a>
-<span class="sourceLineNo">2652</span>  public void preMoveTables(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2652"></a>
-<span class="sourceLineNo">2653</span>                            Set&lt;TableName&gt; tables, String targetGroup) throws IOException {<a name="line.2653"></a>
-<span class="sourceLineNo">2654</span>    requirePermission(getActiveUser(ctx), "moveTables", Action.ADMIN);<a name="line.2654"></a>
-<span class="sourceLineNo">2655</span>  }<a name="line.2655"></a>
-<span class="sourceLineNo">2656</span><a name="line.2656"></a>
-<span class="sourceLineNo">2657</span>  @Override<a name="line.2657"></a>
-<span class="sourceLineNo">2658</span>  public void preAddRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2658"></a>
-<span class="sourceLineNo">2659</span>                            String name) throws IOException {<a name="line.2659"></a>
-<span class="sourceLineNo">2660</span>    requirePermission(getActiveUser(ctx), "addRSGroup", Action.ADMIN);<a name="line.2660"></a>
-<span class="sourceLineNo">2661</span>  }<a name="line.2661"></a>
-<span class="sourceLineNo">2662</span><a name="line.2662"></a>
-<span class="sourceLineNo">2663</span>  @Override<a name="line.2663"></a>
-<span class="sourceLineNo">2664</span>  public void preRemoveRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2664"></a>
-<span class="sourceLineNo">2665</span>                               String name) throws IOException {<a name="line.2665"></a>
-<span class="sourceLineNo">2666</span>    requirePermission(getActiveUser(ctx), "removeRSGroup", Action.ADMIN);<a name="line.2666"></a>
-<span class="sourceLineNo">2667</span>  }<a name="line.2667"></a>
-<span class="sourceLineNo">2668</span><a name="line.2668"></a>
-<span class="sourceLineNo">2669</span>  @Override<a name="line.2669"></a>
-<span class="sourceLineNo">2670</span>  public void preBalanceRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2670"></a>
-<span class="sourceLineNo">2671</span>                                String groupName) throws IOException {<a name="line.2671"></a>
-<span class="sourceLineNo">2672</span>    requirePermission(getActiveUser(ctx), "balanceRSGroup", Action.ADMIN);<a name="line.2672"></a>
-<span class="sourceLineNo">2673</span>  }<a name="line.2673"></a>
-<span class="sourceLineNo">2674</span><a name="line.2674"></a>
-<span class="sourceLineNo">2675</span>  @Override<a name="line.2675"></a>
-<span class="sourceLineNo">2676</span>  public void preAddReplicationPeer(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2676"></a>
-<span class="sourceLineNo">2677</span>      String peerId, ReplicationPeerConfig peerConfig) throws IOException {<a name="line.2677"></a>
-<span class="sourceLineNo">2678</span>    requirePermission(getActiveUser(ctx), "addReplicationPeer", Action.ADMIN);<a name="line.2678"></a>
-<span class="sourceLineNo">2679</span>  }<a name="line.2679"></a>
-<span class="sourceLineNo">2680</span><a name="line.2680"></a>
-<span class="sourceLineNo">2681</span>  @Override<a name="line.2681"></a>
-<span class="sourceLineNo">2682</span>  public void preRemoveReplicationPeer(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2682"></a>
-<span class="sourceLineNo">2683</span>      String peerId) throws IOException {<a name="line.2683"></a>
-<span class="sourceLineNo">2684</span>    requirePermission(getActiveUser(ctx), "removeReplicationPeer", Action.ADMIN);<a name="line.2684"></a>
-<span class="sourceLineNo">2685</span>  }<a name="line.2685"></a>
-<span class="sourceLineNo">2686</span><a name="line.2686"></a>
-<span class="sourceLineNo">2687</span>  @Override<a name="line.2687"></a>
-<span class="sourceLineNo">2688</span>  public void preEnableReplicationPeer(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2688"></a>
-<span class="sourceLineNo">2689</span>      String peerId) throws IOException {<a name="line.2689"></a>
-<span class="sourceLineNo">2690</span>    requirePermission(getActiveUser(ctx), "enableReplicationPeer", Action.ADMIN);<a name="line.2690"></a>
-<span class="sourceLineNo">2691</span>  }<a name="line.2691"></a>
-<span class="sourceLineNo">2692</span><a name="line.2692"></a>
-<span class="sourceLineNo">2693</span>  @Override<a name="line.2693"></a>
-<span class="sourceLineNo">2694</span>  public void preDisableReplicationPeer(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2694"></a>
-<span class="sourceLineNo">2695</span>      String peerId) throws IOException {<a name="line.2695"></a>
-<span class="sourceLineNo">2696</span>    requirePermission(getActiveUser(ctx), "disableReplicationPeer", Action.ADMIN);<a name="line.2696"></a>
-<span class="sourceLineNo">2697</span>  }<a name="line.2697"></a>
-<span class="sourceLineNo">2698</span><a name="line.2698"></a>
-<span class="sourceLineNo">2699</span>  @Override<a name="line.2699"></a>
-<span class="sourceLineNo">2700</span>  public void preGetReplicationPeerConfig(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2700"></a>
-<span class="sourceLineNo">2701</span>      String peerId) throws IOException {<a name="line.2701"></a>
-<span class="sourceLineNo">2702</span>    requirePermission(getActiveUser(ctx), "getReplicationPeerConfig", Action.ADMIN);<a name="line.2702"></a>
-<span class="sourceLineNo">2703</span>  }<a name="line.2703"></a>
-<span class="sourceLineNo">2704</span><a name="line.2704"></a>
-<span class="sourceLineNo">2705</span>  @Override<a name="line.2705"></a>
-<span class="sourceLineNo">2706</span>  public void preUpdateReplicationPeerConfig(<a name="line.2706"></a>
-<span class="sourceLineNo">2707</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, String peerId,<a name="line.2707"></a>
-<span class="sourceLineNo">2708</span>      ReplicationPeerConfig peerConfig) throws IOException {<a name="line.2708"></a>
-<span class="sourceLineNo">2709</span>    requirePermission(getActiveUser(ctx), "updateReplicationPeerConfig", Action.ADMIN);<a name="line.2709"></a>
-<span class="sourceLineNo">2710</span>  }<a name="line.2710"></a>
-<span class="sourceLineNo">2711</span><a name="line.2711"></a>
-<span class="sourceLineNo">2712</span>  @Override<a name="line.2712"></a>
-<span class="sourceLineNo">2713</span>  public void preListReplicationPeers(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2713"></a>
-<span class="sourceLineNo">2714</span>      String regex) throws IOException {<a name="line.2714"></a>
-<span class="sourceLineNo">2715</span>    requirePermission(getActiveUser(ctx), "listReplicationPeers", Action.ADMIN);<a name="line.2715"></a>
-<span class="sourceLineNo">2716</span>  }<a name="line.2716"></a>
-<span class="sourceLineNo">2717</span><a name="line.2717"></a>
-<span class="sourceLineNo">2718</span>  @Override<a name="line.2718"></a>
-<span class="sourceLineNo">2719</span>  public void preRequestLock(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, String namespace,<a name="line.2719"></a>
-<span class="sourceLineNo">2720</span>      TableName tableName, RegionInfo[] regionInfos, LockType type, String description)<a name="line.2720"></a>
-<span class="sourceLineNo">2721</span>  throws IOException {<a name="line.2721"></a>
-<span class="sourceLineNo">2722</span>    // There are operations in the CREATE and ADMIN domain which may require lock, READ<a name="line.2722"></a>
-<span class="sourceLineNo">2723</span>    // or WRITE. So for any lock request, we check for these two perms irrespective of lock type.<a name="line.2723"></a>
-<span class="sourceLineNo">2724</span>    String reason = String.format("Lock %s, description=%s", type, description);<a name="line.2724"></a>
-<span class="sourceLineNo">2725</span>    checkLockPermissions(getActiveUser(ctx), namespace, tableName, regionInfos, reason);<a name="line.2725"></a>
-<span class="sourceLineNo">2726</span>  }<a name="line.2726"></a>
-<span class="sourceLineNo">2727</span><a name="line.2727"></a>
-<span class="sourceLineNo">2728</span>  @Override<a name="line.2728"></a>
-<span class="sourceLineNo">2729</span>  public void preLockHeartbeat(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2729"></a>
-<span class="sourceLineNo">2730</span>      LockProcedure proc, boolean keepAlive) throws IOException {<a name="line.2730"></a>
-<span class="sourceLineNo">2731</span>    String reason = "Heartbeat for lock " + proc.getProcId();<a name="line.2731"></a>
-<span class="sourceLineNo">2732</span>    checkLockPermissions(getActiveUser(ctx), null, proc.getTableName(), null, reason);<a name="line.2732"></a>
-<span class="sourceLineNo">2733</span>  }<a name="line.2733"></a>
-<span class="sourceLineNo">2734</span><a name="line.2734"></a>
-<span class="sourceLineNo">2735</span>  private void checkLockPermissions(User user, String namespace,<a name="line.2735"></a>
-<span class="sourceLineNo">2736</span>      TableName tableName, RegionInfo[] regionInfos, String reason)<a name="line.2736"></a>
-<span class="sourceLineNo">2737</span>  throws IOException {<a name="line.2737"></a>
-<span class="sourceLineNo">2738</span>    if (namespace != null &amp;&amp; !namespace.isEmpty()) {<a name="line.2738"></a>
-<span class="sourceLineNo">2739</span>      requireNamespacePermission(user, reason, namespace, Action.ADMIN, Action.CREATE);<a name="line.2739"></a>
-<span class="sourceLineNo">2740</span>    } else if (tableName != null || (regionInfos != null &amp;&amp; regionInfos.length &gt; 0)) {<a name="line.2740"></a>
-<span class="sourceLineNo">2741</span>      // So, either a table or regions op. If latter, check perms ons table.<a name="line.2741"></a>
-<span class="sourceLineNo">2742</span>      TableName tn = tableName != null? tableName: regionInfos[0].getTable();<a name="line.2742"></a>
-<span class="sourceLineNo">2743</span>      requireTablePermission(user, reason, tn, null, null,<a name="line.2743"></a>
-<span class="sourceLineNo">2744</span>          Action.ADMIN, Action.CREATE);<a name="line.2744"></a>
-<span class="sourceLineNo">2745</span>    } else {<a name="line.2745"></a>
-<span class="sourceLineNo">2746</span>      throw new DoNotRetryIOException("Invalid lock level when requesting permissions.");<a name="line.2746"></a>
-<span class="sourceLineNo">2747</span>    }<a name="line.2747"></a>
-<span class="sourceLineNo">2748</span>  }<a name="line.2748"></a>
-<span class="sourceLineNo">2749</span>}<a name="line.2749"></a>
+<span class="sourceLineNo">2594</span>      final String userName, final TableName tableName, final GlobalQuotaSettings quotas)<a name="line.2594"></a>
+<span class="sourceLineNo">2595</span>          throws IOException {<a name="line.2595"></a>
+<span class="sourceLineNo">2596</span>    requirePermission(getActiveUser(ctx), "setUserTableQuota", tableName, null, null, Action.ADMIN);<a name="line.2596"></a>
+<span class="sourceLineNo">2597</span>  }<a name="line.2597"></a>
+<span class="sourceLineNo">2598</span><a name="line.2598"></a>
+<span class="sourceLineNo">2599</span>  @Override<a name="line.2599"></a>
+<span class="sourceLineNo">2600</span>  public void preSetUserQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2600"></a>
+<span class="sourceLineNo">2601</span>      final String userName, final String namespace, final GlobalQuotaSettings quotas)<a name="line.2601"></a>
+<span class="sourceLineNo">2602</span>          throws IOException {<a name="line.2602"></a>
+<span class="sourceLineNo">2603</span>    requirePermission(getActiveUser(ctx), "setUserNamespaceQuota", Action.ADMIN);<a name="line.2603"></a>
+<span class="sourceLineNo">2604</span>  }<a name="line.2604"></a>
+<span class="sourceLineNo">2605</span><a name="line.2605"></a>
+<span class="sourceLineNo">2606</span>  @Override<a name="line.2606"></a>
+<span class="sourceLineNo">2607</span>  public void preSetTableQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2607"></a>
+<span class="sourceLineNo">2608</span>      final TableName tableName, final GlobalQuotaSettings quotas) throws IOException {<a name="line.2608"></a>
+<span class="sourceLineNo">2609</span>    requirePermission(getActiveUser(ctx), "setTableQuota", tableName, null, null, Action.ADMIN);<a name="line.2609"></a>
+<span class="sourceLineNo">2610</span>  }<a name="line.2610"></a>
+<span class="sourceLineNo">2611</span><a name="line.2611"></a>
+<span class="sourceLineNo">2612</span>  @Override<a name="line.2612"></a>
+<span class="sourceLineNo">2613</span>  public void preSetNamespaceQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2613"></a>
+<span class="sourceLineNo">2614</span>      final String namespace, final GlobalQuotaSettings quotas) throws IOException {<a name="line.2614"></a>
+<span class="sourceLineNo">2615</span>    requirePermission(getActiveUser(ctx), "setNamespaceQuota", Action.ADMIN);<a name="line.2615"></a>
+<span class="sourceLineNo">2616</span>  }<a name="line.2616"></a>
+<span class="sourceLineNo">2617</span><a name="line.2617"></a>
+<span class="sourceLineNo">2618</span>  @Override<a name="line.2618"></a>
+<span class="sourceLineNo">2619</span>  public ReplicationEndpoint postCreateReplicationEndPoint(<a name="line.2619"></a>
+<span class="sourceLineNo">2620</span>      ObserverContext&lt;RegionServerCoprocessorEnvironment&gt; ctx, ReplicationEndpoint endpoint) {<a name="line.2620"></a>
+<span class="sourceLineNo">2621</span>    return endpoint;<a name="line.2621"></a>
+<span class="sourceLineNo">2622</span>  }<a name="line.2622"></a>
+<span class="sourceLineNo">2623</span><a name="line.2623"></a>
+<span class="sourceLineNo">2624</span>  @Override<a name="line.2624"></a>
+<span class="sourceLineNo">2625</span>  public void preReplicateLogEntries(ObserverContext&lt;RegionServerCoprocessorEnvironment&gt; ctx,<a name="line.2625"></a>
+<span class="sourceLineNo">2626</span>      List&lt;WALEntry&gt; entries, CellScanner cells) throws IOException {<a name="line.2626"></a>
+<span class="sourceLineNo">2627</span>    requirePermission(getActiveUser(ctx), "replicateLogEntries", Action.WRITE);<a name="line.2627"></a>
+<span class="sourceLineNo">2628</span>  }<a name="line.2628"></a>
+<span class="sourceLineNo">2629</span><a name="line.2629"></a>
+<span class="sourceLineNo">2630</span>  @Override<a name="line.2630"></a>
+<span class="sourceLineNo">2631</span>  public void postReplicateLogEntries(ObserverContext&lt;RegionServerCoprocessorEnvironment&gt; ctx,<a name="line.2631"></a>
+<span class="sourceLineNo">2632</span>      List&lt;WALEntry&gt; entries, CellScanner cells) throws IOException {<a name="line.2632"></a>
+<span class="sourceLineNo">2633</span>  }<a name="line.2633"></a>
+<span class="sourceLineNo">2634</span><a name="line.2634"></a>
+<span class="sourceLineNo">2635</span>  @Override<a name="line.2635"></a>
+<span class="sourceLineNo">2636</span>  public void  preClearCompactionQueues(ObserverContext&lt;RegionServerCoprocessorEnvironment&gt; ctx)<a name="line.2636"></a>
+<span class="sourceLineNo">2637</span>          throws IOException {<a name="line.2637"></a>
+<span class="sourceLineNo">2638</span>    requirePermission(getActiveUser(ctx), "preClearCompactionQueues", Permission.Action.ADMIN);<a name="line.2638"></a>
+<span class="sourceLineNo">2639</span>  }<a name="line.2639"></a>
+<span class="sourceLineNo">2640</span><a name="line.2640"></a>
+<span class="sourceLineNo">2641</span>  @Override<a name="line.2641"></a>
+<span class="sourceLineNo">2642</span>  public void preMoveServersAndTables(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2642"></a>
+<span class="sourceLineNo">2643</span>      Set&lt;Address&gt; servers, Set&lt;TableName&gt; tables, String targetGroup) throws IOException {<a name="line.2643"></a>
+<span class="sourceLineNo">2644</span>    requirePermission(getActiveUser(ctx), "moveServersAndTables", Action.ADMIN);<a name="line.2644"></a>
+<span class="sourceLineNo">2645</span>  }<a name="line.2645"></a>
+<span class="sourceLineNo">2646</span><a name="line.2646"></a>
+<span class="sourceLineNo">2647</span>  @Override<a name="line.2647"></a>
+<span class="sourceLineNo">2648</span>  public void preMoveServers(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2648"></a>
+<span class="sourceLineNo">2649</span>                             Set&lt;Address&gt; servers, String targetGroup) throws IOException {<a name="line.2649"></a>
+<span class="sourceLineNo">2650</span>    requirePermission(getActiveUser(ctx), "moveServers", Action.ADMIN);<a name="line.2650"></a>
+<span class="sourceLineNo">2651</span>  }<a name="line.2651"></a>
+<span class="sourceLineNo">2652</span><a name="line.2652"></a>
+<span class="sourceLineNo">2653</span>  @Override<a name="line.2653"></a>
+<span class="sourceLineNo">2654</span>  public void preMoveTables(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2654"></a>
+<span class="sourceLineNo">2655</span>                            Set&lt;TableName&gt; tables, String targetGroup) throws IOException {<a name="line.2655"></a>
+<span class="sourceLineNo">2656</span>    requirePermission(getActiveUser(ctx), "moveTables", Action.ADMIN);<a name="line.2656"></a>
+<span class="sourceLineNo">2657</span>  }<a name="line.2657"></a>
+<span class="sourceLineNo">2658</span><a name="line.2658"></a>
+<span class="sourceLineNo">2659</span>  @Override<a name="line.2659"></a>
+<span class="sourceLineNo">2660</span>  public void preAddRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2660"></a>
+<span class="sourceLineNo">2661</span>                            String name) throws IOException {<a name="line.2661"></a>
+<span class="sourceLineNo">2662</span>    requirePermission(getActiveUser(ctx), "addRSGroup", Action.ADMIN);<a name="line.2662"></a>
+<span class="sourceLineNo">2663</span>  }<a name="line.2663"></a>
+<span class="sourceLineNo">2664</span><a name="line.2664"></a>
+<span class="sourceLineNo">2665</span>  @Override<a name="line.2665"></a>
+<span class="sourceLineNo">2666</span>  public void preRemoveRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2666"></a>
+<span class="sourceLineNo">2667</span>                               String name) throws IOException {<a name="line.2667"></a>
+<span class="sourceLineNo">2668</span>    requirePermission(getActiveUser(ctx), "removeRSGroup", Action.ADMIN);<a name="line.2668"></a>
+<span class="sourceLineNo">2669</span>  }<a name="line.2669"></a>
+<span class="sourceLineNo">2670</span><a name="line.2670"></a>
+<span class="sourceLineNo">2671</span>  @Override<a name="line.2671"></a>
+<span class="sourceLineNo">2672</span>  public void preBalanceRSGroup(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2672"></a>
+<span class="sourceLineNo">2673</span>                                String groupName) throws IOException {<a name="line.2673"></a>
+<span class="sourceLineNo">2674</span>    requirePermission(getActiveUser(ctx), "balanceRSGroup", Action.ADMIN);<a name="line.2674"></a>
+<span class="sourceLineNo">2675</span>  }<a name="line.2675"></a>
+<span class="sourceLineNo">2676</span><a name="line.2676"></a>
+<span class="sourceLineNo">2677</span>  @Override<a name="line.2677"></a>
+<span class="sourceLineNo">2678</span>  public void preAddReplicationPeer(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2678"></a>
+<span class="sourceLineNo">2679</span>      String peerId, ReplicationPeerConfig peerConfig) throws IOException {<a name="line.2679"></a>
+<span class="sourceLineNo">2680</span>    requirePermission(getActiveUser(ctx), "addReplicationPeer", Action.ADMIN);<a name="line.2680"></a>
+<span class="sourceLineNo">2681</span>  }<a name="line.2681"></a>
+<span class="sourceLineNo">2682</span><a name="line.2682"></a>
+<span class="sourceLineNo">2683</span>  @Override<a name="line.2683"></a>
+<span class="sourceLineNo">2684</span>  public void preRemoveReplicationPeer(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2684"></a>
+<span class="sourceLineNo">2685</span>      String peerId) throws IOException {<a name="line.2685"></a>
+<span class="sourceLineNo">2686</span>    requirePermission(getActiveUser(ctx), "removeReplicationPeer", Action.ADMIN);<a name="line.2686"></a>
+<span class="sourceLineNo">2687</span>  }<a name="line.2687"></a>
+<span class="sourceLineNo">2688</span><a name="line.2688"></a>
+<span class="sourceLineNo">2689</span>  @Override<a name="line.2689"></a>
+<span class="sourceLineNo">2690</span>  public void preEnableReplicationPeer(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2690"></a>
+<span class="sourceLineNo">2691</span>      String peerId) throws IOException {<a name="line.2691"></a>
+<span class="sourceLineNo">2692</span>    requirePermission(getActiveUser(ctx), "enableReplicationPeer", Action.ADMIN);<a name="line.2692"></a>
+<span class="sourceLineNo">2693</span>  }<a name="line.2693"></a>
+<span class="sourceLineNo">2694</span><a name="line.2694"></a>
+<span class="sourceLineNo">2695</span>  @Override<a name="line.2695"></a>
+<span class="sourceLineNo">2696</span>  public void preDisableReplicationPeer(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2696"></a>
+<span class="sourceLineNo">2697</span>      String peerId) throws IOException {<a name="line.2697"></a>
+<span class="sourceLineNo">2698</span>    requirePermission(getActiveUser(ctx), "disableReplicationPeer", Action.ADMIN);<a name="line.2698"></a>
+<span class="sourceLineNo">2699</span>  }<a name="line.2699"></a>
+<span class="sourceLineNo">2700</span><a name="line.2700"></a>
+<span class="sourceLineNo">2701</span>  @Override<a name="line.2701"></a>
+<span class="sourceLineNo">2702</span>  public void preGetReplicationPeerConfig(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2702"></a>
+<span class="sourceLineNo">2703</span>      String peerId) throws IOException {<a name="line.2703"></a>
+<span class="sourceLineNo">2704</span>    requirePermission(getActiveUser(ctx), "getReplicationPeerConfig", Action.ADMIN);<a name="line.2704"></a>
+<span class="sourceLineNo">2705</span>  }<a name="line.2705"></a>
+<span class="sourceLineNo">2706</span><a name="line.2706"></a>
+<span class="sourceLineNo">2707</span>  @Override<a name="line.2707"></a>
+<span class="sourceLineNo">2708</span>  public void preUpdateReplicationPeerConfig(<a name="line.2708"></a>
+<span class="sourceLineNo">2709</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, String peerId,<a name="line.2709"></a>
+<span class="sourceLineNo">2710</span>      ReplicationPeerConfig peerConfig) throws IOException {<a name="line.2710"></a>
+<span class="sourceLineNo">2711</span>    requirePermission(getActiveUser(ctx), "updateReplicationPeerConfig", Action.ADMIN);<a name="line.2711"></a>
+<span class="sourceLineNo">2712</span>  }<a name="line.2712"></a>
+<span class="sourceLineNo">2713</span><a name="line.2713"></a>
+<span class="sourceLineNo">2714</span>  @Override<a name="line.2714"></a>
+<span class="sourceLineNo">2715</span>  public void preListReplicationPeers(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2715"></a>
+<span class="sourceLineNo">2716</span>      String regex) throws IOException {<a name="line.2716"></a>
+<span class="sourceLineNo">2717</span>    requirePermission(getActiveUser(ctx), "listReplicationPeers", Action.ADMIN);<a name="line.2717"></a>
+<span class="sourceLineNo">2718</span>  }<a name="line.2718"></a>
+<span class="sourceLineNo">2719</span><a name="line.2719"></a>
+<span class="sourceLineNo">2720</span>  @Override<a name="line.2720"></a>
+<span class="sourceLineNo">2721</span>  public void preRequestLock(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, String namespace,<a name="line.2721"></a>
+<span class="sourceLineNo">2722</span>      TableName tableName, RegionInfo[] regionInfos, LockType type, String description)<a name="line.2722"></a>
+<span class="sourceLineNo">2723</span>  throws IOException {<a name="line.2723"></a>
+<span class="sourceLineNo">2724</span>    // There are operations in the CREATE and ADMIN domain which may require lock, READ<a name="line.2724"></a>
+<span class="sourceLineNo">2725</span>    // or WRITE. So for any lock request, we check for these two perms irrespective of lock type.<a name="line.2725"></a>
+<span class="sourceLineNo">2726</span>    String reason = String.format("Lock %s, description=%s", type, description);<a name="line.2726"></a>
+<span class="sourceLineNo">2727</span>    checkLockPermissions(getActiveUser(ctx), namespace, tableName, regionInfos, reason);<a name="line.2727"></a>
+<span class="sourceLineNo">2728</span>  }<a name="line.2728"></a>
+<span class="sourceLineNo">2729</span><a name="line.2729"></a>
+<span class="sourceLineNo">2730</span>  @Override<a name="line.2730"></a>
+<span class="sourceLineNo">2731</span>  public void preLockHeartbeat(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.2731"></a>
+<span class="sourceLineNo">2732</span>      LockProcedure proc, boolean keepAlive) throws IOException {<a name="line.2732"></a>
+<span class="sourceLineNo">2733</span>    String reason = "Heartbeat for lock " + proc.getProcId();<a name="line.2733"></a>
+<span class="sourceLineNo">2734</span>    checkLockPermissions(getActiveUser(ctx), null, proc.getTableName(), null, reason);<a name="line.2734"></a>
+<span class="sourceLineNo">2735</span>  }<a name="line.2735"></a>
+<span class="sourceLineNo">2736</span><a name="line.2736"></a>
+<span class="sourceLineNo">2737</span>  private void checkLockPermissions(User user, String namespace,<a name="line.2737"></a>
+<span class="sourceLineNo">2738</span>      TableName tableName, RegionInfo[] regionInfos, String reason)<a name="line.2738"></a>
+<span class="sourceLineNo">2739</span>  throws IOException {<a name="line.2739"></a>
+<span class="sourceLineNo">2740</span>    if (namespace != null &amp;&amp; !namespace.isEmpty()) {<a name="line.2740"></a>
+<span class="sourceLineNo">2741</span>      requireNamespacePermission(user, reason, namespace, Action.ADMIN, Action.CREATE);<a name="line.2741"></a>
+<span class="sourceLineNo">2742</span>    } else if (tableName != null || (regionInfos != null &amp;&amp; regionInfos.length &gt; 0)) {<a name="line.2742"></a>
+<span class="sourceLineNo">2743</span>      // So, either a table or regions op. If latter, check perms ons table.<a name="line.2743"></a>
+<span class="sourceLineNo">2744</span>      TableName tn = tableName != null? tableName: regionInfos[0].getTable();<a name="line.2744"></a>
+<span class="sourceLineNo">2745</span>      requireTablePermission(user, reason, tn, null, null,<a name="line.2745"></a>
+<span class="sourceLineNo">2746</span>          Action.ADMIN, Action.CREATE);<a name="line.2746"></a>
+<span class="sourceLineNo">2747</span>    } else {<a name="line.2747"></a>
+<span class="sourceLineNo">2748</span>      throw new DoNotRetryIOException("Invalid lock level when requesting permissions.");<a name="line.2748"></a>
+<span class="sourceLineNo">2749</span>    }<a name="line.2749"></a>
+<span class="sourceLineNo">2750</span>  }<a name="line.2750"></a>
+<span class="sourceLineNo">2751</span>}<a name="line.2751"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/export_control.html
----------------------------------------------------------------------
diff --git a/export_control.html b/export_control.html
index fc4cbbe..6eb3745 100644
--- a/export_control.html
+++ b/export_control.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Export Control
@@ -336,7 +336,7 @@ for more details.</p>
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-annotations/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependencies.html b/hbase-annotations/dependencies.html
index 3ec1d29..672d510 100644
--- a/hbase-annotations/dependencies.html
+++ b/hbase-annotations/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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; Project Dependencies</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -272,7 +272,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/hbase-annotations/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependency-convergence.html b/hbase-annotations/dependency-convergence.html
index 9075f64..fab1eb1 100644
--- a/hbase-annotations/dependency-convergence.html
+++ b/hbase-annotations/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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; Reactor Dependency Convergence</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -650,7 +650,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/checkstyle-aggregate.html
----------------------------------------------------------------------
diff --git a/checkstyle-aggregate.html b/checkstyle-aggregate.html
index 7e1dc88..c3bd090 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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Checkstyle Results</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -286,7 +286,7 @@
 <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>2041</td>
+<td>2042</td>
 <td>0</td>
 <td>0</td>
 <td>14001</td></tr></table></div>
@@ -4634,3616 +4634,3621 @@
 <td>0</td>
 <td>2</td></tr>
 <tr class="a">
-<td><a href="#org.apache.hadoop.hbase.quotas.MasterQuotaManager.java">org/apache/hadoop/hbase/quotas/MasterQuotaManager.java</a></td>
+<td><a href="#org.apache.hadoop.hbase.quotas.GlobalQuotaSettings.java">org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.java</a></td>
 <td>0</td>
 <td>0</td>
-<td>7</td></tr>
+<td>4</td></tr>
 <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>2</td></tr>
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.MasterSpaceQuotaObserver.java">org/apache/hadoop/hbase/quotas/MasterSpaceQuotaObserver.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.NamespaceQuotaSnapshotStore.java">org/apache/hadoop/hbase/quotas/NamespaceQuotaSnapshotStore.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.NoopOperationQuota.java">org/apache/hadoop/hbase/quotas/NoopOperationQuota.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.NoopQuotaLimiter.java">org/apache/hadoop/hbase/quotas/NoopQuotaLimiter.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.OperationQuota.java">org/apache/hadoop/hbase/quotas/OperationQuota.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.QuotaCache.java">org/apache/hadoop/hbase/quotas/QuotaCache.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.QuotaFilter.java">org/apache/hadoop/hbase/quotas/QuotaFilter.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.QuotaLimiter.java">org/apache/hadoop/hbase/quotas/QuotaLimiter.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.QuotaLimiterFactory.java">org/apache/hadoop/hbase/quotas/QuotaLimiterFactory.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.QuotaObserverChore.java">org/apache/hadoop/hbase/quotas/QuotaObserverChore.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.quotas.QuotaRetriever.java">org/apache/hadoop/hbase/quotas/QuotaRetriever.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.QuotaSettings.java">org/apache/hadoop/hbase/quotas/QuotaSettings.java</a></td>
 <td>0</td>
 <td>0</td>
-<td>7</td></tr>
-<tr class="b">
+<td>8</td></tr>
+<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>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.QuotaSnapshotStore.java">org/apache/hadoop/hbase/quotas/QuotaSnapshotStore.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.QuotaState.java">org/apache/hadoop/hbase/quotas/QuotaState.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>7</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>5</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>19</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.RegionServerRpcQuotaManager.java">org/apache/hadoop/hbase/quotas/RegionServerRpcQuotaManager.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.quotas.RegionServerSpaceQuotaManager.java">org/apache/hadoop/hbase/quotas/RegionServerSpaceQuotaManager.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.quotas.SnapshotQuotaObserverChore.java">org/apache/hadoop/hbase/quotas/SnapshotQuotaObserverChore.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.SpaceLimitSettings.java">org/apache/hadoop/hbase/quotas/SpaceLimitSettings.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.SpaceQuotaRefresherChore.java">org/apache/hadoop/hbase/quotas/SpaceQuotaRefresherChore.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.SpaceQuotaSnapshot.java">org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshot.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.SpaceQuotaSnapshotNotifier.java">org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotNotifier.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.SpaceQuotaSnapshotNotifierFactory.java">org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotNotifierFactory.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.SpaceViolationPolicyEnforcement.java">org/apache/hadoop/hbase/quotas/SpaceViolationPolicyEnforcement.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.SpaceViolationPolicyEnforcementFactory.java">org/apache/hadoop/hbase/quotas/SpaceViolationPolicyEnforcementFactory.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.TableQuotaSnapshotStore.java">org/apache/hadoop/hbase/quotas/TableQuotaSnapshotStore.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>3</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>8</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>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.policies.AbstractViolationPolicyEnforcement.java">org/apache/hadoop/hbase/quotas/policies/AbstractViolationPolicyEnforcement.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.policies.DefaultViolationPolicyEnforcement.java">org/apache/hadoop/hbase/quotas/policies/DefaultViolationPolicyEnforcement.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.policies.DisableTableViolationPolicyEnforcement.java">org/apache/hadoop/hbase/quotas/policies/DisableTableViolationPolicyEnforcement.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.policies.MissingSnapshotViolationPolicyEnforcement.java">org/apache/hadoop/hbase/quotas/policies/MissingSnapshotViolationPolicyEnforcement.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.policies.NoInsertsViolationPolicyEnforcement.java">org/apache/hadoop/hbase/quotas/policies/NoInsertsViolationPolicyEnforcement.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.policies.NoWritesCompactionsViolationPolicyEnforcement.java">org/apache/hadoop/hbase/quotas/policies/NoWritesCompactionsViolationPolicyEnforcement.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.policies.NoWritesViolationPolicyEnforcement.java">org/apache/hadoop/hbase/quotas/policies/NoWritesViolationPolicyEnforcement.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.AbstractMemStore.java">org/apache/hadoop/hbase/regionserver/AbstractMemStore.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.AbstractMultiFileWriter.java">org/apache/hadoop/hbase/regionserver/AbstractMultiFileWriter.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.AnnotationReadingPriorityFunction.java">org/apache/hadoop/hbase/regionserver/AnnotationReadingPriorityFunction.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>16</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.BaseRowProcessor.java">org/apache/hadoop/hbase/regionserver/BaseRowProcessor.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.BusyRegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/BusyRegionSplitPolicy.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.ByteBufferChunkCell.java">org/apache/hadoop/hbase/regionserver/ByteBufferChunkCell.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.CSLMImmutableSegment.java">org/apache/hadoop/hbase/regionserver/CSLMImmutableSegment.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.CellArrayImmutableSegment.java">org/apache/hadoop/hbase/regionserver/CellArrayImmutableSegment.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.CellArrayMap.java">org/apache/hadoop/hbase/regionserver/CellArrayMap.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.CellChunkImmutableSegment.java">org/apache/hadoop/hbase/regionserver/CellChunkImmutableSegment.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.CellChunkMap.java">org/apache/hadoop/hbase/regionserver/CellChunkMap.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.CellFlatMap.java">org/apache/hadoop/hbase/regionserver/CellFlatMap.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.CellSet.java">org/apache/hadoop/hbase/regionserver/CellSet.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.CellSink.java">org/apache/hadoop/hbase/regionserver/CellSink.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.ChangedReadersObserver.java">org/apache/hadoop/hbase/regionserver/ChangedReadersObserver.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.Chunk.java">org/apache/hadoop/hbase/regionserver/Chunk.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.ChunkCreator.java">org/apache/hadoop/hbase/regionserver/ChunkCreator.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.CompactSplit.java">org/apache/hadoop/hbase/regionserver/CompactSplit.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.CompactedHFilesDischargeHandler.java">org/apache/hadoop/hbase/regionserver/CompactedHFilesDischargeHandler.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.CompactedHFilesDischarger.java">org/apache/hadoop/hbase/regionserver/CompactedHFilesDischarger.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.CompactingMemStore.java">org/apache/hadoop/hbase/regionserver/CompactingMemStore.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.CompactionPipeline.java">org/apache/hadoop/hbase/regionserver/CompactionPipeline.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.CompactionTool.java">org/apache/hadoop/hbase/regionserver/CompactionTool.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.CompositeImmutableSegment.java">org/apache/hadoop/hbase/regionserver/CompositeImmutableSegment.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.ConstantSizeRegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/ConstantSizeRegionSplitPolicy.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.DateTieredStoreEngine.java">org/apache/hadoop/hbase/regionserver/DateTieredStoreEngine.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.DefaultHeapMemoryTuner.java">org/apache/hadoop/hbase/regionserver/DefaultHeapMemoryTuner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>31</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>2</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>1</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>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.DelimitedKeyPrefixRegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/DelimitedKeyPrefixRegionSplitPolicy.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.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.FavoredNodesForRegion.java">org/apache/hadoop/hbase/regionserver/FavoredNodesForRegion.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.FifoRpcSchedulerFactory.java">org/apache/hadoop/hbase/regionserver/FifoRpcSchedulerFactory.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.FlushLargeStoresPolicy.java">org/apache/hadoop/hbase/regionserver/FlushLargeStoresPolicy.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.FlushPolicyFactory.java">org/apache/hadoop/hbase/regionserver/FlushPolicyFactory.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.FlushRequestListener.java">org/apache/hadoop/hbase/regionserver/FlushRequestListener.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.FlushRequester.java">org/apache/hadoop/hbase/regionserver/FlushRequester.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.HMobStore.java">org/apache/hadoop/hbase/regionserver/HMobStore.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.HRegion.java">org/apache/hadoop/hbase/regionserver/HRegion.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>206</td></tr>
-<tr class="a">
+<tr class="b">
 <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>50</td></tr>
-<tr class="b">
+<tr class="a">
 <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>127</td></tr>
-<tr class="a">
+<tr class="b">
 <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="b">
+<tr class="a">
 <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>55</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.HStoreFile.java">org/apache/hadoop/hbase/regionserver/HStoreFile.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.HeapMemoryManager.java">org/apache/hadoop/hbase/regionserver/HeapMemoryManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>16</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.HeapMemoryTuner.java">org/apache/hadoop/hbase/regionserver/HeapMemoryTuner.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.ImmutableSegment.java">org/apache/hadoop/hbase/regionserver/ImmutableSegment.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.IncreasingToUpperBoundRegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/IncreasingToUpperBoundRegionSplitPolicy.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.InternalScan.java">org/apache/hadoop/hbase/regionserver/InternalScan.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.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>12</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>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.LastSequenceId.java">org/apache/hadoop/hbase/regionserver/LastSequenceId.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.LeaseException.java">org/apache/hadoop/hbase/regionserver/LeaseException.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.Leases.java">org/apache/hadoop/hbase/regionserver/Leases.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.LogRoller.java">org/apache/hadoop/hbase/regionserver/LogRoller.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.MemStore.java">org/apache/hadoop/hbase/regionserver/MemStore.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.MemStoreCompactor.java">org/apache/hadoop/hbase/regionserver/MemStoreCompactor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>21</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MemStoreCompactorSegmentsIterator.java">org/apache/hadoop/hbase/regionserver/MemStoreCompactorSegmentsIterator.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.MemStoreFlusher.java">org/apache/hadoop/hbase/regionserver/MemStoreFlusher.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>31</td></tr>
-<tr class="a">
+<tr class="b">
 <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="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MemStoreLABImpl.java">org/apache/hadoop/hbase/regionserver/MemStoreLABImpl.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.MemStoreMergerSegmentsIterator.java">org/apache/hadoop/hbase/regionserver/MemStoreMergerSegmentsIterator.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.MemStoreSegmentsIterator.java">org/apache/hadoop/hbase/regionserver/MemStoreSegmentsIterator.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.MemStoreSnapshot.java">org/apache/hadoop/hbase/regionserver/MemStoreSnapshot.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.MetricsHeapMemoryManagerSource.java">org/apache/hadoop/hbase/regionserver/MetricsHeapMemoryManagerSource.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.MetricsHeapMemoryManagerSourceImpl.java">org/apache/hadoop/hbase/regionserver/MetricsHeapMemoryManagerSourceImpl.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.MetricsRegion.java">org/apache/hadoop/hbase/regionserver/MetricsRegion.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.MetricsRegionAggregateSourceImpl.java">org/apache/hadoop/hbase/regionserver/MetricsRegionAggregateSourceImpl.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.MetricsRegionServerSource.java">org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.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>2</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>5</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>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MetricsRegionSourceImpl.java">org/apache/hadoop/hbase/regionserver/MetricsRegionSourceImpl.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.MetricsRegionWrapper.java">org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.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.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.MetricsTable.java">org/apache/hadoop/hbase/regionserver/MetricsTable.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.MetricsTableAggregateSourceImpl.java">org/apache/hadoop/hbase/regionserver/MetricsTableAggregateSourceImpl.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.MetricsTableSourceImpl.java">org/apache/hadoop/hbase/regionserver/MetricsTableSourceImpl.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.MetricsTableWrapperAggregateImpl.java">org/apache/hadoop/hbase/regionserver/MetricsTableWrapperAggregateImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>21</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress.java">org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.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.MobReferenceOnlyFilter.java">org/apache/hadoop/hbase/regionserver/MobReferenceOnlyFilter.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.MobStoreScanner.java">org/apache/hadoop/hbase/regionserver/MobStoreScanner.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.MultiRowMutationProcessor.java">org/apache/hadoop/hbase/regionserver/MultiRowMutationProcessor.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.MultiVersionConcurrencyControl.java">org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.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.MutableSegment.java">org/apache/hadoop/hbase/regionserver/MutableSegment.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.NoOpHeapMemoryTuner.java">org/apache/hadoop/hbase/regionserver/NoOpHeapMemoryTuner.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.NoTagByteBufferChunkCell.java">org/apache/hadoop/hbase/regionserver/NoTagByteBufferChunkCell.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>152</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>5</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>61</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>178</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>4</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.RegionServerAccounting.java">org/apache/hadoop/hbase/regionserver/RegionServerAccounting.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.RegionServerCoprocessorHost.java">org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.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.RegionServerServices.java">org/apache/hadoop/hbase/regionserver/RegionServerServices.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.RegionServicesForStores.java">org/apache/hadoop/hbase/regionserver/RegionServicesForStores.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.RegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/RegionSplitPolicy.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.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.ReplicationSourceService.java">org/apache/hadoop/hbase/regionserver/ReplicationSourceService.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.ReversedKeyValueHeap.java">org/apache/hadoop/hbase/regionserver/ReversedKeyValueHeap.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.ReversedMobStoreScanner.java">org/apache/hadoop/hbase/regionserver/ReversedMobStoreScanner.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.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>6</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>2</td></tr>
-<tr class="a">
+<tr class="b">
 <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>6</td></tr>
-<tr class="b">
+<tr class="a">
 <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>13</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.ScannerIdGenerator.java">org/apache/hadoop/hbase/regionserver/ScannerIdGenerator.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.SecureBulkLoadManager.java">org/apache/hadoop/hbase/regionserver/SecureBulkLoadManager.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.Segment.java">org/apache/hadoop/hbase/regionserver/Segment.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.SegmentFactory.java">org/apache/hadoop/hbase/regionserver/SegmentFactory.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.regionserver.SegmentScanner.java">org/apache/hadoop/hbase/regionserver/SegmentScanner.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.ServerNonceManager.java">org/apache/hadoop/hbase/regionserver/ServerNonceManager.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.ShipperListener.java">org/apache/hadoop/hbase/regionserver/ShipperListener.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.ShutdownHook.java">org/apache/hadoop/hbase/regionserver/ShutdownHook.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.SimpleRpcSchedulerFactory.java">org/apache/hadoop/hbase/regionserver/SimpleRpcSchedulerFactory.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.SplitLogWorker.java">org/apache/hadoop/hbase/regionserver/SplitLogWorker.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.SplitRequest.java">org/apache/hadoop/hbase/regionserver/SplitRequest.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.SteppingSplitPolicy.java">org/apache/hadoop/hbase/regionserver/SteppingSplitPolicy.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.Store.java">org/apache/hadoop/hbase/regionserver/Store.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.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>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StoreFileComparators.java">org/apache/hadoop/hbase/regionserver/StoreFileComparators.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.StoreFileInfo.java">org/apache/hadoop/hbase/regionserver/StoreFileInfo.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.StoreFileManager.java">org/apache/hadoop/hbase/regionserver/StoreFileManager.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.StoreFileReader.java">org/apache/hadoop/hbase/regionserver/StoreFileReader.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.StoreFileWriter.java">org/apache/hadoop/hbase/regionserver/StoreFileWriter.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.StoreFlushContext.java">org/apache/hadoop/hbase/regionserver/StoreFlushContext.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.StoreFlusher.java">org/apache/hadoop/hbase/regionserver/StoreFlusher.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.StoreScanner.java">org/apache/hadoop/hbase/regionserver/StoreScanner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>26</td></tr>
-<tr class="a">
+<tr class="b">
 <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>3</td></tr>
-<tr class="b">
+<tr class="a">
 <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>3</td></tr>
-<tr class="a">
+<tr class="b">
 <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>2</td></tr>
-<tr class="b">
+<tr class="a">
 <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="a">
+<tr class="b">
 <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>1</td></tr>
-<tr class="b">
+<tr class="a">
 <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>20</td></tr>
-<tr class="a">
+<tr class="b">
 <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>2</td></tr>
-<tr class="b">
+<tr class="a">
 <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>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.compactions.AbstractMultiOutputCompactor.java">org/apache/hadoop/hbase/regionserver/compactions/AbstractMultiOutputCompactor.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.CompactionConfiguration.java">org/apache/hadoop/hbase/regionserver/compactions/CompactionConfiguration.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.CompactionContext.java">org/apache/hadoop/hbase/regionserver/compactions/CompactionContext.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.CompactionPolicy.java">org/apache/hadoop/hbase/regionserver/compactions/CompactionPolicy.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.CompactionProgress.java">org/apache/hadoop/hbase/regionserver/compactions/CompactionProgress.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.compactions.CompactionRequest.java">org/apache/hadoop/hbase/regionserver/compactions/CompactionRequest.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>12</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.DateTieredCompactionPolicy.java">org/apache/hadoop/hbase/regionserver/compactions/DateTieredCompactionPolicy.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.DateTieredCompactor.java">org/apache/hadoop/hbase/regionserver/compactions/DateTieredCompactor.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.DefaultCompactor.java">org/apache/hadoop/hbase/regionserver/compactions/DefaultCompactor.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.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.ExponentialCompactionWindowFactory.java">org/apache/hadoop/hbase/regionserver/compactions/ExponentialCompactionWindowFactory.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.FIFOCompactionPolicy.java">org/apache/hadoop/hbase/regionserver/compactions/FIFOCompactionPolicy.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>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.compactions.SortedCompactionPolicy.java">org/apache/hadoop/hbase/regionserver/compactions/SortedCompactionPolicy.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.StripeCompactionPolicy.java">org/apache/hadoop/hbase/regionserver/compactions/StripeCompactionPolicy.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.compactions.StripeCompactor.java">org/apache/hadoop/hbase/regionserver/compactions/StripeCompactor.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.CloseMetaHandler.java">org/apache/hadoop/hbase/regionserver/handler/CloseMetaHandler.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.handler.CloseRegionHandler.java">org/apache/hadoop/hbase/regionserver/handler/CloseRegionHandler.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.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="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.handler.OpenPriorityRegionHandler.java">org/apache/hadoop/hbase/regionserver/handler/OpenPriorityRegionHandler.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.handler.OpenRegionHandler.java">org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.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.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>4</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>24</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.querymatcher.ColumnTracker.java">org/apache/hadoop/hbase/regionserver/querymatcher/ColumnTracker.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.querymatcher.CompactionScanQueryMatcher.java">org/apache/hadoop/hbase/regionserver/querymatcher/CompactionScanQueryMatcher.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.querymatcher.DeleteTracker.java">org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.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.querymatcher.DropDeletesCompactionScanQueryMatcher.java">org/apache/hadoop/hbase/regionserver/querymatcher/DropDeletesCompactionScanQueryMatcher.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.querymatcher.ExplicitColumnTracker.java">org/apache/hadoop/hbase/regionserver/querymatcher/ExplicitColumnTracker.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.querymatcher.IncludeAllCompactionQueryMatcher.java">org/apache/hadoop/hbase/regionserver/querymatcher/IncludeAllCompactionQueryMatcher.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.querymatcher.MajorCompactionScanQueryMatcher.java">org/apache/hadoop/hbase/regionserver/querymatcher/MajorCompactionScanQueryMatcher.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.querymatcher.MinorCompactionScanQueryMatcher.java">org/apache/hadoop/hbase/regionserver/querymatcher/MinorCompactionScanQueryMatcher.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.querymatcher.NewVersionBehaviorTracker.java">org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>18</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.querymatcher.NormalUserScanQueryMatcher.java">org/apache/hadoop/hbase/regionserver/querymatcher/NormalUserScanQueryMatcher.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.querymatcher.RawScanQueryMatcher.java">org/apache/hadoop/hbase/regionserver/querymatcher/RawScanQueryMatcher.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.querymatcher.ScanDeleteTracker.java">org/apache/hadoop/hbase/regionserver/querymatcher/ScanDeleteTracker.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.querymatcher.ScanQueryMatcher.java">org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.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.querymatcher.ScanWildcardColumnTracker.java">org/apache/hadoop/hbase/regionserver/querymatcher/ScanWildcardColumnTracker.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.querymatcher.StripeCompactionScanQueryMatcher.java">org/apache/hadoop/hbase/regionserver/querymatcher/StripeCompactionScanQueryMatcher.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.querymatcher.UserScanQueryMatcher.java">org/apache/hadoop/hbase/regionserver/querymatcher/UserScanQueryMatcher.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.snapshot.FlushSnapshotSubprocedure.java">org/apache/hadoop/hbase/regionserver/snapshot/FlushSnapshotSubprocedure.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.snapshot.RegionServerSnapshotManager.java">org/apache/hadoop/hbase/regionserver/snapshot/RegionServerSnapshotManager.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.regionserver.throttle.CompactionThroughputControllerFactory.java">org/apache/hadoop/hbase/regionserver/throttle/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.throttle.FlushThroughputControllerFactory.java">org/apache/hadoop/hbase/regionserver/throttle/FlushThroughputControllerFactory.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.throttle.NoLimitThroughputController.java">org/apache/hadoop/hbase/regionserver/throttle/NoLimitThroughputController.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.throttle.PressureAwareCompactionThroughputController.java">org/apache/hadoop/hbase/regionserver/throttle/PressureAwareCompactionThroughputController.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.throttle.PressureAwareFlushThroughputController.java">org/apache/hadoop/hbase/regionserver/throttle/PressureAwareFlushThroughputController.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.throttle.PressureAwareThroughputController.java">org/apache/hadoop/hbase/regionserver/throttle/PressureAwareThroughputController.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.throttle.ThroughputControlUtil.java">org/apache/hadoop/hbase/regionserver/throttle/ThroughputControlUtil.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.throttle.ThroughputController.java">org/apache/hadoop/hbase/regionserver/throttle/ThroughputController.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.AbstractFSWAL.java">org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.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.AbstractProtobufLogWriter.java">org/apache/hadoop/hbase/regionserver/wal/AbstractProtobufLogWriter.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.AsyncFSWAL.java">org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.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.AsyncProtobufLogWriter.java">org/apache/hadoop/hbase/regionserver/wal/AsyncProtobufLogWriter.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.CompressionContext.java">org/apache/hadoop/hbase/regionserver/wal/CompressionContext.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.Compressor.java">org/apache/hadoop/hbase/regionserver/wal/Compressor.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.wal.FSHLog.java">org/apache/hadoop/hbase/regionserver/wal/FSHLog.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.FSWALEntry.java">org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.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.FailedLogCloseException.java">org/apache/hadoop/hbase/regionserver/wal/FailedLogCloseException.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.FailedSyncBeforeLogCloseException.java">org/apache/hadoop/hbase/regionserver/wal/FailedSyncBeforeLogCloseException.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.MetricsEditsReplaySourceImpl.java">org/apache/hadoop/hbase/regionserver/wal/MetricsEditsReplaySourceImpl.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.MetricsWAL.java">org/apache/hadoop/hbase/regionserver/wal/MetricsWAL.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.MetricsWALEditsReplay.java">org/apache/hadoop/hbase/regionserver/wal/MetricsWALEditsReplay.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.MetricsWALSourceImpl.java">org/apache/hadoop/hbase/regionserver/wal/MetricsWALSourceImpl.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.wal.ProtobufLogReader.java">org/apache/hadoop/hbase/regionserver/wal/ProtobufLogReader.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>26</td></tr>
-<tr class="a">
+<tr class="b">
 <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>3</td></tr>
-<tr class="b">
+<tr class="a">
 <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="a">
+<tr class="b">
 <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="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.SecureAsyncProtobufLogWriter.java">org/apache/hadoop/hbase/regionserver/wal/SecureAsyncProtobufLogWriter.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.SecureProtobufLogReader.java">org/apache/hadoop/hbase/regionserver/wal/SecureProtobufLogReader.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.SecureProtobufLogWriter.java">org/apache/hadoop/hbase/regionserver/wal/SecureProtobufLogWriter.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.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.SequenceIdAccounting.java">org/apache/hadoop/hbase/regionserver/wal/SequenceIdAccounting.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>15</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.SyncFuture.java">org/apache/hadoop/hbase/regionserver/wal/SyncFuture.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.WALActionsListener.java">org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.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.wal.WALCellCodec.java">org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.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.WALCoprocessorHost.java">org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.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.regionserver.wal.WALEditsReplaySink.java">org/apache/hadoop/hbase/regionserver/wal/WALEditsReplaySink.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.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.replication.BaseReplicationEndpoint.java">org/apache/hadoop/hbase/replication/BaseReplicationEndpoint.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.replication.BulkLoadCellFilter.java">org/apache/hadoop/hbase/replication/BulkLoadCellFilter.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.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.ClusterMarkingEntryFilter.java">org/apache/hadoop/hbase/replication/ClusterMarkingEntryFilter.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.HBaseReplicationEndpoint.java">org/apache/hadoop/hbase/replication/HBaseReplicationEndpoint.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.replication.NamespaceTableCfWALEntryFilter.java">org/apache/hadoop/hbase/replication/NamespaceTableCfWALEntryFilter.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.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.ReplicationException.java">org/apache/hadoop/hbase/replication/ReplicationException.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.ReplicationFactory.java">org/apache/hadoop/hbase/replication/ReplicationFactory.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.ReplicationPeerConfig.java">org/apache/hadoop/hbase/replication/ReplicationPeerConfig.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.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.ReplicationPeers.java">org/apache/hadoop/hbase/replication/ReplicationPeers.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.ReplicationPeersZKImpl.java">org/apache/hadoop/hbase/replication/ReplicationPeersZKImpl.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.replication.ReplicationQueueInfo.java">org/apache/hadoop/hbase/replication/ReplicationQueueInfo.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>21</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.replication.ReplicationQueues.java">org/apache/hadoop/hbase/replication/ReplicationQueues.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.replication.ReplicationQueuesArguments.java">org/apache/hadoop/hbase/replication/ReplicationQueuesArguments.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.ReplicationQueuesClient.java">org/apache/hadoop/hbase/replication/ReplicationQueuesClient.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.ReplicationQueuesClientArguments.java">org/apache/hadoop/hbase/replication/ReplicationQueuesClientArguments.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.ReplicationQueuesClientZKImpl.java">org/apache/hadoop/hbase/replication/ReplicationQueuesClientZKImpl.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.ReplicationQueuesZKImpl.java">org/apache/hadoop/hbase/replication/ReplicationQueuesZKImpl.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.replication.ReplicationStateZKBase.java">org/apache/hadoop/hbase/replication/ReplicationStateZKBase.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.replication.ReplicationTableBase.java">org/apache/hadoop/hbase/replication/ReplicationTableBase.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.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.ScopeWALEntryFilter.java">org/apache/hadoop/hbase/replication/ScopeWALEntryFilter.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.SystemTableWALEntryFilter.java">org/apache/hadoop/hbase/replication/SystemTableWALEntryFilter.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.TableBasedReplicationQueuesClientImpl.java">org/apache/hadoop/hbase/replication/TableBasedReplicationQueuesClientImpl.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.TableBasedReplicationQueuesImpl.java">org/apache/hadoop/hbase/replication/TableBasedReplicationQueuesImpl.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.WALCellFilter.java">org/apache/hadoop/hbase/replication/WALCellFilter.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.WALEntryFilter.java">org/apache/hadoop/hbase/replication/WALEntryFilter.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.master.ReplicationHFileCleaner.java">org/apache/hadoop/hbase/replication/master/ReplicationHFileCleaner.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.replication.master.ReplicationLogCleaner.java">org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.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.master.TableCFsUpdater.java">org/apache/hadoop/hbase/replication/master/TableCFsUpdater.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.replication.regionserver.DumpReplicationQueues.java">org/apache/hadoop/hbase/replication/regionserver/DumpReplicationQueues.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.replication.regionserver.HBaseInterClusterReplicationEndpoint.java">org/apache/hadoop/hbase/replication/regionserver/HBaseInterClusterReplicationEndpoint.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.replication.regionserver.HFileReplicator.java">org/apache/hadoop/hbase/replication/regionserver/HFileReplicator.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.MetricsReplicationGlobalSourceSource.java">org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationGlobalSourceSource.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.replication.regionserver.MetricsReplicationSinkSourceImpl.java">org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSinkSourceImpl.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.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.MetricsReplicationSourceImpl.java">org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSourceImpl.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.regionserver.MetricsReplicationSourceSource.java">org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSourceSource.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.MetricsReplicationSourceSourceImpl.java">org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSourceSourceImpl.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.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="b">
+<tr class="a">
 <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="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.replication.regionserver.RecoveredReplicationSource.java">org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSource.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.RecoveredReplicationSourceShipper.java">org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.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.regionserver.RecoveredReplicationSourceWALReader.java">org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceWALReader.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.RegionReplicaReplicationEndpoint.java">org/apache/hadoop/hbase/replication/regionserver/RegionReplicaReplicationEndpoint.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.Replication.java">org/apache/hadoop/hbase/replication/regionserver/Replication.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.replication.regionserver.ReplicationLoad.java">org/apache/hadoop/hbase/replication/regionserver/ReplicationLoad.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.replication.regionserver.ReplicationObserver.java">org/apache/hadoop/hbase/replication/regionserver/ReplicationObserver.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.ReplicationSink.java">org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.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.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="b">
+<tr class="a">
 <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>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceFactory.java">org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceFactory.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.ReplicationSourceInterface.java">org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.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.replication.regionserver.ReplicationSourceManager.java">org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.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.replication.regionserver.ReplicationSourceShipper.java">org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.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.replication.regionserver.ReplicationSourceWALReader.java">org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.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.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>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.replication.regionserver.WALEntryStream.java">org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</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>12</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.MultiRowResource.java">org/apache/hadoop/hbase/rest/MultiRowResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>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>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.NamespacesResource.java">org/apache/hadoop/hbase/rest/NamespacesResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.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>16</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>5</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.ResultGenerator.java">org/apache/hadoop/hbase/rest/ResultGenerator.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.RootResource.java">org/apache/hadoop/hbase/rest/RootResource.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.RowResource.java">org/apache/hadoop/hbase/rest/RowResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>61</td></tr>
-<tr class="b">
+<tr class="a">
 <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="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.RowSpec.java">org/apache/hadoop/hbase/rest/RowSpec.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>32</td></tr>
-<tr class="b">
+<tr class="a">
 <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="a">
+<tr class="b">
 <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="b">
+<tr class="a">
 <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="a">
+<tr class="b">
 <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="b">
+<tr class="a">
 <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>4</td></tr>
-<tr class="a">
+<tr class="b">
 <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>3</td></tr>
-<tr class="b">
+<tr class="a">
 <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>7</td></tr>
-<tr class="a">
+<tr class="b">
 <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>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.VersionResource.java">org/apache/hadoop/hbase/rest/VersionResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.client.Client.java">org/apache/hadoop/hbase/rest/client/Client.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>29</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.client.RemoteAdmin.java">org/apache/hadoop/hbase/rest/client/RemoteAdmin.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>107</td></tr>
-<tr class="a">
+<tr class="b">
 <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>110</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.client.Response.java">org/apache/hadoop/hbase/rest/client/Response.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <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="b">
+<tr class="a">
 <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="a">
+<tr class="b">
 <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="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.filter.RestCsrfPreventionFilter.java">org/apache/hadoop/hbase/rest/filter/RestCsrfPreventionFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="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>15</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>1</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>5</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>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.model.RowModel.java">org/apache/hadoop/hbase/rest/model/RowModel.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.ScannerModel.java">org/apache/hadoop/hbase/rest/model/ScannerModel.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>124</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.model.StorageClusterStatusModel.java">org/apache/hadoop/hbase/rest/model/StorageClusterStatusModel.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <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>3</td></tr>
-<tr class="b">
+<tr class="a">
 <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="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.model.TableListModel.java">org/apache/hadoop/hbase/rest/model/TableListModel.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="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>3</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>2</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.hbas

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html
index 06c94bc..2725449 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html
@@ -50,8 +50,8 @@
 <span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.procedure2.LockedResource;<a name="line.42"></a>
 <span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.procedure2.Procedure;<a name="line.43"></a>
 <span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.46"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.quotas.GlobalQuotaSettings;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.46"></a>
 <span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription;<a name="line.47"></a>
 <span class="sourceLineNo">048</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.48"></a>
 <span class="sourceLineNo">049</span>import org.apache.yetus.audience.InterfaceStability;<a name="line.49"></a>
@@ -1083,389 +1083,393 @@
 <span class="sourceLineNo">1075</span>   * Called before the quota for the user is stored.<a name="line.1075"></a>
 <span class="sourceLineNo">1076</span>   * @param ctx the environment to interact with the framework and master<a name="line.1076"></a>
 <span class="sourceLineNo">1077</span>   * @param userName the name of user<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>   * @param quotas the quota settings<a name="line.1078"></a>
+<span class="sourceLineNo">1078</span>   * @param quotas the current quota for the user<a name="line.1078"></a>
 <span class="sourceLineNo">1079</span>   */<a name="line.1079"></a>
 <span class="sourceLineNo">1080</span>  default void preSetUserQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1080"></a>
-<span class="sourceLineNo">1081</span>      final String userName, final Quotas quotas) throws IOException {}<a name="line.1081"></a>
+<span class="sourceLineNo">1081</span>      final String userName, final GlobalQuotaSettings quotas) throws IOException {}<a name="line.1081"></a>
 <span class="sourceLineNo">1082</span><a name="line.1082"></a>
 <span class="sourceLineNo">1083</span>  /**<a name="line.1083"></a>
 <span class="sourceLineNo">1084</span>   * Called after the quota for the user is stored.<a name="line.1084"></a>
 <span class="sourceLineNo">1085</span>   * @param ctx the environment to interact with the framework and master<a name="line.1085"></a>
 <span class="sourceLineNo">1086</span>   * @param userName the name of user<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span>   * @param quotas the quota settings<a name="line.1087"></a>
+<span class="sourceLineNo">1087</span>   * @param quotas the resulting quota for the user<a name="line.1087"></a>
 <span class="sourceLineNo">1088</span>   */<a name="line.1088"></a>
 <span class="sourceLineNo">1089</span>  default void postSetUserQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span>      final String userName, final Quotas quotas) throws IOException {}<a name="line.1090"></a>
+<span class="sourceLineNo">1090</span>      final String userName, final GlobalQuotaSettings quotas) throws IOException {}<a name="line.1090"></a>
 <span class="sourceLineNo">1091</span><a name="line.1091"></a>
 <span class="sourceLineNo">1092</span>  /**<a name="line.1092"></a>
 <span class="sourceLineNo">1093</span>   * Called before the quota for the user on the specified table is stored.<a name="line.1093"></a>
 <span class="sourceLineNo">1094</span>   * @param ctx the environment to interact with the framework and master<a name="line.1094"></a>
 <span class="sourceLineNo">1095</span>   * @param userName the name of user<a name="line.1095"></a>
 <span class="sourceLineNo">1096</span>   * @param tableName the name of the table<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span>   * @param quotas the quota settings<a name="line.1097"></a>
+<span class="sourceLineNo">1097</span>   * @param quotas the current quota for the user on the table<a name="line.1097"></a>
 <span class="sourceLineNo">1098</span>   */<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span>  default void preSetUserQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span>      final String userName, final TableName tableName, final Quotas quotas) throws IOException {}<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span><a name="line.1101"></a>
-<span class="sourceLineNo">1102</span>  /**<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span>   * Called after the quota for the user on the specified table is stored.<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span>   * @param ctx the environment to interact with the framework and master<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>   * @param userName the name of user<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span>   * @param tableName the name of the table<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span>   * @param quotas the quota settings<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span>   */<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span>  default void postSetUserQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span>      final String userName, final TableName tableName, final Quotas quotas) throws IOException {}<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span><a name="line.1111"></a>
-<span class="sourceLineNo">1112</span>  /**<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span>   * Called before the quota for the user on the specified namespace is stored.<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span>   * @param ctx the environment to interact with the framework and master<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>   * @param userName the name of user<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span>   * @param namespace the name of the namespace<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span>   * @param quotas the quota settings<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span>   */<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span>  default void preSetUserQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span>      final String userName, final String namespace, final Quotas quotas) throws IOException {}<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span><a name="line.1121"></a>
-<span class="sourceLineNo">1122</span>  /**<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span>   * Called after the quota for the user on the specified namespace is stored.<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span>   * @param ctx the environment to interact with the framework and master<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span>   * @param userName the name of user<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span>   * @param namespace the name of the namespace<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span>   * @param quotas the quota settings<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span>   */<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span>  default void postSetUserQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span>      final String userName, final String namespace, final Quotas quotas) throws IOException {}<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span><a name="line.1131"></a>
-<span class="sourceLineNo">1132</span>  /**<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span>   * Called before the quota for the table is stored.<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span>   * @param ctx the environment to interact with the framework and master<a name="line.1134"></a>
-<span class="sourceLineNo">1135</span>   * @param tableName the name of the table<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span>   * @param quotas the quota settings<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span>   */<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span>  default void preSetTableQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span>      final TableName tableName, final Quotas quotas) throws IOException {}<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span><a name="line.1140"></a>
-<span class="sourceLineNo">1141</span>  /**<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span>   * Called after the quota for the table is stored.<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span>   * @param ctx the environment to interact with the framework and master<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span>   * @param tableName the name of the table<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span>   * @param quotas the quota settings<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span>   */<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span>  default void postSetTableQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span>      final TableName tableName, final Quotas quotas) throws IOException {}<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span><a name="line.1149"></a>
-<span class="sourceLineNo">1150</span>  /**<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span>   * Called before the quota for the namespace is stored.<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span>   * @param ctx the environment to interact with the framework and master<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span>   * @param namespace the name of the namespace<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span>   * @param quotas the quota settings<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span>   */<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span>  default void preSetNamespaceQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span>      final String namespace, final Quotas quotas) throws IOException {}<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span><a name="line.1158"></a>
-<span class="sourceLineNo">1159</span>  /**<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span>   * Called after the quota for the namespace is stored.<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span>   * @param ctx the environment to interact with the framework and master<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span>   * @param namespace the name of the namespace<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span>   * @param quotas the quota settings<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span>   */<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span>  default void postSetNamespaceQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span>      final String namespace, final Quotas quotas) throws IOException {}<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span><a name="line.1167"></a>
-<span class="sourceLineNo">1168</span>  /**<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span>   * Called before merge regions request.<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span>   * It can't bypass the default action, e.g., ctx.bypass() won't have effect.<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span>   * @param ctx coprocessor environment<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span>   * @param regionsToMerge regions to be merged<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span>   */<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span>  default void preMergeRegions(<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span>      final RegionInfo[] regionsToMerge) throws IOException {}<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span><a name="line.1177"></a>
-<span class="sourceLineNo">1178</span>  /**<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span>   * called after merge regions request.<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span>   * @param c coprocessor environment<a name="line.1180"></a>
-<span class="sourceLineNo">1181</span>   * @param regionsToMerge regions to be merged<a name="line.1181"></a>
-<span class="sourceLineNo">1182</span>   */<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span>  default void postMergeRegions(<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; c,<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span>      final RegionInfo[] regionsToMerge) throws IOException {}<a name="line.1185"></a>
-<span class="sourceLineNo">1186</span><a name="line.1186"></a>
-<span class="sourceLineNo">1187</span>  /**<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span>   * Called before servers are moved to target region server group<a name="line.1188"></a>
-<span class="sourceLineNo">1189</span>   * @param ctx the environment to interact with the framework and master<a name="line.1189"></a>
-<span class="sourceLineNo">1190</span>   * @param servers set of servers to move<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span>   * @param targetGroup destination group<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span>   */<a name="line.1192"></a>
-<span class="sourceLineNo">1193</span>  default void preMoveServersAndTables(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span>                      Set&lt;Address&gt; servers, Set&lt;TableName&gt; tables, String targetGroup) throws IOException {}<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span><a name="line.1195"></a>
-<span class="sourceLineNo">1196</span>  /**<a name="line.1196"></a>
-<span class="sourceLineNo">1197</span>   * Called after servers are moved to target region server group<a name="line.1197"></a>
-<span class="sourceLineNo">1198</span>   * @param ctx the environment to interact with the framework and master<a name="line.1198"></a>
-<span class="sourceLineNo">1199</span>   * @param servers set of servers to move<a name="line.1199"></a>
-<span class="sourceLineNo">1200</span>   * @param targetGroup name of group<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span>   */<a name="line.1201"></a>
-<span class="sourceLineNo">1202</span>  default void postMoveServersAndTables(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span>      Set&lt;Address&gt; servers, Set&lt;TableName&gt; tables, String targetGroup) throws IOException {}<a name="line.1203"></a>
-<span class="sourceLineNo">1204</span><a name="line.1204"></a>
-<span class="sourceLineNo">1205</span>  /**<a name="line.1205"></a>
-<span class="sourceLineNo">1206</span>   * Called before servers are moved to target region server group<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span>   * @param ctx the environment to interact with the framework and master<a name="line.1207"></a>
-<span class="sourceLineNo">1208</span>   * @param servers set of servers to move<a name="line.1208"></a>
-<span class="sourceLineNo">1209</span>   * @param targetGroup destination group<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span>   */<a name="line.1210"></a>
-<span class="sourceLineNo">1211</span>  default void preMoveServers(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span>                      Set&lt;Address&gt; servers, String targetGroup) throws IOException {}<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span><a name="line.1213"></a>
-<span class="sourceLineNo">1214</span>  /**<a name="line.1214"></a>
-<span class="sourceLineNo">1215</span>   * Called after servers are moved to target region server group<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span>   * @param ctx the environment to interact with the framework and master<a name="line.1216"></a>
-<span class="sourceLineNo">1217</span>   * @param servers set of servers to move<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span>   * @param targetGroup name of group<a name="line.1218"></a>
-<span class="sourceLineNo">1219</span>   */<a name="line.1219"></a>
-<span class="sourceLineNo">1220</span>  default void postMoveServers(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1220"></a>
-<span class="sourceLineNo">1221</span>                       Set&lt;Address&gt; servers, String targetGroup) throws IOException {}<a name="line.1221"></a>
-<span class="sourceLineNo">1222</span><a name="line.1222"></a>
-<span class="sourceLineNo">1223</span>  /**<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span>   * Called before tables are moved to target region server group<a name="line.1224"></a>
-<span class="sourceLineNo">1225</span>   * @param ctx the environment to interact with the framework and master<a name="line.1225"></a>
-<span class="sourceLineNo">1226</span>   * @param tables set of tables to move<a name="line.1226"></a>
-<span class="sourceLineNo">1227</span>   * @param targetGroup name of group<a name="line.1227"></a>
-<span class="sourceLineNo">1228</span>   */<a name="line.1228"></a>
-<span class="sourceLineNo">1229</span>  default void preMoveTables(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span>                     Set&lt;TableName&gt; tables, String targetGroup) throws IOException {}<a name="line.1230"></a>
-<span class="sourceLineNo">1231</span><a name="line.1231"></a>
-<span class="sourceLineNo">1232</span>  /**<a name="line.1232"></a>
-<span class="sourceLineNo">1233</span>   * Called after servers are moved to target region server group<a name="line.1233"></a>
-<span class="sourceLineNo">1234</span>   * @param ctx the environment to interact with the framework and master<a name="line.1234"></a>
-<span class="sourceLineNo">1235</span>   * @param tables set of tables to move<a name="line.1235"></a>
-<span class="sourceLineNo">1236</span>   * @param targetGroup name of group<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span>   */<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span>  default void postMoveTables(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1238"></a>
-<span class="sourceLineNo">1239</span>                      Set&lt;TableName&gt; tables, String targetGroup) throws IOException {}<a name="line.1239"></a>
-<span class="sourceLineNo">1240</span><a name="line.1240"></a>
-<span class="sourceLineNo">1241</span>  /**<a name="line.1241"></a>
-<span class="sourceLineNo">1242</span>   * Called before a new region server group is added<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span>   * @param ctx the environment to interact with the framework and master<a name="line.1243"></a>
-<span class="sourceLineNo">1244</span>   * @param name group name<a name="line.1244"></a>
-<span class="sourceLineNo">1245</span>   */<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span>  default void preAddRSGroup(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1246"></a>
-<span class="sourceLineNo">1247</span>                     String name) throws IOException {}<a name="line.1247"></a>
-<span class="sourceLineNo">1248</span><a name="line.1248"></a>
-<span class="sourceLineNo">1249</span>  /**<a name="line.1249"></a>
-<span class="sourceLineNo">1250</span>   * Called after a new region server group is added<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span>   * @param ctx the environment to interact with the framework and master<a name="line.1251"></a>
-<span class="sourceLineNo">1252</span>   * @param name group name<a name="line.1252"></a>
-<span class="sourceLineNo">1253</span>   */<a name="line.1253"></a>
-<span class="sourceLineNo">1254</span>  default void postAddRSGroup(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span>                      String name) throws IOException {}<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span><a name="line.1256"></a>
-<span class="sourceLineNo">1257</span>  /**<a name="line.1257"></a>
-<span class="sourceLineNo">1258</span>   * Called before a region server group is removed<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span>   * @param ctx the environment to interact with the framework and master<a name="line.1259"></a>
-<span class="sourceLineNo">1260</span>   * @param name group name<a name="line.1260"></a>
-<span class="sourceLineNo">1261</span>   */<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span>  default void preRemoveRSGroup(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1262"></a>
-<span class="sourceLineNo">1263</span>                        String name) throws IOException {}<a name="line.1263"></a>
-<span class="sourceLineNo">1264</span><a name="line.1264"></a>
-<span class="sourceLineNo">1265</span>  /**<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span>   * Called after a region server group is removed<a name="line.1266"></a>
-<span class="sourceLineNo">1267</span>   * @param ctx the environment to interact with the framework and master<a name="line.1267"></a>
-<span class="sourceLineNo">1268</span>   * @param name group name<a name="line.1268"></a>
-<span class="sourceLineNo">1269</span>   */<a name="line.1269"></a>
-<span class="sourceLineNo">1270</span>  default void postRemoveRSGroup(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1270"></a>
-<span class="sourceLineNo">1271</span>                         String name) throws IOException {}<a name="line.1271"></a>
-<span class="sourceLineNo">1272</span><a name="line.1272"></a>
-<span class="sourceLineNo">1273</span>  /**<a name="line.1273"></a>
-<span class="sourceLineNo">1274</span>   * Called before a region server group is removed<a name="line.1274"></a>
-<span class="sourceLineNo">1275</span>   * @param ctx the environment to interact with the framework and master<a name="line.1275"></a>
-<span class="sourceLineNo">1276</span>   * @param groupName group name<a name="line.1276"></a>
-<span class="sourceLineNo">1277</span>   */<a name="line.1277"></a>
-<span class="sourceLineNo">1278</span>  default void preBalanceRSGroup(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1278"></a>
-<span class="sourceLineNo">1279</span>                         String groupName) throws IOException {}<a name="line.1279"></a>
-<span class="sourceLineNo">1280</span><a name="line.1280"></a>
-<span class="sourceLineNo">1281</span>  /**<a name="line.1281"></a>
-<span class="sourceLineNo">1282</span>   * Called after a region server group is removed<a name="line.1282"></a>
-<span class="sourceLineNo">1283</span>   * @param ctx the environment to interact with the framework and master<a name="line.1283"></a>
-<span class="sourceLineNo">1284</span>   * @param groupName group name<a name="line.1284"></a>
-<span class="sourceLineNo">1285</span>   */<a name="line.1285"></a>
-<span class="sourceLineNo">1286</span>  default void postBalanceRSGroup(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1286"></a>
-<span class="sourceLineNo">1287</span>                          String groupName, boolean balancerRan) throws IOException {}<a name="line.1287"></a>
-<span class="sourceLineNo">1288</span><a name="line.1288"></a>
-<span class="sourceLineNo">1289</span>  /**<a name="line.1289"></a>
-<span class="sourceLineNo">1290</span>   * Called before add a replication peer<a name="line.1290"></a>
-<span class="sourceLineNo">1291</span>   * @param ctx the environment to interact with the framework and master<a name="line.1291"></a>
-<span class="sourceLineNo">1292</span>   * @param peerId a short name that identifies the peer<a name="line.1292"></a>
-<span class="sourceLineNo">1293</span>   * @param peerConfig configuration for the replication peer<a name="line.1293"></a>
-<span class="sourceLineNo">1294</span>   */<a name="line.1294"></a>
-<span class="sourceLineNo">1295</span>  default void preAddReplicationPeer(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1295"></a>
-<span class="sourceLineNo">1296</span>      String peerId, ReplicationPeerConfig peerConfig) throws IOException {}<a name="line.1296"></a>
-<span class="sourceLineNo">1297</span><a name="line.1297"></a>
-<span class="sourceLineNo">1298</span>  /**<a name="line.1298"></a>
-<span class="sourceLineNo">1299</span>   * Called after add a replication peer<a name="line.1299"></a>
-<span class="sourceLineNo">1300</span>   * @param ctx the environment to interact with the framework and master<a name="line.1300"></a>
-<span class="sourceLineNo">1301</span>   * @param peerId a short name that identifies the peer<a name="line.1301"></a>
-<span class="sourceLineNo">1302</span>   * @param peerConfig configuration for the replication peer<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span>   */<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span>  default void postAddReplicationPeer(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1304"></a>
-<span class="sourceLineNo">1305</span>      String peerId, ReplicationPeerConfig peerConfig) throws IOException {}<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span><a name="line.1306"></a>
-<span class="sourceLineNo">1307</span>  /**<a name="line.1307"></a>
-<span class="sourceLineNo">1308</span>   * Called before remove a replication peer<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span>   * @param ctx<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span>   * @param peerId a short name that identifies the peer<a name="line.1310"></a>
-<span class="sourceLineNo">1311</span>   */<a name="line.1311"></a>
-<span class="sourceLineNo">1312</span>  default void preRemoveReplicationPeer(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span>      String peerId) throws IOException {}<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span><a name="line.1314"></a>
-<span class="sourceLineNo">1315</span>  /**<a name="line.1315"></a>
-<span class="sourceLineNo">1316</span>   * Called after remove a replication peer<a name="line.1316"></a>
-<span class="sourceLineNo">1317</span>   * @param ctx<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span>   * @param peerId a short name that identifies the peer<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span>   */<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span>  default void postRemoveReplicationPeer(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span>      String peerId) throws IOException {}<a name="line.1321"></a>
-<span class="sourceLineNo">1322</span><a name="line.1322"></a>
-<span class="sourceLineNo">1323</span>  /**<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span>   * Called before enable a replication peer<a name="line.1324"></a>
-<span class="sourceLineNo">1325</span>   * @param ctx<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span>   * @param peerId a short name that identifies the peer<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span>   */<a name="line.1327"></a>
-<span class="sourceLineNo">1328</span>  default void preEnableReplicationPeer(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span>      String peerId) throws IOException {}<a name="line.1329"></a>
-<span class="sourceLineNo">1330</span><a name="line.1330"></a>
-<span class="sourceLineNo">1331</span>  /**<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span>   * Called after enable a replication peer<a name="line.1332"></a>
-<span class="sourceLineNo">1333</span>   * @param ctx<a name="line.1333"></a>
-<span class="sourceLineNo">1334</span>   * @param peerId a short name that identifies the peer<a name="line.1334"></a>
-<span class="sourceLineNo">1335</span>   */<a name="line.1335"></a>
-<span class="sourceLineNo">1336</span>  default void postEnableReplicationPeer(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span>      String peerId) throws IOException {}<a name="line.1337"></a>
-<span class="sourceLineNo">1338</span><a name="line.1338"></a>
-<span class="sourceLineNo">1339</span>  /**<a name="line.1339"></a>
-<span class="sourceLineNo">1340</span>   * Called before disable a replication peer<a name="line.1340"></a>
-<span class="sourceLineNo">1341</span>   * @param ctx<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span>   * @param peerId a short name that identifies the peer<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span>   */<a name="line.1343"></a>
-<span class="sourceLineNo">1344</span>  default void preDisableReplicationPeer(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span>      String peerId) throws IOException {}<a name="line.1345"></a>
-<span class="sourceLineNo">1346</span><a name="line.1346"></a>
-<span class="sourceLineNo">1347</span>  /**<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span>   * Called after disable a replication peer<a name="line.1348"></a>
-<span class="sourceLineNo">1349</span>   * @param ctx<a name="line.1349"></a>
-<span class="sourceLineNo">1350</span>   * @param peerId a short name that identifies the peer<a name="line.1350"></a>
-<span class="sourceLineNo">1351</span>   */<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span>  default void postDisableReplicationPeer(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span>      String peerId) throws IOException {}<a name="line.1353"></a>
-<span class="sourceLineNo">1354</span><a name="line.1354"></a>
-<span class="sourceLineNo">1355</span>  /**<a name="line.1355"></a>
-<span class="sourceLineNo">1356</span>   * Called before get the configured ReplicationPeerConfig for the specified peer<a name="line.1356"></a>
-<span class="sourceLineNo">1357</span>   * @param ctx<a name="line.1357"></a>
-<span class="sourceLineNo">1358</span>   * @param peerId a short name that identifies the peer<a name="line.1358"></a>
-<span class="sourceLineNo">1359</span>   */<a name="line.1359"></a>
-<span class="sourceLineNo">1360</span>  default void preGetReplicationPeerConfig(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1360"></a>
-<span class="sourceLineNo">1361</span>      String peerId) throws IOException {}<a name="line.1361"></a>
-<span class="sourceLineNo">1362</span><a name="line.1362"></a>
-<span class="sourceLineNo">1363</span>  /**<a name="line.1363"></a>
-<span class="sourceLineNo">1364</span>   * Called after get the configured ReplicationPeerConfig for the specified peer<a name="line.1364"></a>
-<span class="sourceLineNo">1365</span>   * @param ctx<a name="line.1365"></a>
-<span class="sourceLineNo">1366</span>   * @param peerId a short name that identifies the peer<a name="line.1366"></a>
-<span class="sourceLineNo">1367</span>   */<a name="line.1367"></a>
-<span class="sourceLineNo">1368</span>  default void postGetReplicationPeerConfig(<a name="line.1368"></a>
-<span class="sourceLineNo">1369</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, String peerId) throws IOException {}<a name="line.1369"></a>
-<span class="sourceLineNo">1370</span><a name="line.1370"></a>
-<span class="sourceLineNo">1371</span>  /**<a name="line.1371"></a>
-<span class="sourceLineNo">1372</span>   * Called before update peerConfig for the specified peer<a name="line.1372"></a>
-<span class="sourceLineNo">1373</span>   * @param ctx<a name="line.1373"></a>
-<span class="sourceLineNo">1374</span>   * @param peerId a short name that identifies the peer<a name="line.1374"></a>
-<span class="sourceLineNo">1375</span>   */<a name="line.1375"></a>
-<span class="sourceLineNo">1376</span>  default void preUpdateReplicationPeerConfig(<a name="line.1376"></a>
-<span class="sourceLineNo">1377</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, String peerId,<a name="line.1377"></a>
-<span class="sourceLineNo">1378</span>      ReplicationPeerConfig peerConfig) throws IOException {}<a name="line.1378"></a>
-<span class="sourceLineNo">1379</span><a name="line.1379"></a>
-<span class="sourceLineNo">1380</span>  /**<a name="line.1380"></a>
-<span class="sourceLineNo">1381</span>   * Called after update peerConfig for the specified peer<a name="line.1381"></a>
-<span class="sourceLineNo">1382</span>   * @param ctx the environment to interact with the framework and master<a name="line.1382"></a>
-<span class="sourceLineNo">1383</span>   * @param peerId a short name that identifies the peer<a name="line.1383"></a>
-<span class="sourceLineNo">1384</span>   */<a name="line.1384"></a>
-<span class="sourceLineNo">1385</span>  default void postUpdateReplicationPeerConfig(<a name="line.1385"></a>
-<span class="sourceLineNo">1386</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, String peerId,<a name="line.1386"></a>
-<span class="sourceLineNo">1387</span>      ReplicationPeerConfig peerConfig) throws IOException {}<a name="line.1387"></a>
-<span class="sourceLineNo">1388</span><a name="line.1388"></a>
-<span class="sourceLineNo">1389</span>  /**<a name="line.1389"></a>
-<span class="sourceLineNo">1390</span>   * Called before list replication peers.<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span>   * @param ctx the environment to interact with the framework and master<a name="line.1391"></a>
-<span class="sourceLineNo">1392</span>   * @param regex The regular expression to match peer id<a name="line.1392"></a>
-<span class="sourceLineNo">1393</span>   */<a name="line.1393"></a>
-<span class="sourceLineNo">1394</span>  default void preListReplicationPeers(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1394"></a>
-<span class="sourceLineNo">1395</span>      String regex) throws IOException {}<a name="line.1395"></a>
-<span class="sourceLineNo">1396</span><a name="line.1396"></a>
-<span class="sourceLineNo">1397</span>  /**<a name="line.1397"></a>
-<span class="sourceLineNo">1398</span>   * Called after list replication peers.<a name="line.1398"></a>
-<span class="sourceLineNo">1399</span>   * @param ctx the environment to interact with the framework and master<a name="line.1399"></a>
-<span class="sourceLineNo">1400</span>   * @param regex The regular expression to match peer id<a name="line.1400"></a>
-<span class="sourceLineNo">1401</span>   */<a name="line.1401"></a>
-<span class="sourceLineNo">1402</span>  default void postListReplicationPeers(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1402"></a>
-<span class="sourceLineNo">1403</span>      String regex) throws IOException {}<a name="line.1403"></a>
-<span class="sourceLineNo">1404</span><a name="line.1404"></a>
-<span class="sourceLineNo">1405</span>  /**<a name="line.1405"></a>
-<span class="sourceLineNo">1406</span>   * Called before new LockProcedure is queued.<a name="line.1406"></a>
-<span class="sourceLineNo">1407</span>   * @param ctx the environment to interact with the framework and master<a name="line.1407"></a>
-<span class="sourceLineNo">1408</span>   */<a name="line.1408"></a>
-<span class="sourceLineNo">1409</span>  default void preRequestLock(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, String namespace,<a name="line.1409"></a>
-<span class="sourceLineNo">1410</span>      TableName tableName, RegionInfo[] regionInfos, LockType type,<a name="line.1410"></a>
-<span class="sourceLineNo">1411</span>      String description) throws IOException {}<a name="line.1411"></a>
-<span class="sourceLineNo">1412</span><a name="line.1412"></a>
-<span class="sourceLineNo">1413</span>  /**<a name="line.1413"></a>
-<span class="sourceLineNo">1414</span>   * Called after new LockProcedure is queued.<a name="line.1414"></a>
-<span class="sourceLineNo">1415</span>   * @param ctx the environment to interact with the framework and master<a name="line.1415"></a>
-<span class="sourceLineNo">1416</span>   */<a name="line.1416"></a>
-<span class="sourceLineNo">1417</span>  default void postRequestLock(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, String namespace,<a name="line.1417"></a>
-<span class="sourceLineNo">1418</span>      TableName tableName, RegionInfo[] regionInfos, LockType type,<a name="line.1418"></a>
-<span class="sourceLineNo">1419</span>      String description) throws IOException {}<a name="line.1419"></a>
-<span class="sourceLineNo">1420</span><a name="line.1420"></a>
-<span class="sourceLineNo">1421</span>  /**<a name="line.1421"></a>
-<span class="sourceLineNo">1422</span>   * Called before heartbeat to a lock.<a name="line.1422"></a>
-<span class="sourceLineNo">1423</span>   * @param ctx the environment to interact with the framework and master<a name="line.1423"></a>
-<span class="sourceLineNo">1424</span>   * @param keepAlive if lock should be kept alive; lock will be released if set to false.<a name="line.1424"></a>
-<span class="sourceLineNo">1425</span>   */<a name="line.1425"></a>
-<span class="sourceLineNo">1426</span>  default void preLockHeartbeat(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1426"></a>
-<span class="sourceLineNo">1427</span>      LockProcedure proc, boolean keepAlive) throws IOException {}<a name="line.1427"></a>
-<span class="sourceLineNo">1428</span><a name="line.1428"></a>
-<span class="sourceLineNo">1429</span>  /**<a name="line.1429"></a>
-<span class="sourceLineNo">1430</span>   * Called after heartbeat to a lock.<a name="line.1430"></a>
-<span class="sourceLineNo">1431</span>   * @param ctx the environment to interact with the framework and master<a name="line.1431"></a>
-<span class="sourceLineNo">1432</span>   * @param keepAlive if lock was kept alive; lock was released if set to false.<a name="line.1432"></a>
-<span class="sourceLineNo">1433</span>   */<a name="line.1433"></a>
-<span class="sourceLineNo">1434</span>  default void postLockHeartbeat(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1434"></a>
-<span class="sourceLineNo">1435</span>      LockProcedure proc, boolean keepAlive) throws IOException {}<a name="line.1435"></a>
-<span class="sourceLineNo">1436</span><a name="line.1436"></a>
-<span class="sourceLineNo">1437</span>  /**<a name="line.1437"></a>
-<span class="sourceLineNo">1438</span>   * Called before list dead region servers.<a name="line.1438"></a>
-<span class="sourceLineNo">1439</span>   */<a name="line.1439"></a>
-<span class="sourceLineNo">1440</span>  default void preListDeadServers(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1440"></a>
-<span class="sourceLineNo">1441</span>      throws IOException {}<a name="line.1441"></a>
-<span class="sourceLineNo">1442</span><a name="line.1442"></a>
-<span class="sourceLineNo">1443</span>  /**<a name="line.1443"></a>
-<span class="sourceLineNo">1444</span>   * Called after list dead region servers.<a name="line.1444"></a>
-<span class="sourceLineNo">1445</span>   */<a name="line.1445"></a>
-<span class="sourceLineNo">1446</span>  default void postListDeadServers(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1446"></a>
-<span class="sourceLineNo">1447</span>      throws IOException {}<a name="line.1447"></a>
-<span class="sourceLineNo">1448</span><a name="line.1448"></a>
-<span class="sourceLineNo">1449</span>  /**<a name="line.1449"></a>
-<span class="sourceLineNo">1450</span>   * Called before clear dead region servers.<a name="line.1450"></a>
-<span class="sourceLineNo">1451</span>   */<a name="line.1451"></a>
-<span class="sourceLineNo">1452</span>  default void preClearDeadServers(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1452"></a>
-<span class="sourceLineNo">1453</span>      throws IOException {}<a name="line.1453"></a>
-<span class="sourceLineNo">1454</span><a name="line.1454"></a>
-<span class="sourceLineNo">1455</span>  /**<a name="line.1455"></a>
-<span class="sourceLineNo">1456</span>   * Called after clear dead region servers.<a name="line.1456"></a>
-<span class="sourceLineNo">1457</span>   */<a name="line.1457"></a>
-<span class="sourceLineNo">1458</span>  default void postClearDeadServers(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1458"></a>
-<span class="sourceLineNo">1459</span>      throws IOException {}<a name="line.1459"></a>
-<span class="sourceLineNo">1460</span>}<a name="line.1460"></a>
+<span class="sourceLineNo">1099</span>  default void preSetUserQuota(<a name="line.1099"></a>
+<span class="sourceLineNo">1100</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, final String userName,<a name="line.1100"></a>
+<span class="sourceLineNo">1101</span>      final TableName tableName, final GlobalQuotaSettings quotas) throws IOException {}<a name="line.1101"></a>
+<span class="sourceLineNo">1102</span><a name="line.1102"></a>
+<span class="sourceLineNo">1103</span>  /**<a name="line.1103"></a>
+<span class="sourceLineNo">1104</span>   * Called after the quota for the user on the specified table is stored.<a name="line.1104"></a>
+<span class="sourceLineNo">1105</span>   * @param ctx the environment to interact with the framework and master<a name="line.1105"></a>
+<span class="sourceLineNo">1106</span>   * @param userName the name of user<a name="line.1106"></a>
+<span class="sourceLineNo">1107</span>   * @param tableName the name of the table<a name="line.1107"></a>
+<span class="sourceLineNo">1108</span>   * @param quotas the resulting quota for the user on the table<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span>   */<a name="line.1109"></a>
+<span class="sourceLineNo">1110</span>  default void postSetUserQuota(<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, final String userName,<a name="line.1111"></a>
+<span class="sourceLineNo">1112</span>      final TableName tableName, final GlobalQuotaSettings quotas) throws IOException {}<a name="line.1112"></a>
+<span class="sourceLineNo">1113</span><a name="line.1113"></a>
+<span class="sourceLineNo">1114</span>  /**<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span>   * Called before the quota for the user on the specified namespace is stored.<a name="line.1115"></a>
+<span class="sourceLineNo">1116</span>   * @param ctx the environment to interact with the framework and master<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span>   * @param userName the name of user<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span>   * @param namespace the name of the namespace<a name="line.1118"></a>
+<span class="sourceLineNo">1119</span>   * @param quotas the current quota for the user on the namespace<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span>   */<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span>  default void preSetUserQuota(<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, final String userName,<a name="line.1122"></a>
+<span class="sourceLineNo">1123</span>      final String namespace, final GlobalQuotaSettings quotas) throws IOException {}<a name="line.1123"></a>
+<span class="sourceLineNo">1124</span><a name="line.1124"></a>
+<span class="sourceLineNo">1125</span>  /**<a name="line.1125"></a>
+<span class="sourceLineNo">1126</span>   * Called after the quota for the user on the specified namespace is stored.<a name="line.1126"></a>
+<span class="sourceLineNo">1127</span>   * @param ctx the environment to interact with the framework and master<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span>   * @param userName the name of user<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span>   * @param namespace the name of the namespace<a name="line.1129"></a>
+<span class="sourceLineNo">1130</span>   * @param quotas the resulting quota for the user on the namespace<a name="line.1130"></a>
+<span class="sourceLineNo">1131</span>   */<a name="line.1131"></a>
+<span class="sourceLineNo">1132</span>  default void postSetUserQuota(<a name="line.1132"></a>
+<span class="sourceLineNo">1133</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, final String userName,<a name="line.1133"></a>
+<span class="sourceLineNo">1134</span>      final String namespace, final GlobalQuotaSettings quotas) throws IOException {}<a name="line.1134"></a>
+<span class="sourceLineNo">1135</span><a name="line.1135"></a>
+<span class="sourceLineNo">1136</span>  /**<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span>   * Called before the quota for the table is stored.<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span>   * @param ctx the environment to interact with the framework and master<a name="line.1138"></a>
+<span class="sourceLineNo">1139</span>   * @param tableName the name of the table<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span>   * @param quotas the current quota for the table<a name="line.1140"></a>
+<span class="sourceLineNo">1141</span>   */<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span>  default void preSetTableQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span>      final TableName tableName, final GlobalQuotaSettings quotas) throws IOException {}<a name="line.1143"></a>
+<span class="sourceLineNo">1144</span><a name="line.1144"></a>
+<span class="sourceLineNo">1145</span>  /**<a name="line.1145"></a>
+<span class="sourceLineNo">1146</span>   * Called after the quota for the table is stored.<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span>   * @param ctx the environment to interact with the framework and master<a name="line.1147"></a>
+<span class="sourceLineNo">1148</span>   * @param tableName the name of the table<a name="line.1148"></a>
+<span class="sourceLineNo">1149</span>   * @param quotas the resulting quota for the table<a name="line.1149"></a>
+<span class="sourceLineNo">1150</span>   */<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span>  default void postSetTableQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1151"></a>
+<span class="sourceLineNo">1152</span>      final TableName tableName, final GlobalQuotaSettings quotas) throws IOException {}<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span><a name="line.1153"></a>
+<span class="sourceLineNo">1154</span>  /**<a name="line.1154"></a>
+<span class="sourceLineNo">1155</span>   * Called before the quota for the namespace is stored.<a name="line.1155"></a>
+<span class="sourceLineNo">1156</span>   * @param ctx the environment to interact with the framework and master<a name="line.1156"></a>
+<span class="sourceLineNo">1157</span>   * @param namespace the name of the namespace<a name="line.1157"></a>
+<span class="sourceLineNo">1158</span>   * @param quotas the current quota for the namespace<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span>   */<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span>  default void preSetNamespaceQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span>      final String namespace, final GlobalQuotaSettings quotas) throws IOException {}<a name="line.1161"></a>
+<span class="sourceLineNo">1162</span><a name="line.1162"></a>
+<span class="sourceLineNo">1163</span>  /**<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span>   * Called after the quota for the namespace is stored.<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span>   * @param ctx the environment to interact with the framework and master<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span>   * @param namespace the name of the namespace<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span>   * @param quotas the resulting quota for the namespace<a name="line.1167"></a>
+<span class="sourceLineNo">1168</span>   */<a name="line.1168"></a>
+<span class="sourceLineNo">1169</span>  default void postSetNamespaceQuota(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1169"></a>
+<span class="sourceLineNo">1170</span>      final String namespace, final GlobalQuotaSettings quotas) throws IOException {}<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span><a name="line.1171"></a>
+<span class="sourceLineNo">1172</span>  /**<a name="line.1172"></a>
+<span class="sourceLineNo">1173</span>   * Called before merge regions request.<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span>   * It can't bypass the default action, e.g., ctx.bypass() won't have effect.<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span>   * @param ctx coprocessor environment<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span>   * @param regionsToMerge regions to be merged<a name="line.1176"></a>
+<span class="sourceLineNo">1177</span>   */<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span>  default void preMergeRegions(<a name="line.1178"></a>
+<span class="sourceLineNo">1179</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1179"></a>
+<span class="sourceLineNo">1180</span>      final RegionInfo[] regionsToMerge) throws IOException {}<a name="line.1180"></a>
+<span class="sourceLineNo">1181</span><a name="line.1181"></a>
+<span class="sourceLineNo">1182</span>  /**<a name="line.1182"></a>
+<span class="sourceLineNo">1183</span>   * called after merge regions request.<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span>   * @param c coprocessor environment<a name="line.1184"></a>
+<span class="sourceLineNo">1185</span>   * @param regionsToMerge regions to be merged<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span>   */<a name="line.1186"></a>
+<span class="sourceLineNo">1187</span>  default void postMergeRegions(<a name="line.1187"></a>
+<span class="sourceLineNo">1188</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; c,<a name="line.1188"></a>
+<span class="sourceLineNo">1189</span>      final RegionInfo[] regionsToMerge) throws IOException {}<a name="line.1189"></a>
+<span class="sourceLineNo">1190</span><a name="line.1190"></a>
+<span class="sourceLineNo">1191</span>  /**<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span>   * Called before servers are moved to target region server group<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span>   * @param ctx the environment to interact with the framework and master<a name="line.1193"></a>
+<span class="sourceLineNo">1194</span>   * @param servers set of servers to move<a name="line.1194"></a>
+<span class="sourceLineNo">1195</span>   * @param targetGroup destination group<a name="line.1195"></a>
+<span class="sourceLineNo">1196</span>   */<a name="line.1196"></a>
+<span class="sourceLineNo">1197</span>  default void preMoveServersAndTables(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span>                      Set&lt;Address&gt; servers, Set&lt;TableName&gt; tables, String targetGroup) throws IOException {}<a name="line.1198"></a>
+<span class="sourceLineNo">1199</span><a name="line.1199"></a>
+<span class="sourceLineNo">1200</span>  /**<a name="line.1200"></a>
+<span class="sourceLineNo">1201</span>   * Called after servers are moved to target region server group<a name="line.1201"></a>
+<span class="sourceLineNo">1202</span>   * @param ctx the environment to interact with the framework and master<a name="line.1202"></a>
+<span class="sourceLineNo">1203</span>   * @param servers set of servers to move<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span>   * @param targetGroup name of group<a name="line.1204"></a>
+<span class="sourceLineNo">1205</span>   */<a name="line.1205"></a>
+<span class="sourceLineNo">1206</span>  default void postMoveServersAndTables(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span>      Set&lt;Address&gt; servers, Set&lt;TableName&gt; tables, String targetGroup) throws IOException {}<a name="line.1207"></a>
+<span class="sourceLineNo">1208</span><a name="line.1208"></a>
+<span class="sourceLineNo">1209</span>  /**<a name="line.1209"></a>
+<span class="sourceLineNo">1210</span>   * Called before servers are moved to target region server group<a name="line.1210"></a>
+<span class="sourceLineNo">1211</span>   * @param ctx the environment to interact with the framework and master<a name="line.1211"></a>
+<span class="sourceLineNo">1212</span>   * @param servers set of servers to move<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span>   * @param targetGroup destination group<a name="line.1213"></a>
+<span class="sourceLineNo">1214</span>   */<a name="line.1214"></a>
+<span class="sourceLineNo">1215</span>  default void preMoveServers(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1215"></a>
+<span class="sourceLineNo">1216</span>                      Set&lt;Address&gt; servers, String targetGroup) throws IOException {}<a name="line.1216"></a>
+<span class="sourceLineNo">1217</span><a name="line.1217"></a>
+<span class="sourceLineNo">1218</span>  /**<a name="line.1218"></a>
+<span class="sourceLineNo">1219</span>   * Called after servers are moved to target region server group<a name="line.1219"></a>
+<span class="sourceLineNo">1220</span>   * @param ctx the environment to interact with the framework and master<a name="line.1220"></a>
+<span class="sourceLineNo">1221</span>   * @param servers set of servers to move<a name="line.1221"></a>
+<span class="sourceLineNo">1222</span>   * @param targetGroup name of group<a name="line.1222"></a>
+<span class="sourceLineNo">1223</span>   */<a name="line.1223"></a>
+<span class="sourceLineNo">1224</span>  default void postMoveServers(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1224"></a>
+<span class="sourceLineNo">1225</span>                       Set&lt;Address&gt; servers, String targetGroup) throws IOException {}<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span><a name="line.1226"></a>
+<span class="sourceLineNo">1227</span>  /**<a name="line.1227"></a>
+<span class="sourceLineNo">1228</span>   * Called before tables are moved to target region server group<a name="line.1228"></a>
+<span class="sourceLineNo">1229</span>   * @param ctx the environment to interact with the framework and master<a name="line.1229"></a>
+<span class="sourceLineNo">1230</span>   * @param tables set of tables to move<a name="line.1230"></a>
+<span class="sourceLineNo">1231</span>   * @param targetGroup name of group<a name="line.1231"></a>
+<span class="sourceLineNo">1232</span>   */<a name="line.1232"></a>
+<span class="sourceLineNo">1233</span>  default void preMoveTables(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1233"></a>
+<span class="sourceLineNo">1234</span>                     Set&lt;TableName&gt; tables, String targetGroup) throws IOException {}<a name="line.1234"></a>
+<span class="sourceLineNo">1235</span><a name="line.1235"></a>
+<span class="sourceLineNo">1236</span>  /**<a name="line.1236"></a>
+<span class="sourceLineNo">1237</span>   * Called after servers are moved to target region server group<a name="line.1237"></a>
+<span class="sourceLineNo">1238</span>   * @param ctx the environment to interact with the framework and master<a name="line.1238"></a>
+<span class="sourceLineNo">1239</span>   * @param tables set of tables to move<a name="line.1239"></a>
+<span class="sourceLineNo">1240</span>   * @param targetGroup name of group<a name="line.1240"></a>
+<span class="sourceLineNo">1241</span>   */<a name="line.1241"></a>
+<span class="sourceLineNo">1242</span>  default void postMoveTables(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1242"></a>
+<span class="sourceLineNo">1243</span>                      Set&lt;TableName&gt; tables, String targetGroup) throws IOException {}<a name="line.1243"></a>
+<span class="sourceLineNo">1244</span><a name="line.1244"></a>
+<span class="sourceLineNo">1245</span>  /**<a name="line.1245"></a>
+<span class="sourceLineNo">1246</span>   * Called before a new region server group is added<a name="line.1246"></a>
+<span class="sourceLineNo">1247</span>   * @param ctx the environment to interact with the framework and master<a name="line.1247"></a>
+<span class="sourceLineNo">1248</span>   * @param name group name<a name="line.1248"></a>
+<span class="sourceLineNo">1249</span>   */<a name="line.1249"></a>
+<span class="sourceLineNo">1250</span>  default void preAddRSGroup(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1250"></a>
+<span class="sourceLineNo">1251</span>                     String name) throws IOException {}<a name="line.1251"></a>
+<span class="sourceLineNo">1252</span><a name="line.1252"></a>
+<span class="sourceLineNo">1253</span>  /**<a name="line.1253"></a>
+<span class="sourceLineNo">1254</span>   * Called after a new region server group is added<a name="line.1254"></a>
+<span class="sourceLineNo">1255</span>   * @param ctx the environment to interact with the framework and master<a name="line.1255"></a>
+<span class="sourceLineNo">1256</span>   * @param name group name<a name="line.1256"></a>
+<span class="sourceLineNo">1257</span>   */<a name="line.1257"></a>
+<span class="sourceLineNo">1258</span>  default void postAddRSGroup(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1258"></a>
+<span class="sourceLineNo">1259</span>                      String name) throws IOException {}<a name="line.1259"></a>
+<span class="sourceLineNo">1260</span><a name="line.1260"></a>
+<span class="sourceLineNo">1261</span>  /**<a name="line.1261"></a>
+<span class="sourceLineNo">1262</span>   * Called before a region server group is removed<a name="line.1262"></a>
+<span class="sourceLineNo">1263</span>   * @param ctx the environment to interact with the framework and master<a name="line.1263"></a>
+<span class="sourceLineNo">1264</span>   * @param name group name<a name="line.1264"></a>
+<span class="sourceLineNo">1265</span>   */<a name="line.1265"></a>
+<span class="sourceLineNo">1266</span>  default void preRemoveRSGroup(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1266"></a>
+<span class="sourceLineNo">1267</span>                        String name) throws IOException {}<a name="line.1267"></a>
+<span class="sourceLineNo">1268</span><a name="line.1268"></a>
+<span class="sourceLineNo">1269</span>  /**<a name="line.1269"></a>
+<span class="sourceLineNo">1270</span>   * Called after a region server group is removed<a name="line.1270"></a>
+<span class="sourceLineNo">1271</span>   * @param ctx the environment to interact with the framework and master<a name="line.1271"></a>
+<span class="sourceLineNo">1272</span>   * @param name group name<a name="line.1272"></a>
+<span class="sourceLineNo">1273</span>   */<a name="line.1273"></a>
+<span class="sourceLineNo">1274</span>  default void postRemoveRSGroup(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1274"></a>
+<span class="sourceLineNo">1275</span>                         String name) throws IOException {}<a name="line.1275"></a>
+<span class="sourceLineNo">1276</span><a name="line.1276"></a>
+<span class="sourceLineNo">1277</span>  /**<a name="line.1277"></a>
+<span class="sourceLineNo">1278</span>   * Called before a region server group is removed<a name="line.1278"></a>
+<span class="sourceLineNo">1279</span>   * @param ctx the environment to interact with the framework and master<a name="line.1279"></a>
+<span class="sourceLineNo">1280</span>   * @param groupName group name<a name="line.1280"></a>
+<span class="sourceLineNo">1281</span>   */<a name="line.1281"></a>
+<span class="sourceLineNo">1282</span>  default void preBalanceRSGroup(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1282"></a>
+<span class="sourceLineNo">1283</span>                         String groupName) throws IOException {}<a name="line.1283"></a>
+<span class="sourceLineNo">1284</span><a name="line.1284"></a>
+<span class="sourceLineNo">1285</span>  /**<a name="line.1285"></a>
+<span class="sourceLineNo">1286</span>   * Called after a region server group is removed<a name="line.1286"></a>
+<span class="sourceLineNo">1287</span>   * @param ctx the environment to interact with the framework and master<a name="line.1287"></a>
+<span class="sourceLineNo">1288</span>   * @param groupName group name<a name="line.1288"></a>
+<span class="sourceLineNo">1289</span>   */<a name="line.1289"></a>
+<span class="sourceLineNo">1290</span>  default void postBalanceRSGroup(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1290"></a>
+<span class="sourceLineNo">1291</span>                          String groupName, boolean balancerRan) throws IOException {}<a name="line.1291"></a>
+<span class="sourceLineNo">1292</span><a name="line.1292"></a>
+<span class="sourceLineNo">1293</span>  /**<a name="line.1293"></a>
+<span class="sourceLineNo">1294</span>   * Called before add a replication peer<a name="line.1294"></a>
+<span class="sourceLineNo">1295</span>   * @param ctx the environment to interact with the framework and master<a name="line.1295"></a>
+<span class="sourceLineNo">1296</span>   * @param peerId a short name that identifies the peer<a name="line.1296"></a>
+<span class="sourceLineNo">1297</span>   * @param peerConfig configuration for the replication peer<a name="line.1297"></a>
+<span class="sourceLineNo">1298</span>   */<a name="line.1298"></a>
+<span class="sourceLineNo">1299</span>  default void preAddReplicationPeer(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1299"></a>
+<span class="sourceLineNo">1300</span>      String peerId, ReplicationPeerConfig peerConfig) throws IOException {}<a name="line.1300"></a>
+<span class="sourceLineNo">1301</span><a name="line.1301"></a>
+<span class="sourceLineNo">1302</span>  /**<a name="line.1302"></a>
+<span class="sourceLineNo">1303</span>   * Called after add a replication peer<a name="line.1303"></a>
+<span class="sourceLineNo">1304</span>   * @param ctx the environment to interact with the framework and master<a name="line.1304"></a>
+<span class="sourceLineNo">1305</span>   * @param peerId a short name that identifies the peer<a name="line.1305"></a>
+<span class="sourceLineNo">1306</span>   * @param peerConfig configuration for the replication peer<a name="line.1306"></a>
+<span class="sourceLineNo">1307</span>   */<a name="line.1307"></a>
+<span class="sourceLineNo">1308</span>  default void postAddReplicationPeer(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1308"></a>
+<span class="sourceLineNo">1309</span>      String peerId, ReplicationPeerConfig peerConfig) throws IOException {}<a name="line.1309"></a>
+<span class="sourceLineNo">1310</span><a name="line.1310"></a>
+<span class="sourceLineNo">1311</span>  /**<a name="line.1311"></a>
+<span class="sourceLineNo">1312</span>   * Called before remove a replication peer<a name="line.1312"></a>
+<span class="sourceLineNo">1313</span>   * @param ctx<a name="line.1313"></a>
+<span class="sourceLineNo">1314</span>   * @param peerId a short name that identifies the peer<a name="line.1314"></a>
+<span class="sourceLineNo">1315</span>   */<a name="line.1315"></a>
+<span class="sourceLineNo">1316</span>  default void preRemoveReplicationPeer(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1316"></a>
+<span class="sourceLineNo">1317</span>      String peerId) throws IOException {}<a name="line.1317"></a>
+<span class="sourceLineNo">1318</span><a name="line.1318"></a>
+<span class="sourceLineNo">1319</span>  /**<a name="line.1319"></a>
+<span class="sourceLineNo">1320</span>   * Called after remove a replication peer<a name="line.1320"></a>
+<span class="sourceLineNo">1321</span>   * @param ctx<a name="line.1321"></a>
+<span class="sourceLineNo">1322</span>   * @param peerId a short name that identifies the peer<a name="line.1322"></a>
+<span class="sourceLineNo">1323</span>   */<a name="line.1323"></a>
+<span class="sourceLineNo">1324</span>  default void postRemoveReplicationPeer(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1324"></a>
+<span class="sourceLineNo">1325</span>      String peerId) throws IOException {}<a name="line.1325"></a>
+<span class="sourceLineNo">1326</span><a name="line.1326"></a>
+<span class="sourceLineNo">1327</span>  /**<a name="line.1327"></a>
+<span class="sourceLineNo">1328</span>   * Called before enable a replication peer<a name="line.1328"></a>
+<span class="sourceLineNo">1329</span>   * @param ctx<a name="line.1329"></a>
+<span class="sourceLineNo">1330</span>   * @param peerId a short name that identifies the peer<a name="line.1330"></a>
+<span class="sourceLineNo">1331</span>   */<a name="line.1331"></a>
+<span class="sourceLineNo">1332</span>  default void preEnableReplicationPeer(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1332"></a>
+<span class="sourceLineNo">1333</span>      String peerId) throws IOException {}<a name="line.1333"></a>
+<span class="sourceLineNo">1334</span><a name="line.1334"></a>
+<span class="sourceLineNo">1335</span>  /**<a name="line.1335"></a>
+<span class="sourceLineNo">1336</span>   * Called after enable a replication peer<a name="line.1336"></a>
+<span class="sourceLineNo">1337</span>   * @param ctx<a name="line.1337"></a>
+<span class="sourceLineNo">1338</span>   * @param peerId a short name that identifies the peer<a name="line.1338"></a>
+<span class="sourceLineNo">1339</span>   */<a name="line.1339"></a>
+<span class="sourceLineNo">1340</span>  default void postEnableReplicationPeer(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1340"></a>
+<span class="sourceLineNo">1341</span>      String peerId) throws IOException {}<a name="line.1341"></a>
+<span class="sourceLineNo">1342</span><a name="line.1342"></a>
+<span class="sourceLineNo">1343</span>  /**<a name="line.1343"></a>
+<span class="sourceLineNo">1344</span>   * Called before disable a replication peer<a name="line.1344"></a>
+<span class="sourceLineNo">1345</span>   * @param ctx<a name="line.1345"></a>
+<span class="sourceLineNo">1346</span>   * @param peerId a short name that identifies the peer<a name="line.1346"></a>
+<span class="sourceLineNo">1347</span>   */<a name="line.1347"></a>
+<span class="sourceLineNo">1348</span>  default void preDisableReplicationPeer(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1348"></a>
+<span class="sourceLineNo">1349</span>      String peerId) throws IOException {}<a name="line.1349"></a>
+<span class="sourceLineNo">1350</span><a name="line.1350"></a>
+<span class="sourceLineNo">1351</span>  /**<a name="line.1351"></a>
+<span class="sourceLineNo">1352</span>   * Called after disable a replication peer<a name="line.1352"></a>
+<span class="sourceLineNo">1353</span>   * @param ctx<a name="line.1353"></a>
+<span class="sourceLineNo">1354</span>   * @param peerId a short name that identifies the peer<a name="line.1354"></a>
+<span class="sourceLineNo">1355</span>   */<a name="line.1355"></a>
+<span class="sourceLineNo">1356</span>  default void postDisableReplicationPeer(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1356"></a>
+<span class="sourceLineNo">1357</span>      String peerId) throws IOException {}<a name="line.1357"></a>
+<span class="sourceLineNo">1358</span><a name="line.1358"></a>
+<span class="sourceLineNo">1359</span>  /**<a name="line.1359"></a>
+<span class="sourceLineNo">1360</span>   * Called before get the configured ReplicationPeerConfig for the specified peer<a name="line.1360"></a>
+<span class="sourceLineNo">1361</span>   * @param ctx<a name="line.1361"></a>
+<span class="sourceLineNo">1362</span>   * @param peerId a short name that identifies the peer<a name="line.1362"></a>
+<span class="sourceLineNo">1363</span>   */<a name="line.1363"></a>
+<span class="sourceLineNo">1364</span>  default void preGetReplicationPeerConfig(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1364"></a>
+<span class="sourceLineNo">1365</span>      String peerId) throws IOException {}<a name="line.1365"></a>
+<span class="sourceLineNo">1366</span><a name="line.1366"></a>
+<span class="sourceLineNo">1367</span>  /**<a name="line.1367"></a>
+<span class="sourceLineNo">1368</span>   * Called after get the configured ReplicationPeerConfig for the specified peer<a name="line.1368"></a>
+<span class="sourceLineNo">1369</span>   * @param ctx<a name="line.1369"></a>
+<span class="sourceLineNo">1370</span>   * @param peerId a short name that identifies the peer<a name="line.1370"></a>
+<span class="sourceLineNo">1371</span>   */<a name="line.1371"></a>
+<span class="sourceLineNo">1372</span>  default void postGetReplicationPeerConfig(<a name="line.1372"></a>
+<span class="sourceLineNo">1373</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, String peerId) throws IOException {}<a name="line.1373"></a>
+<span class="sourceLineNo">1374</span><a name="line.1374"></a>
+<span class="sourceLineNo">1375</span>  /**<a name="line.1375"></a>
+<span class="sourceLineNo">1376</span>   * Called before update peerConfig for the specified peer<a name="line.1376"></a>
+<span class="sourceLineNo">1377</span>   * @param ctx<a name="line.1377"></a>
+<span class="sourceLineNo">1378</span>   * @param peerId a short name that identifies the peer<a name="line.1378"></a>
+<span class="sourceLineNo">1379</span>   */<a name="line.1379"></a>
+<span class="sourceLineNo">1380</span>  default void preUpdateReplicationPeerConfig(<a name="line.1380"></a>
+<span class="sourceLineNo">1381</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, String peerId,<a name="line.1381"></a>
+<span class="sourceLineNo">1382</span>      ReplicationPeerConfig peerConfig) throws IOException {}<a name="line.1382"></a>
+<span class="sourceLineNo">1383</span><a name="line.1383"></a>
+<span class="sourceLineNo">1384</span>  /**<a name="line.1384"></a>
+<span class="sourceLineNo">1385</span>   * Called after update peerConfig for the specified peer<a name="line.1385"></a>
+<span class="sourceLineNo">1386</span>   * @param ctx the environment to interact with the framework and master<a name="line.1386"></a>
+<span class="sourceLineNo">1387</span>   * @param peerId a short name that identifies the peer<a name="line.1387"></a>
+<span class="sourceLineNo">1388</span>   */<a name="line.1388"></a>
+<span class="sourceLineNo">1389</span>  default void postUpdateReplicationPeerConfig(<a name="line.1389"></a>
+<span class="sourceLineNo">1390</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, String peerId,<a name="line.1390"></a>
+<span class="sourceLineNo">1391</span>      ReplicationPeerConfig peerConfig) throws IOException {}<a name="line.1391"></a>
+<span class="sourceLineNo">1392</span><a name="line.1392"></a>
+<span class="sourceLineNo">1393</span>  /**<a name="line.1393"></a>
+<span class="sourceLineNo">1394</span>   * Called before list replication peers.<a name="line.1394"></a>
+<span class="sourceLineNo">1395</span>   * @param ctx the environment to interact with the framework and master<a name="line.1395"></a>
+<span class="sourceLineNo">1396</span>   * @param regex The regular expression to match peer id<a name="line.1396"></a>
+<span class="sourceLineNo">1397</span>   */<a name="line.1397"></a>
+<span class="sourceLineNo">1398</span>  default void preListReplicationPeers(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1398"></a>
+<span class="sourceLineNo">1399</span>      String regex) throws IOException {}<a name="line.1399"></a>
+<span class="sourceLineNo">1400</span><a name="line.1400"></a>
+<span class="sourceLineNo">1401</span>  /**<a name="line.1401"></a>
+<span class="sourceLineNo">1402</span>   * Called after list replication peers.<a name="line.1402"></a>
+<span class="sourceLineNo">1403</span>   * @param ctx the environment to interact with the framework and master<a name="line.1403"></a>
+<span class="sourceLineNo">1404</span>   * @param regex The regular expression to match peer id<a name="line.1404"></a>
+<span class="sourceLineNo">1405</span>   */<a name="line.1405"></a>
+<span class="sourceLineNo">1406</span>  default void postListReplicationPeers(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1406"></a>
+<span class="sourceLineNo">1407</span>      String regex) throws IOException {}<a name="line.1407"></a>
+<span class="sourceLineNo">1408</span><a name="line.1408"></a>
+<span class="sourceLineNo">1409</span>  /**<a name="line.1409"></a>
+<span class="sourceLineNo">1410</span>   * Called before new LockProcedure is queued.<a name="line.1410"></a>
+<span class="sourceLineNo">1411</span>   * @param ctx the environment to interact with the framework and master<a name="line.1411"></a>
+<span class="sourceLineNo">1412</span>   */<a name="line.1412"></a>
+<span class="sourceLineNo">1413</span>  default void preRequestLock(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, String namespace,<a name="line.1413"></a>
+<span class="sourceLineNo">1414</span>      TableName tableName, RegionInfo[] regionInfos, LockType type,<a name="line.1414"></a>
+<span class="sourceLineNo">1415</span>      String description) throws IOException {}<a name="line.1415"></a>
+<span class="sourceLineNo">1416</span><a name="line.1416"></a>
+<span class="sourceLineNo">1417</span>  /**<a name="line.1417"></a>
+<span class="sourceLineNo">1418</span>   * Called after new LockProcedure is queued.<a name="line.1418"></a>
+<span class="sourceLineNo">1419</span>   * @param ctx the environment to interact with the framework and master<a name="line.1419"></a>
+<span class="sourceLineNo">1420</span>   */<a name="line.1420"></a>
+<span class="sourceLineNo">1421</span>  default void postRequestLock(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, String namespace,<a name="line.1421"></a>
+<span class="sourceLineNo">1422</span>      TableName tableName, RegionInfo[] regionInfos, LockType type,<a name="line.1422"></a>
+<span class="sourceLineNo">1423</span>      String description) throws IOException {}<a name="line.1423"></a>
+<span class="sourceLineNo">1424</span><a name="line.1424"></a>
+<span class="sourceLineNo">1425</span>  /**<a name="line.1425"></a>
+<span class="sourceLineNo">1426</span>   * Called before heartbeat to a lock.<a name="line.1426"></a>
+<span class="sourceLineNo">1427</span>   * @param ctx the environment to interact with the framework and master<a name="line.1427"></a>
+<span class="sourceLineNo">1428</span>   * @param keepAlive if lock should be kept alive; lock will be released if set to false.<a name="line.1428"></a>
+<span class="sourceLineNo">1429</span>   */<a name="line.1429"></a>
+<span class="sourceLineNo">1430</span>  default void preLockHeartbeat(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1430"></a>
+<span class="sourceLineNo">1431</span>      LockProcedure proc, boolean keepAlive) throws IOException {}<a name="line.1431"></a>
+<span class="sourceLineNo">1432</span><a name="line.1432"></a>
+<span class="sourceLineNo">1433</span>  /**<a name="line.1433"></a>
+<span class="sourceLineNo">1434</span>   * Called after heartbeat to a lock.<a name="line.1434"></a>
+<span class="sourceLineNo">1435</span>   * @param ctx the environment to interact with the framework and master<a name="line.1435"></a>
+<span class="sourceLineNo">1436</span>   * @param keepAlive if lock was kept alive; lock was released if set to false.<a name="line.1436"></a>
+<span class="sourceLineNo">1437</span>   */<a name="line.1437"></a>
+<span class="sourceLineNo">1438</span>  default void postLockHeartbeat(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.1438"></a>
+<span class="sourceLineNo">1439</span>      LockProcedure proc, boolean keepAlive) throws IOException {}<a name="line.1439"></a>
+<span class="sourceLineNo">1440</span><a name="line.1440"></a>
+<span class="sourceLineNo">1441</span>  /**<a name="line.1441"></a>
+<span class="sourceLineNo">1442</span>   * Called before list dead region servers.<a name="line.1442"></a>
+<span class="sourceLineNo">1443</span>   */<a name="line.1443"></a>
+<span class="sourceLineNo">1444</span>  default void preListDeadServers(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1444"></a>
+<span class="sourceLineNo">1445</span>      throws IOException {}<a name="line.1445"></a>
+<span class="sourceLineNo">1446</span><a name="line.1446"></a>
+<span class="sourceLineNo">1447</span>  /**<a name="line.1447"></a>
+<span class="sourceLineNo">1448</span>   * Called after list dead region servers.<a name="line.1448"></a>
+<span class="sourceLineNo">1449</span>   */<a name="line.1449"></a>
+<span class="sourceLineNo">1450</span>  default void postListDeadServers(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1450"></a>
+<span class="sourceLineNo">1451</span>      throws IOException {}<a name="line.1451"></a>
+<span class="sourceLineNo">1452</span><a name="line.1452"></a>
+<span class="sourceLineNo">1453</span>  /**<a name="line.1453"></a>
+<span class="sourceLineNo">1454</span>   * Called before clear dead region servers.<a name="line.1454"></a>
+<span class="sourceLineNo">1455</span>   */<a name="line.1455"></a>
+<span class="sourceLineNo">1456</span>  default void preClearDeadServers(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1456"></a>
+<span class="sourceLineNo">1457</span>      throws IOException {}<a name="line.1457"></a>
+<span class="sourceLineNo">1458</span><a name="line.1458"></a>
+<span class="sourceLineNo">1459</span>  /**<a name="line.1459"></a>
+<span class="sourceLineNo">1460</span>   * Called after clear dead region servers.<a name="line.1460"></a>
+<span class="sourceLineNo">1461</span>   */<a name="line.1461"></a>
+<span class="sourceLineNo">1462</span>  default void postClearDeadServers(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1462"></a>
+<span class="sourceLineNo">1463</span>      throws IOException {}<a name="line.1463"></a>
+<span class="sourceLineNo">1464</span>}<a name="line.1464"></a>
 
 
 


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/quotas/MasterSpaceQuotaObserver.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/MasterSpaceQuotaObserver.html b/devapidocs/org/apache/hadoop/hbase/quotas/MasterSpaceQuotaObserver.html
index 03ec072..1eef2dd 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/MasterSpaceQuotaObserver.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/MasterSpaceQuotaObserver.html
@@ -242,7 +242,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObs
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postAbortProcedure</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postAddColumnFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postAddReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postAddRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAssign-org.apache
 .hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postAssign</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postBalance</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-boolean-">postBalanceRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-boolean-">postBalanceSwitch</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postClearDeadServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverC
 ontext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postCloneSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedAddColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postCompletedAddColumnFamilyAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCompletedCreateTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">postCompletedDeleteColumnFamily
 Action</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDeleteTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDisableTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedEnableTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedMergeRegionsA
 ction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postCompletedModifyColumnFamilyAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedSplitRegionAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedTruncateTableAction-org
 .apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedTruncateTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postCreateNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCreateTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">postDeleteColumnFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.h
 adoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">postDeleteSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDisableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDisableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postEnableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postEnableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterOb
 server.html#postGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postGetLocks</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postGetNamespaceDescriptor</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postGetProcedures</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postGetReplicationPeerConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">postGetTableDescriptors</a>, <a href=".
 ./../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">postGetTableNames</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postListDeadServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postListNamespaceDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postListReplicationPeers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.Snap
 shotProtos.SnapshotDescription-">postListSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.master.locking.LockProcedure-boolean-">postLockHeartbeat</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postMergeRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postMergeRegionsCommitAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop
 .hbase.client.ColumnFamilyDescriptor-">postModifyColumnFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">postMove</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postM
 oveServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">postMoveServersAndTables</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveTables</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postRegionOffline</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveRSGroup-org.apache.hadoop.hbase.
 coprocessor.ObserverContext-java.lang.String-">postRemoveRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.procedure2.LockType-java.lang.String-">postRequestLock</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postRestoreSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postRollBackMergeRegionsAction</a>, <a href="../../../../../org/apache/hadoop/hb
 ase/coprocessor/MasterObserver.html#postRollBackSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postRollBackSplitRegionAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetNamespaceQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">postSetSplitOrMergeEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetTableQuota</a>, <a href="../../../../../org/apache/hadoop/hbas
 e/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.Snaps
 hotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postStartMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postStartMaster</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTableFlush</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTruncateTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">postUnassign</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUpdateReplicationPeerConfig-org.a
 pache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postUpdateReplicationPeerConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.procedure2.ProcedureExecutor-long-">preAbortProcedure</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preAddColumnFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preAddColumnFamilyAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/M
 asterObserver.html#preAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preAddReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preAddRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preAssign</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preBalance</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preBalanceRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/Ma
 sterObserver.html#preBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-">preBalanceSwitch</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preClearDeadServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preCloneSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preCreateNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.cl
 ient.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preDeleteColumnFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preDeleteColumnFamilyAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDelet
 eNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">preDeleteSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDisableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTable
 -org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preEnableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTableAction</a>, <a href="../../../../../org/apache/hadoop/hbas
 e/coprocessor/MasterObserver.html#preGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetLocks</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetNamespaceDescriptor</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetProcedures</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetReplicationPeerConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">preGetTableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/coproce
 ssor/MasterObserver.html#preGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">preGetTableNames</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preListDeadServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">preListNamespaceDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preListReplicationPeers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">preListSnapshot</a>, 
 <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.master.locking.LockProcedure-boolean-">preLockHeartbeat</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMasterInitialization-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preMasterInitialization</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegionsAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsCommitAction-org.apache.hadoop.hbase.co
 processor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-java.util.List-">preMergeRegionsCommitAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preModifyColumnFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preModifyColumnFamilyAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTable-org.apa
 che.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">preMove</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServersAndTables-org.apache.hadoo
 p.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">preMoveServersAndTables</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveTables</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preRegionOffline</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.h
 tml#preRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.procedure2.LockType-java.lang.String-">preRequestLock</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preRestoreSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetNamespaceQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.ap
 ache.hadoop.hbase.client.MasterSwitchType-">preSetSplitOrMergeEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetTableQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.h
 base.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preShutdown-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preShutdown</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegion-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-
 org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegionAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAfterPONRAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preSplitRegionAfterPONRAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionBeforePONRAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-byte:A-java.util.List-">preSplitRegionBeforePONRAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preStopMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preStopMaster</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTableFlush</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTable-org.apache.hadoop.hbase.coprocessor.Obser
 verContext-org.apache.hadoop.hbase.TableName-">preTruncateTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">preUnassign</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preUpdateReplicationPeerConfig</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postAbortProcedure</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postAddColumnFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postAddReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postAddRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAssign-org.apache
 .hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postAssign</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postBalance</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-boolean-">postBalanceRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-boolean-">postBalanceSwitch</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postClearDeadServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverC
 ontext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postCloneSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedAddColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postCompletedAddColumnFamilyAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCompletedCreateTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">postCompletedDeleteColumnFamily
 Action</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDeleteTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDisableTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedEnableTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedMergeRegionsA
 ction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postCompletedModifyColumnFamilyAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedSplitRegionAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedTruncateTableAction-org
 .apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedTruncateTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postCreateNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCreateTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">postDeleteColumnFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.h
 adoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">postDeleteSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDisableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDisableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postEnableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postEnableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterOb
 server.html#postGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postGetLocks</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postGetNamespaceDescriptor</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postGetProcedures</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postGetReplicationPeerConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">postGetTableDescriptors</a>, <a href=".
 ./../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">postGetTableNames</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postListDeadServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postListNamespaceDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postListReplicationPeers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.Snap
 shotProtos.SnapshotDescription-">postListSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.master.locking.LockProcedure-boolean-">postLockHeartbeat</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postMergeRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postMergeRegionsCommitAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop
 .hbase.client.ColumnFamilyDescriptor-">postModifyColumnFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">postMove</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postM
 oveServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">postMoveServersAndTables</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveTables</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postRegionOffline</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveRSGroup-org.apache.hadoop.hbase.
 coprocessor.ObserverContext-java.lang.String-">postRemoveRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.procedure2.LockType-java.lang.String-">postRequestLock</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postRestoreSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postRollBackMergeRegionsAction</a>, <a href="../../../../../org/apache/hadoop/hb
 ase/coprocessor/MasterObserver.html#postRollBackSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postRollBackSplitRegionAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetNamespaceQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">postSetSplitOrMergeEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetTableQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#po
 stSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postSnapshot</a>, <a href=
 "../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postStartMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postStartMaster</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTableFlush</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTruncateTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">postUnassign</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.re
 plication.ReplicationPeerConfig-">postUpdateReplicationPeerConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.procedure2.ProcedureExecutor-long-">preAbortProcedure</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preAddColumnFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preAddColumnFamilyAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverConte
 xt-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preAddReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preAddRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preAssign</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preBalance</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preBalanceRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boo
 lean-">preBalanceSwitch</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preClearDeadServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preCloneSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preCreateNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTable</a>, <a 
 href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preDeleteColumnFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preDeleteColumnFamilyAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDeleteNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver
 .html#preDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">preDeleteSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDisableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">p
 reDisableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preEnableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetLocks-org.apache.hadoop.hbase.coprocessor.Observer
 Context-">preGetLocks</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetNamespaceDescriptor</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetProcedures</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetReplicationPeerConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">preGetTableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverCont
 ext-java.util.List-java.lang.String-">preGetTableNames</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preListDeadServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">preListNamespaceDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preListReplicationPeers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">preListSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preLockHea
 rtbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.master.locking.LockProcedure-boolean-">preLockHeartbeat</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMasterInitialization-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preMasterInitialization</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegionsAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-java.util.List-">pre
 MergeRegionsCommitAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preModifyColumnFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preModifyColumnFamilyAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.
 hadoop.hbase.client.TableDescriptor-">preModifyTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">preMove</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">preMove
 ServersAndTables</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveTables</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preRegionOffline</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-or
 g.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.procedure2.LockType-java.lang.String-">preRequestLock</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preRestoreSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetNamespaceQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">preSetSplitOrMergeEnabled</a>, <a href="../../../../../org/apach
 e/hadoop/hbase/coprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetTableQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a h
 ref="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preShutdown-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preShutdown</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegion-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegionAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAfterPONRAction-o
 rg.apache.hadoop.hbase.coprocessor.ObserverContext-">preSplitRegionAfterPONRAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionBeforePONRAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-byte:A-java.util.List-">preSplitRegionBeforePONRAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preStopMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preStopMaster</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTableFlush</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTableAction-org.apac
 he.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">preUnassign</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preUpdateReplicationPeerConfig</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.Coprocessor">


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/coprocessor/class-use/MasterCoprocessorEnvironment.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/coprocessor/class-use/MasterCoprocessorEnvironment.html b/devapidocs/org/apache/hadoop/hbase/coprocessor/class-use/MasterCoprocessorEnvironment.html
index 12ff615..f0bc6dd 100644
--- a/devapidocs/org/apache/hadoop/hbase/coprocessor/class-use/MasterCoprocessorEnvironment.html
+++ b/devapidocs/org/apache/hadoop/hbase/coprocessor/class-use/MasterCoprocessorEnvironment.html
@@ -566,9 +566,9 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetNamespaceQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetNamespaceQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-                     org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+                     <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called after the quota for the namespace is stored.</div>
 </td>
 </tr>
@@ -582,35 +582,35 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetTableQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetTableQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                  <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-                 org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+                 <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called after the quota for the table is stored.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
-                org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+                <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called after the quota for the user is stored.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-                org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+                <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called after the quota for the user on the specified namespace is stored.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                 <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-                org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+                <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called after the quota for the user on the specified table is stored.</div>
 </td>
 </tr>
@@ -1077,9 +1077,9 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetNamespaceQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetNamespaceQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-                    org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+                    <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called before the quota for the namespace is stored.</div>
 </td>
 </tr>
@@ -1093,35 +1093,35 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetTableQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetTableQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-                org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+                <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called before the quota for the table is stored.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
-               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+               <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called before the quota for the user is stored.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+               <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called before the quota for the user on the specified namespace is stored.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+               <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called before the quota for the user on the specified table is stored.</div>
 </td>
 </tr>
@@ -1670,9 +1670,9 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AccessController.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetNamespaceQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">AccessController.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetNamespaceQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-                    org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+                    <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
@@ -1682,29 +1682,29 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AccessController.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetTableQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">AccessController.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetTableQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-                org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+                <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AccessController.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">AccessController.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
-               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+               <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AccessController.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">AccessController.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+               <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AccessController.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">AccessController.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+               <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/coprocessor/class-use/ObserverContext.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/coprocessor/class-use/ObserverContext.html b/devapidocs/org/apache/hadoop/hbase/coprocessor/class-use/ObserverContext.html
index b175474..48d8a67 100644
--- a/devapidocs/org/apache/hadoop/hbase/coprocessor/class-use/ObserverContext.html
+++ b/devapidocs/org/apache/hadoop/hbase/coprocessor/class-use/ObserverContext.html
@@ -951,9 +951,9 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetNamespaceQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetNamespaceQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-                     org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+                     <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called after the quota for the namespace is stored.</div>
 </td>
 </tr>
@@ -967,35 +967,35 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetTableQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetTableQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                  <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-                 org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+                 <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called after the quota for the table is stored.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
-                org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+                <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called after the quota for the user is stored.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-                org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+                <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called after the quota for the user on the specified namespace is stored.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                 <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-                org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+                <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called after the quota for the user on the specified table is stored.</div>
 </td>
 </tr>
@@ -1808,9 +1808,9 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetNamespaceQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetNamespaceQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-                    org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+                    <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called before the quota for the namespace is stored.</div>
 </td>
 </tr>
@@ -1824,35 +1824,35 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetTableQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetTableQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-                org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+                <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called before the quota for the table is stored.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
-               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+               <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called before the quota for the user is stored.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+               <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called before the quota for the user on the specified namespace is stored.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+               <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called before the quota for the user on the specified table is stored.</div>
 </td>
 </tr>
@@ -2867,9 +2867,9 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AccessController.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetNamespaceQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">AccessController.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetNamespaceQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-                    org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+                    <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
@@ -2879,29 +2879,29 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AccessController.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetTableQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">AccessController.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetTableQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-                org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+                <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AccessController.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">AccessController.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
-               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+               <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AccessController.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">AccessController.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+               <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AccessController.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><span class="typeNameLabel">AccessController.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+               <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/devapidocs/index-all.html b/devapidocs/index-all.html
index 5c69557..07378eb 100644
--- a/devapidocs/index-all.html
+++ b/devapidocs/index-all.html
@@ -3265,8 +3265,6 @@
 <dd>
 <div class="block">Convience method to change metrics when a batch of operations are applied.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#applyBypassGlobals-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas.Builder-boolean-">applyBypassGlobals(QuotaProtos.Quotas.Builder, boolean)</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HBaseConfiguration.html#applyClusterKeyToConf-org.apache.hadoop.conf.Configuration-java.lang.String-">applyClusterKeyToConf(Configuration, String)</a></span> - Static method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/HBaseConfiguration.html" title="class in org.apache.hadoop.hbase">HBaseConfiguration</a></dt>
 <dd>
 <div class="block">Apply the settings in the given key to the given configuration, this is
@@ -3284,16 +3282,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegion.html#applyFamilyMapToMemstore-java.util.Map-org.apache.hadoop.hbase.regionserver.MemstoreSize-">applyFamilyMapToMemstore(Map&lt;byte[], List&lt;Cell&gt;&gt;, MemstoreSize)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#applySpaceLimit-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas.Builder-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceLimitRequest-">applySpaceLimit(QuotaProtos.Quotas.Builder, QuotaProtos.SpaceLimitRequest)</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager</a></dt>
-<dd>
-<div class="block">Adds the information from the provided <code>QuotaProtos.SpaceLimitRequest</code> to the <code>QuotaProtos.Quotas</code> builder.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#applySpaceQuota-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas.Builder-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota-">applySpaceQuota(QuotaProtos.Quotas.Builder, QuotaProtos.SpaceQuota)</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager</a></dt>
-<dd>
-<div class="block">Merges the provided <code>QuotaProtos.SpaceQuota</code> into the given <code>QuotaProtos.Quotas</code> builder.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#applyThrottle-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas.Builder-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.ThrottleRequest-">applyThrottle(QuotaProtos.Quotas.Builder, QuotaProtos.ThrottleRequest)</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegion.html#applyToMemstore-org.apache.hadoop.hbase.regionserver.HStore-java.util.List-boolean-org.apache.hadoop.hbase.regionserver.MemstoreSize-">applyToMemstore(HStore, List&lt;Cell&gt;, boolean, MemstoreSize)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegion.html#applyToMemstore-org.apache.hadoop.hbase.regionserver.HStore-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.regionserver.MemstoreSize-">applyToMemstore(HStore, Cell, MemstoreSize)</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>
@@ -7114,6 +7102,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/HFileLink.html#buildFromHFileLinkPattern-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">buildFromHFileLinkPattern(Path, Path, Path)</a></span> - Static method in class org.apache.hadoop.hbase.io.<a href="org/apache/hadoop/hbase/io/HFileLink.html" title="class in org.apache.hadoop.hbase.io">HFileLink</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/QuotaSettings.html#buildFromProto-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest-">buildFromProto(MasterProtos.SetQuotaRequest)</a></span> - Static method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></dt>
+<dd>
+<div class="block">Converts the protocol buffer request into a QuotaSetting POJO.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/access/AccessControlUtil.html#buildGetUserPermissionsResponse-java.util.List-">buildGetUserPermissionsResponse(List&lt;UserPermission&gt;)</a></span> - Static method in class org.apache.hadoop.hbase.security.access.<a href="org/apache/hadoop/hbase/security/access/AccessControlUtil.html" title="class in org.apache.hadoop.hbase.security.access">AccessControlUtil</a></dt>
 <dd>
 <div class="block">Converts the permissions list into a protocol buffer GetUserPermissionsResponse</div>
@@ -7154,6 +7146,10 @@
 <dd>
 <div class="block">Builds a <code>QuotaProtos.SpaceQuota</code> protobuf object given the arguments.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#buildProtoFromQuota-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota-">buildProtoFromQuota(QuotaProtos.SpaceQuota)</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html" title="class in org.apache.hadoop.hbase.quotas">SpaceLimitSettings</a></dt>
+<dd>
+<div class="block">Build a <code>QuotaProtos.SpaceLimitRequest</code> protobuf object from the given <code>QuotaProtos.SpaceQuota</code>.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#buildProtoRemoveQuota--">buildProtoRemoveQuota()</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html" title="class in org.apache.hadoop.hbase.quotas">SpaceLimitSettings</a></dt>
 <dd>
 <div class="block">Builds a <code>QuotaProtos.SpaceQuota</code> protobuf object to remove a quota.</div>
@@ -7228,6 +7224,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/snapshot/RegionServerSnapshotManager.SnapshotSubprocedureBuilder.html#buildSubprocedure-java.lang.String-byte:A-">buildSubprocedure(String, byte[])</a></span> - Method in class org.apache.hadoop.hbase.regionserver.snapshot.<a href="org/apache/hadoop/hbase/regionserver/snapshot/RegionServerSnapshotManager.SnapshotSubprocedureBuilder.html" title="class in org.apache.hadoop.hbase.regionserver.snapshot">RegionServerSnapshotManager.SnapshotSubprocedureBuilder</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#buildThrottleQuotas-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Throttle-">buildThrottleQuotas(QuotaProtos.Throttle)</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.html#buildUsername-org.apache.hadoop.security.token.Token-">buildUsername(Token&lt;BlockTokenIdentifier&gt;)</a></span> - Static method in class org.apache.hadoop.hbase.io.asyncfs.<a href="org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.html" title="class in org.apache.hadoop.hbase.io.asyncfs">FanOutOneBlockAsyncDFSOutputSaslHelper</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/VersionInfoUtil.html#buildVersionNumber-int-int-int-">buildVersionNumber(int, int, int)</a></span> - Static method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/VersionInfoUtil.html" title="class in org.apache.hadoop.hbase.client">VersionInfoUtil</a></dt>
@@ -7388,6 +7386,8 @@
 <dd>
 <div class="block">Constructs the exception and supplies a string as the message</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#bypassGlobals">bypassGlobals</a></span> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#bypassGlobals-java.lang.String-boolean-">bypassGlobals(String, boolean)</a></span> - Static method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettingsFactory</a></dt>
 <dd>
 <div class="block">Set the "bypass global settings" for the specified user</div>
@@ -11892,6 +11892,8 @@
 <dd>
 <div class="block">Remove the currently archived tables.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#clearThrottleBuilder-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Throttle.Builder-">clearThrottleBuilder(QuotaProtos.Throttle.Builder)</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/zookeeper/MetricsZooKeeperSourceImpl.html#clearZKExceptionMetrics--">clearZKExceptionMetrics()</a></span> - Method in class org.apache.hadoop.hbase.zookeeper.<a href="org/apache/hadoop/hbase/zookeeper/MetricsZooKeeperSourceImpl.html" title="class in org.apache.hadoop.hbase.zookeeper">MetricsZooKeeperSourceImpl</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure/ZKProcedureUtil.html#clearZNodes-java.lang.String-">clearZNodes(String)</a></span> - Method 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>
@@ -23325,7 +23327,9 @@
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.html#delete-long:A-">delete(long[])</a></span> - Method in class org.apache.hadoop.hbase.procedure2.store.wal.<a href="org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.html" title="class in org.apache.hadoop.hbase.procedure2.store.wal">WALProcedureStore</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#delete--">delete()</a></span> - Method in interface org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html" title="interface in org.apache.hadoop.hbase.quotas">MasterQuotaManager.SetQuotaOperations</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Deletes the quota for the subject.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegion.html#delete-org.apache.hadoop.hbase.client.Delete-">delete(Delete)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegion.html#delete-java.util.NavigableMap-org.apache.hadoop.hbase.client.Durability-">delete(NavigableMap&lt;byte[], List&lt;Cell&gt;&gt;, Durability)</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>
@@ -29495,7 +29499,9 @@
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/visibility/FeedUserAuthScanLabelGenerator.html#FeedUserAuthScanLabelGenerator--">FeedUserAuthScanLabelGenerator()</a></span> - Constructor for class org.apache.hadoop.hbase.security.visibility.<a href="org/apache/hadoop/hbase/security/visibility/FeedUserAuthScanLabelGenerator.html" title="class in org.apache.hadoop.hbase.security.visibility">FeedUserAuthScanLabelGenerator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#fetch--">fetch()</a></span> - Method in interface org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html" title="interface in org.apache.hadoop.hbase.quotas">MasterQuotaManager.SetQuotaOperations</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Fetches the current quota settings for the subject.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/QuotaCache.QuotaRefresherChore.html#fetch-java.lang.String-java.util.concurrent.ConcurrentHashMap-org.apache.hadoop.hbase.quotas.QuotaCache.Fetcher-">fetch(String, ConcurrentHashMap&lt;K, V&gt;, QuotaCache.Fetcher&lt;K, V&gt;)</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/QuotaCache.QuotaRefresherChore.html" title="class in org.apache.hadoop.hbase.quotas">QuotaCache.QuotaRefresherChore</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.WalProcedureMap.html#fetchAll--">fetchAll()</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>
@@ -34098,6 +34104,8 @@
 <dd>
 <div class="block">Find descriptors by namespace.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html#getBypass--">getBypass()</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettingsFactory.QuotaGlobalsSettingsBypass</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/nio/ByteBuff.html#getByteAfterPosition-int-">getByteAfterPosition(int)</a></span> - Method in class org.apache.hadoop.hbase.nio.<a href="org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a></dt>
 <dd>
 <div class="block">Fetches the byte at the given offset from current position.</div>
@@ -37977,6 +37985,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/SimpleRpcScheduler.html#getGeneralQueueLength--">getGeneralQueueLength()</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/SimpleRpcScheduler.html" title="class in org.apache.hadoop.hbase.ipc">SimpleRpcScheduler</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#getGlobalBypass--">getGlobalBypass()</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/QuotaState.html#getGlobalLimiter--">getGlobalLimiter()</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/QuotaState.html" title="class in org.apache.hadoop.hbase.quotas">QuotaState</a></dt>
 <dd>
 <div class="block">Return the limiter associated with this quota.</div>
@@ -43974,6 +43984,8 @@
 <dd>
 <div class="block">Returns the status of the quota.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#getQuotaType--">getQuotaType()</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/QuotaSettings.html#getQuotaType--">getQuotaType()</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html#getQuotaType--">getQuotaType()</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettingsFactory.QuotaGlobalsSettingsBypass</a></dt>
@@ -47458,6 +47470,8 @@
 <dd>
 <div class="block">Get a list of all the normal sources of this rs</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#getSpaceProto--">getSpaceProto()</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/NamespaceQuotaSnapshotStore.html#getSpaceQuota-java.lang.String-">getSpaceQuota(String)</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/NamespaceQuotaSnapshotStore.html" title="class in org.apache.hadoop.hbase.quotas">NamespaceQuotaSnapshotStore</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/QuotaSnapshotStore.html#getSpaceQuota-T-">getSpaceQuota(T)</a></span> - Method in interface org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/QuotaSnapshotStore.html" title="interface in org.apache.hadoop.hbase.quotas">QuotaSnapshotStore</a></dt>
@@ -49640,6 +49654,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/compactions/CompactionConfiguration.html#getThrottlePoint--">getThrottlePoint()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.compactions.<a href="org/apache/hadoop/hbase/regionserver/compactions/CompactionConfiguration.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionConfiguration</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#getThrottleProto--">getThrottleProto()</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/ThrottleSettings.html#getThrottleType--">getThrottleType()</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/ThrottleSettings.html" title="class in org.apache.hadoop.hbase.quotas">ThrottleSettings</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/throttle/CompactionThroughputControllerFactory.html#getThroughputControllerClass-org.apache.hadoop.conf.Configuration-">getThroughputControllerClass(Configuration)</a></span> - Static method in class org.apache.hadoop.hbase.regionserver.throttle.<a href="org/apache/hadoop/hbase/regionserver/throttle/CompactionThroughputControllerFactory.html" title="class in org.apache.hadoop.hbase.regionserver.throttle">CompactionThroughputControllerFactory</a></dt>
@@ -51452,6 +51468,15 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html#globalOnHeapMemstoreLimitLowMark">globalOnHeapMemstoreLimitLowMark</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerAccounting</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">GlobalQuotaSettings</span></a> - Class in <a href="org/apache/hadoop/hbase/quotas/package-summary.html">org.apache.hadoop.hbase.quotas</a></dt>
+<dd>
+<div class="block">An object which captures all quotas types (throttle or space) for a subject (user, table, or
+ namespace).</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#GlobalQuotaSettings-java.lang.String-org.apache.hadoop.hbase.TableName-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">GlobalQuotaSettings(String, TableName, String, QuotaProtos.Quotas)</a></span> - Constructor for class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#GlobalQuotaSettings-java.lang.String-org.apache.hadoop.hbase.TableName-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Throttle-java.lang.Boolean-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota-">GlobalQuotaSettings(String, TableName, String, QuotaProtos.Throttle, Boolean, QuotaProtos.SpaceQuota)</a></span> - Constructor for class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/MetricsSource.html#globalSourceSource">globalSourceSource</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/MetricsSource.html" title="class in org.apache.hadoop.hbase.replication.regionserver">MetricsSource</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RetryingTimeTracker.html#globalStartTime">globalStartTime</a></span> - Variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RetryingTimeTracker.html" title="class in org.apache.hadoop.hbase.client">RetryingTimeTracker</a></dt>
@@ -68021,7 +68046,9 @@
 <dt><a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">MasterQuotaManager.NamedLock</span></a>&lt;<a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html" title="type parameter in MasterQuotaManager.NamedLock">T</a>&gt; - Class in <a href="org/apache/hadoop/hbase/quotas/package-summary.html">org.apache.hadoop.hbase.quotas</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html" title="interface in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">MasterQuotaManager.SetQuotaOperations</span></a> - Interface in <a href="org/apache/hadoop/hbase/quotas/package-summary.html">org.apache.hadoop.hbase.quotas</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Encapsulates CRUD quota operations for some subject.</div>
+</dd>
 <dt><a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.SizeSnapshotWithTimestamp.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">MasterQuotaManager.SizeSnapshotWithTimestamp</span></a> - Class in <a href="org/apache/hadoop/hbase/quotas/package-summary.html">org.apache.hadoop.hbase.quotas</a></dt>
 <dd>
 <div class="block">Holds the size of a region at the given time, millis since the epoch.</div>
@@ -69306,6 +69333,19 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/store/ProcedureStoreTracker.BitSetNode.html#merge-org.apache.hadoop.hbase.procedure2.store.ProcedureStoreTracker.BitSetNode-">merge(ProcedureStoreTracker.BitSetNode)</a></span> - Method in class org.apache.hadoop.hbase.procedure2.store.<a href="org/apache/hadoop/hbase/procedure2/store/ProcedureStoreTracker.BitSetNode.html" title="class in org.apache.hadoop.hbase.procedure2.store">ProcedureStoreTracker.BitSetNode</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#merge-org.apache.hadoop.hbase.quotas.QuotaSettings-">merge(QuotaSettings)</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/QuotaSettings.html#merge-org.apache.hadoop.hbase.quotas.QuotaSettings-">merge(QuotaSettings)</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></dt>
+<dd>
+<div class="block">Merges the provided settings with <code>this</code> and returns a new settings
+ object to the caller if the merged settings differ from the original.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html#merge-org.apache.hadoop.hbase.quotas.QuotaSettings-">merge(QuotaSettings)</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettingsFactory.QuotaGlobalsSettingsBypass</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#merge-org.apache.hadoop.hbase.quotas.QuotaSettings-">merge(QuotaSettings)</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html" title="class in org.apache.hadoop.hbase.quotas">SpaceLimitSettings</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/ThrottleSettings.html#merge-org.apache.hadoop.hbase.quotas.QuotaSettings-">merge(QuotaSettings)</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/ThrottleSettings.html" title="class in org.apache.hadoop.hbase.quotas">ThrottleSettings</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/impl/BackupCommands.html#MERGE_CMD_USAGE">MERGE_CMD_USAGE</a></span> - Static variable in class org.apache.hadoop.hbase.backup.impl.<a href="org/apache/hadoop/hbase/backup/impl/BackupCommands.html" title="class in org.apache.hadoop.hbase.backup.impl">BackupCommands</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#MERGE_METRIC_PREFIX">MERGE_METRIC_PREFIX</a></span> - Static variable in interface org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html" title="interface in org.apache.hadoop.hbase.master">MetricsAssignmentManagerSource</a></dt>
@@ -78523,8 +78563,11 @@ service.</div>
 <dd>
 <div class="block">For notification post append to the writer.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#postApply-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postApply(QuotaProtos.Quotas)</a></span> - Method in interface org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html" title="interface in org.apache.hadoop.hbase.quotas">MasterQuotaManager.SetQuotaOperations</a></dt>
-<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#postApply-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postApply(GlobalQuotaSettings)</a></span> - Method in interface org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html" title="interface in org.apache.hadoop.hbase.quotas">MasterQuotaManager.SetQuotaOperations</a></dt>
+<dd>
+<div class="block">Performs some action after <a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#update-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-"><code>MasterQuotaManager.SetQuotaOperations.update(GlobalQuotaSettings)</code></a> with the resulting quota
+ from the request action for the subject.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postAssign(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, RegionInfo)</a></span> - Method in interface org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></dt>
 <dd>
 <div class="block">Called after the region assignment has been requested.</div>
@@ -79280,11 +79323,11 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/visibility/VisibilityController.html#postScannerOpen-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Scan-org.apache.hadoop.hbase.regionserver.RegionScanner-">postScannerOpen(ObserverContext&lt;RegionCoprocessorEnvironment&gt;, Scan, RegionScanner)</a></span> - Method in class org.apache.hadoop.hbase.security.visibility.<a href="org/apache/hadoop/hbase/security/visibility/VisibilityController.html" title="class in org.apache.hadoop.hbase.security.visibility">VisibilityController</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetNamespaceQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, QuotaProtos.Quotas)</a></span> - Method in interface org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetNamespaceQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, GlobalQuotaSettings)</a></span> - Method in interface org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></dt>
 <dd>
 <div class="block">Called after the quota for the namespace is stored.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postSetNamespaceQuota-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetNamespaceQuota(String, QuotaProtos.Quotas)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postSetNamespaceQuota-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetNamespaceQuota(String, GlobalQuotaSettings)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">postSetSplitOrMergeEnabled(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, boolean, MasterSwitchType)</a></span> - Method in interface org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></dt>
 <dd>
@@ -79296,29 +79339,29 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/visibility/VisibilityController.html#postSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">postSetSplitOrMergeEnabled(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, boolean, MasterSwitchType)</a></span> - Method in class org.apache.hadoop.hbase.security.visibility.<a href="org/apache/hadoop/hbase/security/visibility/VisibilityController.html" title="class in org.apache.hadoop.hbase.security.visibility">VisibilityController</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetTableQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, TableName, QuotaProtos.Quotas)</a></span> - Method in interface org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetTableQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, TableName, GlobalQuotaSettings)</a></span> - Method in interface org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></dt>
 <dd>
 <div class="block">Called after the quota for the table is stored.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postSetTableQuota-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetTableQuota(TableName, QuotaProtos.Quotas)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postSetTableQuota-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetTableQuota(TableName, GlobalQuotaSettings)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, QuotaProtos.Quotas)</a></span> - Method in interface org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, GlobalQuotaSettings)</a></span> - Method in interface org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></dt>
 <dd>
 <div class="block">Called after the quota for the user is stored.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, TableName, QuotaProtos.Quotas)</a></span> - Method in interface org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, TableName, GlobalQuotaSettings)</a></span> - Method in interface org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></dt>
 <dd>
 <div class="block">Called after the quota for the user on the specified table is stored.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, String, QuotaProtos.Quotas)</a></span> - Method in interface org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, String, GlobalQuotaSettings)</a></span> - Method in interface org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></dt>
 <dd>
 <div class="block">Called after the quota for the user on the specified namespace is stored.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postSetUserQuota-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota(String, QuotaProtos.Quotas)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postSetUserQuota-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota(String, GlobalQuotaSettings)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postSetUserQuota-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota(String, TableName, QuotaProtos.Quotas)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postSetUserQuota-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota(String, TableName, GlobalQuotaSettings)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postSetUserQuota-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota(String, String, QuotaProtos.Quotas)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postSetUserQuota-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota(String, String, GlobalQuotaSettings)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#postShipEdits-java.util.List-int-">postShipEdits(List&lt;WAL.Entry&gt;, int)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSource</a></dt>
 <dd>&nbsp;</dd>
@@ -79504,8 +79547,11 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/access/AccessController.html#preAppendAfterRowLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Append-">preAppendAfterRowLock(ObserverContext&lt;RegionCoprocessorEnvironment&gt;, Append)</a></span> - Method in class org.apache.hadoop.hbase.security.access.<a href="org/apache/hadoop/hbase/security/access/AccessController.html" title="class in org.apache.hadoop.hbase.security.access">AccessController</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#preApply-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preApply(QuotaProtos.Quotas)</a></span> - Method in interface org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html" title="interface in org.apache.hadoop.hbase.quotas">MasterQuotaManager.SetQuotaOperations</a></dt>
-<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#preApply-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preApply(GlobalQuotaSettings)</a></span> - Method in interface org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html" title="interface in org.apache.hadoop.hbase.quotas">MasterQuotaManager.SetQuotaOperations</a></dt>
+<dd>
+<div class="block">Performs some action before <a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#update-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-"><code>MasterQuotaManager.SetQuotaOperations.update(GlobalQuotaSettings)</code></a> with the current quota
+ for the subject.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preAssign(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, RegionInfo)</a></span> - Method in interface org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></dt>
 <dd>
 <div class="block">Called prior to assigning a specific region.</div>
@@ -80865,13 +80911,13 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/procedure/TruncateTableProcedure.html#preserveSplits">preserveSplits</a></span> - Variable in class org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/TruncateTableProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">TruncateTableProcedure</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetNamespaceQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, QuotaProtos.Quotas)</a></span> - Method in interface org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetNamespaceQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, GlobalQuotaSettings)</a></span> - Method in interface org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></dt>
 <dd>
 <div class="block">Called before the quota for the namespace is stored.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preSetNamespaceQuota-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetNamespaceQuota(String, QuotaProtos.Quotas)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preSetNamespaceQuota-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetNamespaceQuota(String, GlobalQuotaSettings)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/access/AccessController.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetNamespaceQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, QuotaProtos.Quotas)</a></span> - Method in class org.apache.hadoop.hbase.security.access.<a href="org/apache/hadoop/hbase/security/access/AccessController.html" title="class in org.apache.hadoop.hbase.security.access">AccessController</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/access/AccessController.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetNamespaceQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, GlobalQuotaSettings)</a></span> - Method in class org.apache.hadoop.hbase.security.access.<a href="org/apache/hadoop/hbase/security/access/AccessController.html" title="class in org.apache.hadoop.hbase.security.access">AccessController</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">preSetSplitOrMergeEnabled(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, boolean, MasterSwitchType)</a></span> - Method in interface org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></dt>
 <dd>
@@ -80883,37 +80929,37 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/visibility/VisibilityController.html#preSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">preSetSplitOrMergeEnabled(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, boolean, MasterSwitchType)</a></span> - Method in class org.apache.hadoop.hbase.security.visibility.<a href="org/apache/hadoop/hbase/security/visibility/VisibilityController.html" title="class in org.apache.hadoop.hbase.security.visibility">VisibilityController</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetTableQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, TableName, QuotaProtos.Quotas)</a></span> - Method in interface org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetTableQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, TableName, GlobalQuotaSettings)</a></span> - Method in interface org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></dt>
 <dd>
 <div class="block">Called before the quota for the table is stored.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preSetTableQuota-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetTableQuota(TableName, QuotaProtos.Quotas)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preSetTableQuota-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetTableQuota(TableName, GlobalQuotaSettings)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/access/AccessController.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetTableQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, TableName, QuotaProtos.Quotas)</a></span> - Method in class org.apache.hadoop.hbase.security.access.<a href="org/apache/hadoop/hbase/security/access/AccessController.html" title="class in org.apache.hadoop.hbase.security.access">AccessController</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/access/AccessController.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetTableQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, TableName, GlobalQuotaSettings)</a></span> - Method in class org.apache.hadoop.hbase.security.access.<a href="org/apache/hadoop/hbase/security/access/AccessController.html" title="class in org.apache.hadoop.hbase.security.access">AccessController</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, QuotaProtos.Quotas)</a></span> - Method in interface org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, GlobalQuotaSettings)</a></span> - Method in interface org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></dt>
 <dd>
 <div class="block">Called before the quota for the user is stored.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, TableName, QuotaProtos.Quotas)</a></span> - Method in interface org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, TableName, GlobalQuotaSettings)</a></span> - Method in interface org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></dt>
 <dd>
 <div class="block">Called before the quota for the user on the specified table is stored.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, String, QuotaProtos.Quotas)</a></span> - Method in interface org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, String, GlobalQuotaSettings)</a></span> - Method in interface org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></dt>
 <dd>
 <div class="block">Called before the quota for the user on the specified namespace is stored.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preSetUserQuota-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota(String, QuotaProtos.Quotas)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preSetUserQuota-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota(String, GlobalQuotaSettings)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preSetUserQuota-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota(String, TableName, QuotaProtos.Quotas)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preSetUserQuota-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota(String, TableName, GlobalQuotaSettings)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preSetUserQuota-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota(String, String, QuotaProtos.Quotas)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preSetUserQuota-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota(String, String, GlobalQuotaSettings)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/access/AccessController.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, QuotaProtos.Quotas)</a></span> - Method in class org.apache.hadoop.hbase.security.access.<a href="org/apache/hadoop/hbase/security/access/AccessController.html" title="class in org.apache.hadoop.hbase.security.access">AccessController</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/access/AccessController.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, GlobalQuotaSettings)</a></span> - Method in class org.apache.hadoop.hbase.security.access.<a href="org/apache/hadoop/hbase/security/access/AccessController.html" title="class in org.apache.hadoop.hbase.security.access">AccessController</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/access/AccessController.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, TableName, QuotaProtos.Quotas)</a></span> - Method in class org.apache.hadoop.hbase.security.access.<a href="org/apache/hadoop/hbase/security/access/AccessController.html" title="class in org.apache.hadoop.hbase.security.access">AccessController</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/access/AccessController.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, TableName, GlobalQuotaSettings)</a></span> - Method in class org.apache.hadoop.hbase.security.access.<a href="org/apache/hadoop/hbase/security/access/AccessController.html" title="class in org.apache.hadoop.hbase.security.access">AccessController</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/access/AccessController.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, String, QuotaProtos.Quotas)</a></span> - Method in class org.apache.hadoop.hbase.security.access.<a href="org/apache/hadoop/hbase/security/access/AccessController.html" title="class in org.apache.hadoop.hbase.security.access">AccessController</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/access/AccessController.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, String, String, GlobalQuotaSettings)</a></span> - Method in class org.apache.hadoop.hbase.security.access.<a href="org/apache/hadoop/hbase/security/access/AccessController.html" title="class in org.apache.hadoop.hbase.security.access">AccessController</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preShutdown-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preShutdown(ObserverContext&lt;MasterCoprocessorEnvironment&gt;)</a></span> - Method in interface org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></dt>
 <dd>
@@ -100155,6 +100201,8 @@ service.</div>
 <dd>
 <div class="block">Setting up the thrift TServer</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#setupSetQuotaRequest-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest.Builder-">setupSetQuotaRequest(MasterProtos.SetQuotaRequest.Builder)</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/QuotaSettings.html#setupSetQuotaRequest-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest.Builder-">setupSetQuotaRequest(MasterProtos.SetQuotaRequest.Builder)</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></dt>
 <dd>
 <div class="block">Called by toSetQuotaRequestProto()
@@ -103000,6 +103048,10 @@ service.</div>
 <dd>
 <div class="block">Constructs a <code>SpaceLimitSettings</code> to remove a space quota on the given <code>namespace</code>.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#SpaceLimitSettings-org.apache.hadoop.hbase.TableName-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceLimitRequest-">SpaceLimitSettings(TableName, String, QuotaProtos.SpaceLimitRequest)</a></span> - Constructor for class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html" title="class in org.apache.hadoop.hbase.quotas">SpaceLimitSettings</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#spaceProto">spaceProto</a></span> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/RegionServerSpaceQuotaManager.html#spaceQuotaRefresher">spaceQuotaRefresher</a></span> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/RegionServerSpaceQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">RegionServerSpaceQuotaManager</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/quotas/SpaceQuotaRefresherChore.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">SpaceQuotaRefresherChore</span></a> - Class in <a href="org/apache/hadoop/hbase/quotas/package-summary.html">org.apache.hadoop.hbase.quotas</a></dt>
@@ -108328,6 +108380,8 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/compactions/CompactionConfiguration.html#throttlePoint">throttlePoint</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.compactions.<a href="org/apache/hadoop/hbase/regionserver/compactions/CompactionConfiguration.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionConfiguration</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#throttleProto">throttleProto</a></span> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#throttler">throttler</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSource</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/quotas/ThrottleSettings.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottleSettings</span></a> - Class in <a href="org/apache/hadoop/hbase/quotas/package-summary.html">org.apache.hadoop.hbase.quotas</a></dt>
@@ -109623,6 +109677,10 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureUtil.html#toProtoUserInfo-org.apache.hadoop.hbase.security.User-">toProtoUserInfo(User)</a></span> - Static method in class 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">MasterProcedureUtil</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#toQuotas--">toQuotas()</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a></dt>
+<dd>
+<div class="block">Constructs a new <code>QuotaProtos.Quotas</code> message from <code>this</code>.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/Import.html#toQuotedByteArrays-java.lang.String...-">toQuotedByteArrays(String...)</a></span> - Static method in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/Import.html" title="class in org.apache.hadoop.hbase.mapreduce">Import</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.SwapRegionsAction.html#toRegion">toRegion</a></span> - Variable in class org.apache.hadoop.hbase.master.balancer.<a href="org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.SwapRegionsAction.html" title="class in org.apache.hadoop.hbase.master.balancer">BaseLoadBalancer.Cluster.SwapRegionsAction</a></dt>
@@ -110088,6 +110146,8 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/ActivePolicyEnforcement.html#toString--">toString()</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/ActivePolicyEnforcement.html" title="class in org.apache.hadoop.hbase.quotas">ActivePolicyEnforcement</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#toString--">toString()</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.SizeSnapshotWithTimestamp.html#toString--">toString()</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.SizeSnapshotWithTimestamp.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager.SizeSnapshotWithTimestamp</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/NoopQuotaLimiter.html#toString--">toString()</a></span> - 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>
@@ -112190,8 +112250,10 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.html#update-org.apache.hadoop.hbase.procedure2.Procedure-">update(Procedure)</a></span> - Method in class org.apache.hadoop.hbase.procedure2.store.wal.<a href="org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.html" title="class in org.apache.hadoop.hbase.procedure2.store.wal">WALProcedureStore</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#update-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">update(QuotaProtos.Quotas)</a></span> - Method in interface org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html" title="interface in org.apache.hadoop.hbase.quotas">MasterQuotaManager.SetQuotaOperations</a></dt>
-<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#update-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">update(GlobalQuotaSettings)</a></span> - Method in interface org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html" title="interface in org.apache.hadoop.hbase.quotas">MasterQuotaManager.SetQuotaOperations</a></dt>
+<dd>
+<div class="block">Persist the given quota for the subject.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/QuotaLimiterFactory.html#update-org.apache.hadoop.hbase.quotas.QuotaLimiter-org.apache.hadoop.hbase.quotas.QuotaLimiter-">update(QuotaLimiter, QuotaLimiter)</a></span> - Static method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/QuotaLimiterFactory.html" title="class in org.apache.hadoop.hbase.quotas">QuotaLimiterFactory</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/QuotaState.html#update-org.apache.hadoop.hbase.quotas.QuotaState-">update(QuotaState)</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/QuotaState.html" title="class in org.apache.hadoop.hbase.quotas">QuotaState</a></dt>
@@ -113917,6 +113979,10 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/HTable.html#validatePut-org.apache.hadoop.hbase.client.Put-int-">validatePut(Put, int)</a></span> - Static method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/HTable.html" title="class in org.apache.hadoop.hbase.client">HTable</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/QuotaSettings.html#validateQuotaTarget-org.apache.hadoop.hbase.quotas.QuotaSettings-">validateQuotaTarget(QuotaSettings)</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></dt>
+<dd>
+<div class="block">Validates that settings being merged into <code>this</code> is targeting the same "subject", e.g.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/FSUtils.html#validateRootPath-org.apache.hadoop.fs.Path-">validateRootPath(Path)</a></span> - Static method in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/FSUtils.html" title="class in org.apache.hadoop.hbase.util">FSUtils</a></dt>
 <dd>
 <div class="block">Verifies root directory path is a valid URI with a scheme</div>
@@ -113933,7 +113999,9 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/TableNamespaceManager.html#validateTableAndRegionCount-org.apache.hadoop.hbase.NamespaceDescriptor-">validateTableAndRegionCount(NamespaceDescriptor)</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="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.html#validateTimedQuota-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.TimedQuota-">validateTimedQuota(QuotaProtos.TimedQuota)</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#validateTimedQuota-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.TimedQuota-">validateTimedQuota(QuotaProtos.TimedQuota)</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/ThrottleSettings.html#validateTimedQuota-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.TimedQuota-">validateTimedQuota(QuotaProtos.TimedQuota)</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/ThrottleSettings.html" title="class in org.apache.hadoop.hbase.quotas">ThrottleSettings</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#validateWALFilename-java.lang.String-">validateWALFilename(String)</a></span> - Static method in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html" title="class in org.apache.hadoop.hbase.wal">AbstractFSWALProvider</a></dt>
 <dd>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/quotas/package-summary.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/package-summary.html b/devapidocs/org/apache/hadoop/hbase/quotas/package-summary.html
index a7eb9e7..51b433c 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/package-summary.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/package-summary.html
@@ -84,7 +84,9 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html" title="interface in org.apache.hadoop.hbase.quotas">MasterQuotaManager.SetQuotaOperations</a></td>
-<td class="colLast">&nbsp;</td>
+<td class="colLast">
+<div class="block">Encapsulates CRUD quota operations for some subject.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.html" title="interface in org.apache.hadoop.hbase.quotas">OperationQuota</a></td>
@@ -182,210 +184,217 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a></td>
+<td class="colLast">
+<div class="block">An object which captures all quotas types (throttle or space) for a subject (user, table, or
+ namespace).</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager</a></td>
 <td class="colLast">
 <div class="block">Master Quota Manager.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager.NamedLock</a>&lt;T&gt;</td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.SizeSnapshotWithTimestamp.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager.SizeSnapshotWithTimestamp</a></td>
 <td class="colLast">
 <div class="block">Holds the size of a region at the given time, millis since the epoch.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterSpaceQuotaObserver.html" title="class in org.apache.hadoop.hbase.quotas">MasterSpaceQuotaObserver</a></td>
 <td class="colLast">
 <div class="block">An observer to automatically delete space quotas when a table/namespace
  are deleted.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/NamespaceQuotaSnapshotStore.html" title="class in org.apache.hadoop.hbase.quotas">NamespaceQuotaSnapshotStore</a></td>
 <td class="colLast">
 <div class="block"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSnapshotStore.html" title="interface in org.apache.hadoop.hbase.quotas"><code>QuotaSnapshotStore</code></a> implementation for namespaces.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/NoopOperationQuota.html" title="class in org.apache.hadoop.hbase.quotas">NoopOperationQuota</a></td>
 <td class="colLast">
 <div class="block">Noop operation quota returned when no quota is associated to the user/table</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/NoopQuotaLimiter.html" title="class in org.apache.hadoop.hbase.quotas">NoopQuotaLimiter</a></td>
 <td class="colLast">
 <div class="block">Noop quota limiter returned when no limiter is associated to the user/table</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaCache.html" title="class in org.apache.hadoop.hbase.quotas">QuotaCache</a></td>
 <td class="colLast">
 <div class="block">Cache that keeps track of the quota settings for the users and tables that
  are interacting with it.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaFilter.html" title="class in org.apache.hadoop.hbase.quotas">QuotaFilter</a></td>
 <td class="colLast">
 <div class="block">Filter to use to filter the QuotaRetriever results.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaLimiterFactory.html" title="class in org.apache.hadoop.hbase.quotas">QuotaLimiterFactory</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaObserverChore.html" title="class in org.apache.hadoop.hbase.quotas">QuotaObserverChore</a></td>
 <td class="colLast">
 <div class="block">Reads the currently received Region filesystem-space use reports and acts on those which
  violate a defined quota.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaObserverChore.TablesWithQuotas.html" title="class in org.apache.hadoop.hbase.quotas">QuotaObserverChore.TablesWithQuotas</a></td>
 <td class="colLast">
 <div class="block">A container which encapsulates the tables that have either a table quota or are contained in a
  namespace which have a namespace quota.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaRetriever.html" title="class in org.apache.hadoop.hbase.quotas">QuotaRetriever</a></td>
 <td class="colLast">
 <div class="block">Scanner to iterate over the quota settings.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettingsFactory</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettingsFactory.QuotaGlobalsSettingsBypass</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaState.html" title="class in org.apache.hadoop.hbase.quotas">QuotaState</a></td>
 <td class="colLast">
 <div class="block">In-Memory state of table or namespace quotas</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaTableUtil.html" title="class in org.apache.hadoop.hbase.quotas">QuotaTableUtil</a></td>
 <td class="colLast">
 <div class="block">Helper class to interact with the quota table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaUtil.html" title="class in org.apache.hadoop.hbase.quotas">QuotaUtil</a></td>
 <td class="colLast">
 <div class="block">Helper class to interact with the quota table</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/RateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">RateLimiter</a></td>
 <td class="colLast">
 <div class="block">Simple rate limiter.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerRpcQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">RegionServerRpcQuotaManager</a></td>
 <td class="colLast">
 <div class="block">Region Server Quota Manager.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerSpaceQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">RegionServerSpaceQuotaManager</a></td>
 <td class="colLast">
 <div class="block">A manager for filesystem space quotas in the RegionServer.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/SnapshotQuotaObserverChore.html" title="class in org.apache.hadoop.hbase.quotas">SnapshotQuotaObserverChore</a></td>
 <td class="colLast">
 <div class="block">A Master-invoked <code>Chore</code> that computes the size of each snapshot which was created from
  a table which has a space quota.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/SnapshotQuotaObserverChore.SnapshotWithSize.html" title="class in org.apache.hadoop.hbase.quotas">SnapshotQuotaObserverChore.SnapshotWithSize</a></td>
 <td class="colLast">
 <div class="block">A struct encapsulating the name of a snapshot and its "size" on the filesystem.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/SnapshotQuotaObserverChore.StoreFileReference.html" title="class in org.apache.hadoop.hbase.quotas">SnapshotQuotaObserverChore.StoreFileReference</a></td>
 <td class="colLast">
 <div class="block">A reference to a collection of files in the archive directory for a single region.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html" title="class in org.apache.hadoop.hbase.quotas">SpaceLimitSettings</a></td>
 <td class="colLast">
 <div class="block">A <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><code>QuotaSettings</code></a> implementation for configuring filesystem-use quotas.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaRefresherChore.html" title="class in org.apache.hadoop.hbase.quotas">SpaceQuotaRefresherChore</a></td>
 <td class="colLast">
 <div class="block">A <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" title="class in org.apache.hadoop.hbase"><code>ScheduledChore</code></a> which periodically updates the <a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerSpaceQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas"><code>RegionServerSpaceQuotaManager</code></a>
  with information from the hbase:quota.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshot.html" title="class in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshot</a></td>
 <td class="colLast">
 <div class="block">A point-in-time view of a space quota on a table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshot.SpaceQuotaStatus.html" title="class in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshot.SpaceQuotaStatus</a></td>
 <td class="colLast">
 <div class="block">Encapsulates the state of a quota on a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotNotifierFactory.html" title="class in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotNotifierFactory</a></td>
 <td class="colLast">
 <div class="block">Factory for creating <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotNotifier.html" title="interface in org.apache.hadoop.hbase.quotas"><code>SpaceQuotaSnapshotNotifier</code></a> implementations.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceViolationPolicyEnforcementFactory.html" title="class in org.apache.hadoop.hbase.quotas">SpaceViolationPolicyEnforcementFactory</a></td>
 <td class="colLast">
 <div class="block">A factory class for instantiating <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceViolationPolicyEnforcement.html" title="interface in org.apache.hadoop.hbase.quotas"><code>SpaceViolationPolicyEnforcement</code></a> instances.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/TableQuotaSnapshotStore.html" title="class in org.apache.hadoop.hbase.quotas">TableQuotaSnapshotStore</a></td>
 <td class="colLast">
 <div class="block"><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSnapshotStore.html" title="interface in org.apache.hadoop.hbase.quotas"><code>QuotaSnapshotStore</code></a> for tables.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/TableSpaceQuotaSnapshotNotifier.html" title="class in org.apache.hadoop.hbase.quotas">TableSpaceQuotaSnapshotNotifier</a></td>
 <td class="colLast">
 <div class="block">A <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotNotifier.html" title="interface in org.apache.hadoop.hbase.quotas"><code>SpaceQuotaSnapshotNotifier</code></a> which uses the hbase:quota table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleSettings.html" title="class in org.apache.hadoop.hbase.quotas">ThrottleSettings</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html" title="class in org.apache.hadoop.hbase.quotas">TimeBasedLimiter</a></td>
 <td class="colLast">
 <div class="block">Simple time based limiter that checks the quota Throttle</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/UserQuotaState.html" title="class in org.apache.hadoop.hbase.quotas">UserQuotaState</a></td>
 <td class="colLast">
 <div class="block">In-Memory state of the user quotas</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/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 7d5f861..ea6b340 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
@@ -98,6 +98,7 @@
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaRetriever.Iter.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaRetriever.Iter</span></a> (implements java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;E&gt;)</li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaSettings</span></a>
 <ul>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">GlobalQuotaSettings</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaSettingsFactory.QuotaGlobalsSettingsBypass</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">SpaceLimitSettings</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleSettings.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottleSettings</span></a></li>
@@ -201,12 +202,12 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottleType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.OperationType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">OperationQuota.OperationType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottlingException.Type</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaScope.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaScope</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">SpaceViolationPolicy</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.OperationType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">OperationQuota.OperationType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottleType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottlingException.Type</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/quotas/package-use.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/package-use.html b/devapidocs/org/apache/hadoop/hbase/quotas/package-use.html
index c0ec49c..8cdd7ab 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/package-use.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/package-use.html
@@ -89,25 +89,35 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.coprocessor">org.apache.hadoop.hbase.coprocessor</a></td>
+<td class="colLast">
+<div class="block">Table of Contents</div>
+</td>
+</tr>
+<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="altColor">
+<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>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.quotas">org.apache.hadoop.hbase.quotas</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.quotas.policies">org.apache.hadoop.hbase.quotas.policies</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.regionserver">org.apache.hadoop.hbase.regionserver</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.security.access">org.apache.hadoop.hbase.security.access</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -136,6 +146,24 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.hadoop.hbase.coprocessor">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/hadoop/hbase/quotas/package-summary.html">org.apache.hadoop.hbase.quotas</a> used by <a href="../../../../../org/apache/hadoop/hbase/coprocessor/package-summary.html">org.apache.hadoop.hbase.coprocessor</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/quotas/class-use/GlobalQuotaSettings.html#org.apache.hadoop.hbase.coprocessor">GlobalQuotaSettings</a>
+<div class="block">An object which captures all quotas types (throttle or space) for a subject (user, table, or
+ namespace).</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.hadoop.hbase.master">
 <!--   -->
 </a>
@@ -146,28 +174,34 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/quotas/class-use/GlobalQuotaSettings.html#org.apache.hadoop.hbase.master">GlobalQuotaSettings</a>
+<div class="block">An object which captures all quotas types (throttle or space) for a subject (user, table, or
+ namespace).</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/quotas/class-use/MasterQuotaManager.html#org.apache.hadoop.hbase.master">MasterQuotaManager</a>
 <div class="block">Master Quota Manager.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/quotas/class-use/QuotaObserverChore.html#org.apache.hadoop.hbase.master">QuotaObserverChore</a>
 <div class="block">Reads the currently received Region filesystem-space use reports and acts on those which
  violate a defined quota.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/quotas/class-use/SnapshotQuotaObserverChore.html#org.apache.hadoop.hbase.master">SnapshotQuotaObserverChore</a>
 <div class="block">A Master-invoked <code>Chore</code> that computes the size of each snapshot which was created from
  a table which has a space quota.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/quotas/class-use/SpaceQuotaSnapshot.html#org.apache.hadoop.hbase.master">SpaceQuotaSnapshot</a>
 <div class="block">A point-in-time view of a space quota on a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/quotas/class-use/SpaceQuotaSnapshotNotifier.html#org.apache.hadoop.hbase.master">SpaceQuotaSnapshotNotifier</a>
 <div class="block">An interface which abstract away the action taken to enable or disable
  a space quota violation policy across the HBase cluster.</div>
@@ -209,81 +243,92 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/quotas/class-use/MasterQuotaManager.html#org.apache.hadoop.hbase.quotas">MasterQuotaManager</a>
-<div class="block">Master Quota Manager.</div>
+<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/quotas/class-use/GlobalQuotaSettings.html#org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>
+<div class="block">An object which captures all quotas types (throttle or space) for a subject (user, table, or
+ namespace).</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/quotas/class-use/MasterQuotaManager.NamedLock.html#org.apache.hadoop.hbase.quotas">MasterQuotaManager.NamedLock</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/quotas/class-use/MasterQuotaManager.html#org.apache.hadoop.hbase.quotas">MasterQuotaManager</a>
+<div class="block">Master Quota Manager.</div>
+</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/quotas/class-use/MasterQuotaManager.SetQuotaOperations.html#org.apache.hadoop.hbase.quotas">MasterQuotaManager.SetQuotaOperations</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/quotas/class-use/MasterQuotaManager.NamedLock.html#org.apache.hadoop.hbase.quotas">MasterQuotaManager.NamedLock</a>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/quotas/class-use/MasterQuotaManager.SetQuotaOperations.html#org.apache.hadoop.hbase.quotas">MasterQuotaManager.SetQuotaOperations</a>
+<div class="block">Encapsulates CRUD quota operations for some subject.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/quotas/class-use/MasterQuotaManager.SizeSnapshotWithTimestamp.html#org.apache.hadoop.hbase.quotas">MasterQuotaManager.SizeSnapshotWithTimestamp</a>
 <div class="block">Holds the size of a region at the given time, millis since the epoch.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/quotas/class-use/OperationQuota.html#org.apache.hadoop.hbase.quotas">OperationQuota</a>
 <div class="block">Interface that allows to check the quota available for an operation.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/quotas/class-use/OperationQuota.OperationType.html#org.apache.hadoop.hbase.quotas">OperationQuota.OperationType</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/quotas/class-use/QuotaCache.html#org.apache.hadoop.hbase.quotas">QuotaCache</a>
 <div class="block">Cache that keeps track of the quota settings for the users and tables that
  are interacting with it.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/quotas/class-use/QuotaCache.Fetcher.html#org.apache.hadoop.hbase.quotas">QuotaCache.Fetcher</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/quotas/class-use/QuotaCache.QuotaRefresherChore.html#org.apache.hadoop.hbase.quotas">QuotaCache.QuotaRefresherChore</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/quotas/class-use/QuotaExceededException.html#org.apache.hadoop.hbase.quotas">QuotaExceededException</a>
 <div class="block">Generic quota exceeded exception</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/quotas/class-use/QuotaFilter.html#org.apache.hadoop.hbase.quotas">QuotaFilter</a>
 <div class="block">Filter to use to filter the QuotaRetriever results.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/quotas/class-use/QuotaLimiter.html#org.apache.hadoop.hbase.quotas">QuotaLimiter</a>
 <div class="block">Internal interface used to interact with the user/table quota.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/quotas/class-use/QuotaObserverChore.html#org.apache.hadoop.hbase.quotas">QuotaObserverChore</a>
 <div class="block">Reads the currently received Region filesystem-space use reports and acts on those which
  violate a defined quota.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/quotas/class-use/QuotaObserverChore.TablesWithQuotas.html#org.apache.hadoop.hbase.quotas">QuotaObserverChore.TablesWithQuotas</a>
 <div class="block">A container which encapsulates the tables that have either a table quota or are contained in a
  namespace which have a namespace quota.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/quotas/class-use/QuotaRetriever.html#org.apache.hadoop.hbase.quotas">QuotaRetriever</a>
 <div class="block">Scanner to iterate over the quota settings.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/quotas/class-use/QuotaScope.html#org.apache.hadoop.hbase.quotas">QuotaScope</a>
 <div class="block">Describe the Scope of the quota rules.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/quotas/class-use/QuotaSettings.html#org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/quotas/class-use/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html#org.apache.hadoop.hbase.quotas">QuotaSettingsFactory.QuotaGlobalsSettingsBypass</a>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/quotas/class-use/QuotaSnapshotStore.html#org.apache.hadoop.hbase.quotas">QuotaSnapshotStore</a>
 <div class="block">A common interface for computing and storing space quota observance/violation for entities.</div>
@@ -485,6 +530,24 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.hadoop.hbase.security.access">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/hadoop/hbase/quotas/package-summary.html">org.apache.hadoop.hbase.quotas</a> used by <a href="../../../../../org/apache/hadoop/hbase/security/access/package-summary.html">org.apache.hadoop.hbase.security.access</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/quotas/class-use/GlobalQuotaSettings.html#org.apache.hadoop.hbase.security.access">GlobalQuotaSettings</a>
+<div class="block">An object which captures all quotas types (throttle or space) for a subject (user, table, or
+ namespace).</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
 </ul>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/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 f0d72c2..05e08e7 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -695,18 +695,18 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/CompactingMemStore.IndexType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">CompactingMemStore.IndexType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Region.FlushResult.Result</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreCompactor.Action.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MemStoreCompactor.Action</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultHeapMemoryTuner.StepDirection.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">DefaultHeapMemoryTuner.StepDirection</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.LimitScope</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsRegionServerSourceFactoryImpl.FactoryStorage</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.NextState</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/BloomType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">BloomType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/CompactingMemStore.IndexType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">CompactingMemStore.IndexType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">FlushType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.NextState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/SplitLogWorker.TaskExecutor.Status.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">SplitLogWorker.TaskExecutor.Status</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreCompactor.Action.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MemStoreCompactor.Action</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="typeNameLink">Region.FlushResult.Result</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Region.Operation</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultHeapMemoryTuner.StepDirection.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">DefaultHeapMemoryTuner.StepDirection</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/SplitLogWorker.TaskExecutor.Status.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">SplitLogWorker.TaskExecutor.Status</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScanType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsRegionServerSourceFactoryImpl.FactoryStorage</span></a></li>
 </ul>
 </li>
 </ul>

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

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

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


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html b/devapidocs/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html
index d17f758..2a9f075 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html
@@ -538,8 +538,8 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 </tr>
 <tr id="i62" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postSetNamespaceQuota-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetNamespaceQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-                     org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postSetNamespaceQuota-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetNamespaceQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+                     <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr id="i63" class="rowColor">
 <td class="colFirst"><code>void</code></td>
@@ -548,25 +548,25 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 </tr>
 <tr id="i64" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postSetTableQuota-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetTableQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
-                 org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postSetTableQuota-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetTableQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+                 <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr id="i65" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postSetUserQuota-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
-                org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postSetUserQuota-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
+                <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr id="i66" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postSetUserQuota-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postSetUserQuota-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-                org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+                <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr id="i67" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postSetUserQuota-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postSetUserQuota-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
                 <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
-                org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+                <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr id="i68" class="altColor">
 <td class="colFirst"><code>void</code></td>
@@ -860,8 +860,8 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 </tr>
 <tr id="i129" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preSetNamespaceQuota-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetNamespaceQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-                    org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preSetNamespaceQuota-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetNamespaceQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+                    <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr id="i130" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
@@ -870,25 +870,25 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 </tr>
 <tr id="i131" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preSetTableQuota-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetTableQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
-                org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preSetTableQuota-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetTableQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+                <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr id="i132" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preSetUserQuota-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
-               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preSetUserQuota-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
+               <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr id="i133" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preSetUserQuota-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preSetUserQuota-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+               <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr id="i134" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preSetUserQuota-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preSetUserQuota-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
                <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
-               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+               <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr id="i135" class="rowColor">
 <td class="colFirst"><code>void</code></td>
@@ -2557,14 +2557,14 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 </dl>
 </li>
 </ul>
-<a name="preSetUserQuota-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="preSetUserQuota-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>preSetUserQuota</h4>
 <pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1302">preSetUserQuota</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
-                            org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+                            <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)
                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -2572,14 +2572,14 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 </dl>
 </li>
 </ul>
-<a name="postSetUserQuota-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="postSetUserQuota-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>postSetUserQuota</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1312">postSetUserQuota</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
-                             org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1313">postSetUserQuota</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
+                             <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -2587,15 +2587,15 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 </dl>
 </li>
 </ul>
-<a name="preSetUserQuota-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="preSetUserQuota-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>preSetUserQuota</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1322">preSetUserQuota</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1324">preSetUserQuota</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
                             <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
-                            org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+                            <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)
                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -2603,15 +2603,15 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 </dl>
 </li>
 </ul>
-<a name="postSetUserQuota-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="postSetUserQuota-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>postSetUserQuota</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1333">postSetUserQuota</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1336">postSetUserQuota</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
                              <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
-                             org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+                             <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -2619,15 +2619,15 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 </dl>
 </li>
 </ul>
-<a name="preSetUserQuota-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="preSetUserQuota-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>preSetUserQuota</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1344">preSetUserQuota</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1348">preSetUserQuota</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-                            org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+                            <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)
                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -2635,15 +2635,15 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 </dl>
 </li>
 </ul>
-<a name="postSetUserQuota-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="postSetUserQuota-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>postSetUserQuota</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1355">postSetUserQuota</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1360">postSetUserQuota</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
                              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-                             org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+                             <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -2651,14 +2651,14 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 </dl>
 </li>
 </ul>
-<a name="preSetTableQuota-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="preSetTableQuota-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>preSetTableQuota</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1366">preSetTableQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
-                             org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1372">preSetTableQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+                             <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -2666,14 +2666,14 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 </dl>
 </li>
 </ul>
-<a name="postSetTableQuota-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="postSetTableQuota-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>postSetTableQuota</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1376">postSetTableQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
-                              org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1383">postSetTableQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+                              <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)
                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -2681,14 +2681,14 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 </dl>
 </li>
 </ul>
-<a name="preSetNamespaceQuota-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="preSetNamespaceQuota-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>preSetNamespaceQuota</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1386">preSetNamespaceQuota</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-                                 org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1394">preSetNamespaceQuota</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+                                 <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)
                           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -2696,14 +2696,14 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 </dl>
 </li>
 </ul>
-<a name="postSetNamespaceQuota-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="postSetNamespaceQuota-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>postSetNamespaceQuota</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1396">postSetNamespaceQuota</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-                                  org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1405">postSetNamespaceQuota</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+                                  <a href="../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)
                            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -2719,7 +2719,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>execOperationWithResult</h4>
-<pre>private&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1429">execOperationWithResult</a>(T&nbsp;defaultValue,
+<pre>private&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1439">execOperationWithResult</a>(T&nbsp;defaultValue,
                                       <a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperationWithResult.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost.CoprocessorOperationWithResult</a>&lt;T&gt;&nbsp;ctx)
                                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -2734,7 +2734,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>execOperation</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1437">execOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperation.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost.CoprocessorOperation</a>&nbsp;ctx)
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1447">execOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperation.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost.CoprocessorOperation</a>&nbsp;ctx)
                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -2748,7 +2748,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>execShutdown</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1477">execShutdown</a>(<a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperation.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost.CoprocessorOperation</a>&nbsp;ctx)
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1487">execShutdown</a>(<a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperation.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost.CoprocessorOperation</a>&nbsp;ctx)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Master coprocessor classes can be configured in any order, based on that priority is set and
  chained in a sorted order. For preStopMaster()/preShutdown(), coprocessor methods are invoked
@@ -2773,7 +2773,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preMoveServersAndTables</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1512">preMoveServersAndTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;servers,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1522">preMoveServersAndTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;servers,
                                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tables,
                                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;targetGroup)
                              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -2789,7 +2789,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postMoveServersAndTables</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1525">postMoveServersAndTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;servers,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1535">postMoveServersAndTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;servers,
                                      <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tables,
                                      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;targetGroup)
                               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -2805,7 +2805,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preMoveServers</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1538">preMoveServers</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;servers,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1548">preMoveServers</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;servers,
                            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;targetGroup)
                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -2820,7 +2820,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postMoveServers</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1551">postMoveServers</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;servers,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1561">postMoveServers</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;servers,
                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;targetGroup)
                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -2835,7 +2835,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preMoveTables</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1564">preMoveTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tables,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1574">preMoveTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tables,
                           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;targetGroup)
                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -2850,7 +2850,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postMoveTables</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1577">postMoveTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tables,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1587">postMoveTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tables,
                            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;targetGroup)
                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -2865,7 +2865,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preAddRSGroup</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1590">preAddRSGroup</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1600">preAddRSGroup</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -2879,7 +2879,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postAddRSGroup</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1603">postAddRSGroup</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1613">postAddRSGroup</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -2893,7 +2893,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preRemoveRSGroup</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1616">preRemoveRSGroup</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1626">preRemoveRSGroup</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -2907,7 +2907,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postRemoveRSGroup</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1629">postRemoveRSGroup</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1639">postRemoveRSGroup</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -2921,7 +2921,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preBalanceRSGroup</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1642">preBalanceRSGroup</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1652">preBalanceRSGroup</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -2935,7 +2935,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postBalanceRSGroup</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1655">postBalanceRSGroup</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1665">postBalanceRSGroup</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                                boolean&nbsp;balanceRan)
                         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -2950,7 +2950,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preAddReplicationPeer</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1668">preAddReplicationPeer</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1678">preAddReplicationPeer</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
                                   <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig)
                            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -2965,7 +2965,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postAddReplicationPeer</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1679">postAddReplicationPeer</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1689">postAddReplicationPeer</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
                                    <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig)
                             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -2980,7 +2980,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preRemoveReplicationPeer</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1690">preRemoveReplicationPeer</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1700">preRemoveReplicationPeer</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
                               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -2994,7 +2994,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postRemoveReplicationPeer</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1700">postRemoveReplicationPeer</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1710">postRemoveReplicationPeer</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
                                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3008,7 +3008,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preEnableReplicationPeer</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1710">preEnableReplicationPeer</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1720">preEnableReplicationPeer</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
                               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3022,7 +3022,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postEnableReplicationPeer</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1720">postEnableReplicationPeer</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1730">postEnableReplicationPeer</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
                                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3036,7 +3036,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preDisableReplicationPeer</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1730">preDisableReplicationPeer</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1740">preDisableReplicationPeer</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
                                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3050,7 +3050,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postDisableReplicationPeer</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1740">postDisableReplicationPeer</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1750">postDisableReplicationPeer</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
                                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3064,7 +3064,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preGetReplicationPeerConfig</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1750">preGetReplicationPeerConfig</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1760">preGetReplicationPeerConfig</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
                                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3078,7 +3078,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postGetReplicationPeerConfig</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1760">postGetReplicationPeerConfig</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1770">postGetReplicationPeerConfig</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
                                   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3092,7 +3092,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preUpdateReplicationPeerConfig</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1770">preUpdateReplicationPeerConfig</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1780">preUpdateReplicationPeerConfig</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
                                            <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig)
                                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -3107,7 +3107,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postUpdateReplicationPeerConfig</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1781">postUpdateReplicationPeerConfig</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1791">postUpdateReplicationPeerConfig</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
                                             <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig)
                                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -3122,7 +3122,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preListReplicationPeers</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1792">preListReplicationPeers</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;regex)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1802">preListReplicationPeers</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;regex)
                              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3136,7 +3136,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postListReplicationPeers</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1802">postListReplicationPeers</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;regex)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1812">postListReplicationPeers</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;regex)
                               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3150,7 +3150,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preRequestLock</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1812">preRequestLock</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1822">preRequestLock</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                            <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                            <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionInfos,
                            <a href="../../../../../org/apache/hadoop/hbase/procedure2/LockType.html" title="enum in org.apache.hadoop.hbase.procedure2">LockType</a>&nbsp;type,
@@ -3168,7 +3168,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postRequestLock</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1823">postRequestLock</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1833">postRequestLock</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                             <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                             <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionInfos,
                             <a href="../../../../../org/apache/hadoop/hbase/procedure2/LockType.html" title="enum in org.apache.hadoop.hbase.procedure2">LockType</a>&nbsp;type,
@@ -3186,7 +3186,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preLockHeartbeat</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1834">preLockHeartbeat</a>(<a href="../../../../../org/apache/hadoop/hbase/master/locking/LockProcedure.html" title="class in org.apache.hadoop.hbase.master.locking">LockProcedure</a>&nbsp;proc,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1844">preLockHeartbeat</a>(<a href="../../../../../org/apache/hadoop/hbase/master/locking/LockProcedure.html" title="class in org.apache.hadoop.hbase.master.locking">LockProcedure</a>&nbsp;proc,
                              boolean&nbsp;keepAlive)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -3201,7 +3201,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postLockHeartbeat</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1844">postLockHeartbeat</a>(<a href="../../../../../org/apache/hadoop/hbase/master/locking/LockProcedure.html" title="class in org.apache.hadoop.hbase.master.locking">LockProcedure</a>&nbsp;proc,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1854">postLockHeartbeat</a>(<a href="../../../../../org/apache/hadoop/hbase/master/locking/LockProcedure.html" title="class in org.apache.hadoop.hbase.master.locking">LockProcedure</a>&nbsp;proc,
                               boolean&nbsp;keepAlive)
                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -3216,7 +3216,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preListDeadServers</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1854">preListDeadServers</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1864">preListDeadServers</a>()
                         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3230,7 +3230,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postListDeadServers</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1864">postListDeadServers</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1874">postListDeadServers</a>()
                          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3244,7 +3244,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preClearDeadServers</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1874">preClearDeadServers</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1884">preClearDeadServers</a>()
                          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3258,7 +3258,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockListLast">
 <li class="blockList">
 <h4>postClearDeadServers</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1884">postClearDeadServers</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1894">postClearDeadServers</a>()
                           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html b/devapidocs/org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html
index e81cd37..0a064a8 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html
@@ -236,7 +236,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/MasterRpcServices.BalanceSwitchMode.html" title="enum in org.apache.hadoop.hbase.master">MasterRpcServices.BalanceSwitchMode</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html#line.242">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html" title="enum in org.apache.hadoop.hbase.master">MasterRpcServices.BalanceSwitchMode</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html#line.220">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:
@@ -256,7 +256,7 @@ for (MasterRpcServices.BalanceSwitchMode c : MasterRpcServices.BalanceSwitchMode
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html" title="enum in org.apache.hadoop.hbase.master">MasterRpcServices.BalanceSwitchMode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html#line.242">valueOf</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html" title="enum in org.apache.hadoop.hbase.master">MasterRpcServices.BalanceSwitchMode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html#line.220">valueOf</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/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 5f6aec8..20df1e9 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
@@ -318,9 +318,9 @@
 <ul>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.TerminationStatus.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">SplitLogManager.TerminationStatus</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MasterRpcServices.BalanceSwitchMode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.ResubmitDirective.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">SplitLogManager.ResubmitDirective</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">RegionState.State</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MetricsMasterSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MetricsMasterSourceFactoryImpl.FactoryStorage</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.ResubmitDirective.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">SplitLogManager.ResubmitDirective</span></a></li>
 </ul>
 </li>
 </ul>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/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 939cae1..7305361 100644
--- a/devapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -429,18 +429,18 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeyValue.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeyValue.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeepDeletedCells</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HealthChecker.HealthCheckerExitStatus.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HealthChecker.HealthCheckerExitStatus</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Coprocessor.State.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Coprocessor.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MemoryCompactionPolicy.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MemoryCompactionPolicy</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CellBuilderType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CellBuilderType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HConstants.OperationStatusCode.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HConstants.OperationStatusCode</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CompatibilitySingletonFactory.SingletonStorage.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CompatibilitySingletonFactory.SingletonStorage</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CompareOperator</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Coprocessor.State.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Coprocessor.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeyValue.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeyValue.Type</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ProcedureState.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ProcedureState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CellBuilderType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CellBuilderType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MemoryCompactionPolicy.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MemoryCompactionPolicy</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MetaTableAccessor.QueryType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeepDeletedCells</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ClusterStatus.Option.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ClusterStatus.Option</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HealthChecker.HealthCheckerExitStatus.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HealthChecker.HealthCheckerExitStatus</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CompareOperator</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MetaTableAccessor.QueryType</span></a></li>
 </ul>
 </li>
 </ul>

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


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/checkstyle.rss
----------------------------------------------------------------------
diff --git a/checkstyle.rss b/checkstyle.rss
index e705dbb..8dc0344 100644
--- a/checkstyle.rss
+++ b/checkstyle.rss
@@ -25,7 +25,7 @@ under the License.
     <language>en-us</language>
     <copyright>&#169;2007 - 2017 The Apache Software Foundation</copyright>
     <item>
-      <title>File: 2041,
+      <title>File: 2042,
              Errors: 14001,
              Warnings: 0,
              Infos: 0
@@ -4437,7 +4437,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  7
+                  8
                 </td>
               </tr>
                           <tr>
@@ -8334,6 +8334,20 @@ under the License.
               </tr>
                           <tr>
                 <td>
+                  <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.quotas.GlobalQuotaSettings.java">org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.java</a>
+                </td>
+                <td>
+                  0
+                </td>
+                <td>
+                  0
+                </td>
+                <td>
+                  4
+                </td>
+              </tr>
+                          <tr>
+                <td>
                   <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.util.SimplePositionedByteRange.java">org/apache/hadoop/hbase/util/SimplePositionedByteRange.java</a>
                 </td>
                 <td>
@@ -28601,7 +28615,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  7
+                  2
                 </td>
               </tr>
                           <tr>

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

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/dependencies.html
----------------------------------------------------------------------
diff --git a/dependencies.html b/dependencies.html
index 6b9946f..3d41fb8 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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Dependencies</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -445,7 +445,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/dependency-convergence.html b/dependency-convergence.html
index b908973..1c25674 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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <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" />
@@ -820,7 +820,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/dependency-info.html
----------------------------------------------------------------------
diff --git a/dependency-info.html b/dependency-info.html
index e21a56c..4dc4496 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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Dependency Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -318,7 +318,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/dependency-management.html
----------------------------------------------------------------------
diff --git a/dependency-management.html b/dependency-management.html
index 006ed6e..9819140 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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <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" />
@@ -942,7 +942,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/allclasses-frame.html
----------------------------------------------------------------------
diff --git a/devapidocs/allclasses-frame.html b/devapidocs/allclasses-frame.html
index 54362f8..1c816fb 100644
--- a/devapidocs/allclasses-frame.html
+++ b/devapidocs/allclasses-frame.html
@@ -950,6 +950,7 @@
 <li><a href="org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">Get</a></li>
 <li><a href="org/apache/hadoop/hbase/util/GetJavaProperty.html" title="class in org.apache.hadoop.hbase.util" target="classFrame">GetJavaProperty</a></li>
 <li><a href="org/apache/hadoop/hbase/metrics/impl/GlobalMetricRegistriesAdapter.html" title="class in org.apache.hadoop.hbase.metrics.impl" target="classFrame">GlobalMetricRegistriesAdapter</a></li>
+<li><a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">GlobalQuotaSettings</a></li>
 <li><a href="org/apache/hadoop/hbase/mapred/GroupingTableMap.html" title="class in org.apache.hadoop.hbase.mapred" target="classFrame">GroupingTableMap</a></li>
 <li><a href="org/apache/hadoop/hbase/mapreduce/GroupingTableMapper.html" title="class in org.apache.hadoop.hbase.mapreduce" target="classFrame">GroupingTableMapper</a></li>
 <li><a href="org/apache/hadoop/hbase/rest/filter/GzipFilter.html" title="class in org.apache.hadoop.hbase.rest.filter" target="classFrame">GzipFilter</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/allclasses-noframe.html
----------------------------------------------------------------------
diff --git a/devapidocs/allclasses-noframe.html b/devapidocs/allclasses-noframe.html
index 9ba0fd5..9bdceba 100644
--- a/devapidocs/allclasses-noframe.html
+++ b/devapidocs/allclasses-noframe.html
@@ -950,6 +950,7 @@
 <li><a href="org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a></li>
 <li><a href="org/apache/hadoop/hbase/util/GetJavaProperty.html" title="class in org.apache.hadoop.hbase.util">GetJavaProperty</a></li>
 <li><a href="org/apache/hadoop/hbase/metrics/impl/GlobalMetricRegistriesAdapter.html" title="class in org.apache.hadoop.hbase.metrics.impl">GlobalMetricRegistriesAdapter</a></li>
+<li><a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a></li>
 <li><a href="org/apache/hadoop/hbase/mapred/GroupingTableMap.html" title="class in org.apache.hadoop.hbase.mapred">GroupingTableMap</a></li>
 <li><a href="org/apache/hadoop/hbase/mapreduce/GroupingTableMapper.html" title="class in org.apache.hadoop.hbase.mapreduce">GroupingTableMapper</a></li>
 <li><a href="org/apache/hadoop/hbase/rest/filter/GzipFilter.html" title="class in org.apache.hadoop.hbase.rest.filter">GzipFilter</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/devapidocs/constant-values.html b/devapidocs/constant-values.html
index 328c171..0d2d29a 100644
--- a/devapidocs/constant-values.html
+++ b/devapidocs/constant-values.html
@@ -3731,21 +3731,21 @@
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#date">date</a></code></td>
-<td class="colLast"><code>"Sat Sep 23 14:42:02 UTC 2017"</code></td>
+<td class="colLast"><code>"Sun Sep 24 14:41:58 UTC 2017"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.revision">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#revision">revision</a></code></td>
-<td class="colLast"><code>"b4830466dbd606ddaf7cc6c87f8eae7141905827"</code></td>
+<td class="colLast"><code>"15404831355f2217669c6d66ff46bdb3229a9643"</code></td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.srcChecksum">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#srcChecksum">srcChecksum</a></code></td>
-<td class="colLast"><code>"e31cac3a33e8f1876d3a5b8ccf3166d1"</code></td>
+<td class="colLast"><code>"6c5ff9f306a7035fbf94090f00a1e4fc"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.url">


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/src-html/org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html
new file mode 100644
index 0000000..9664a5d
--- /dev/null
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html
@@ -0,0 +1,401 @@
+<!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 or more<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * contributor license agreements.  See the NOTICE file distributed with<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * this work for additional information regarding copyright ownership.<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * The ASF licenses this file to you under the Apache License, Version 2.0<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * (the "License"); you may not use this file except in compliance with<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * the License.  You may obtain a copy of the License at<a name="line.7"></a>
+<span class="sourceLineNo">008</span> *<a name="line.8"></a>
+<span class="sourceLineNo">009</span> * http://www.apache.org/licenses/LICENSE-2.0<a name="line.9"></a>
+<span class="sourceLineNo">010</span> *<a name="line.10"></a>
+<span class="sourceLineNo">011</span> * Unless required by applicable law or agreed to in writing, software<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * See the License for the specific language governing permissions and<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * limitations under the License.<a name="line.15"></a>
+<span class="sourceLineNo">016</span> */<a name="line.16"></a>
+<span class="sourceLineNo">017</span>package org.apache.hadoop.hbase.quotas;<a name="line.17"></a>
+<span class="sourceLineNo">018</span><a name="line.18"></a>
+<span class="sourceLineNo">019</span>import java.io.IOException;<a name="line.19"></a>
+<span class="sourceLineNo">020</span>import java.util.HashMap;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import java.util.Map;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.util.Map.Entry;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.util.Objects;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.HBaseInterfaceAudience;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.TableName;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.quotas.QuotaSettingsFactory.QuotaGlobalsSettingsBypass;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest.Builder;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Throttle;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.TimedQuota;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.yetus.audience.InterfaceStability;<a name="line.37"></a>
+<span class="sourceLineNo">038</span><a name="line.38"></a>
+<span class="sourceLineNo">039</span>/**<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * An object which captures all quotas types (throttle or space) for a subject (user, table, or<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * namespace). This is used inside of the HBase RegionServer to act as an analogy to the<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * ProtocolBuffer class {@link Quotas}.<a name="line.42"></a>
+<span class="sourceLineNo">043</span> */<a name="line.43"></a>
+<span class="sourceLineNo">044</span>@InterfaceAudience.LimitedPrivate({HBaseInterfaceAudience.COPROC})<a name="line.44"></a>
+<span class="sourceLineNo">045</span>@InterfaceStability.Evolving<a name="line.45"></a>
+<span class="sourceLineNo">046</span>public class GlobalQuotaSettings extends QuotaSettings {<a name="line.46"></a>
+<span class="sourceLineNo">047</span>  private final QuotaProtos.Throttle throttleProto;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>  private final Boolean bypassGlobals;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>  private final QuotaProtos.SpaceQuota spaceProto;<a name="line.49"></a>
+<span class="sourceLineNo">050</span><a name="line.50"></a>
+<span class="sourceLineNo">051</span>  protected GlobalQuotaSettings(<a name="line.51"></a>
+<span class="sourceLineNo">052</span>      String username, TableName tableName, String namespace, QuotaProtos.Quotas quotas) {<a name="line.52"></a>
+<span class="sourceLineNo">053</span>    this(username, tableName, namespace,<a name="line.53"></a>
+<span class="sourceLineNo">054</span>        (quotas != null &amp;&amp; quotas.hasThrottle() ? quotas.getThrottle() : null),<a name="line.54"></a>
+<span class="sourceLineNo">055</span>        (quotas != null &amp;&amp; quotas.hasBypassGlobals() ? quotas.getBypassGlobals() : null),<a name="line.55"></a>
+<span class="sourceLineNo">056</span>        (quotas != null &amp;&amp; quotas.hasSpace() ? quotas.getSpace() : null));<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  }<a name="line.57"></a>
+<span class="sourceLineNo">058</span><a name="line.58"></a>
+<span class="sourceLineNo">059</span>  protected GlobalQuotaSettings(<a name="line.59"></a>
+<span class="sourceLineNo">060</span>      String userName, TableName tableName, String namespace, QuotaProtos.Throttle throttleProto,<a name="line.60"></a>
+<span class="sourceLineNo">061</span>      Boolean bypassGlobals, QuotaProtos.SpaceQuota spaceProto) {<a name="line.61"></a>
+<span class="sourceLineNo">062</span>    super(userName, tableName, namespace);<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    this.throttleProto = throttleProto;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    this.bypassGlobals = bypassGlobals;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    this.spaceProto = spaceProto;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  }<a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span>  @Override<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  public QuotaType getQuotaType() {<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    throw new UnsupportedOperationException();<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  }<a name="line.71"></a>
+<span class="sourceLineNo">072</span><a name="line.72"></a>
+<span class="sourceLineNo">073</span>  @Override<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  protected void setupSetQuotaRequest(Builder builder) {<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    // ThrottleSettings should be used instead for setting a throttle quota.<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    throw new UnsupportedOperationException(<a name="line.76"></a>
+<span class="sourceLineNo">077</span>        "This class should not be used to generate a SetQuotaRequest.");<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>  protected QuotaProtos.Throttle getThrottleProto() {<a name="line.80"></a>
+<span class="sourceLineNo">081</span>    return this.throttleProto;<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>  protected Boolean getGlobalBypass() {<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    return this.bypassGlobals;<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>  protected QuotaProtos.SpaceQuota getSpaceProto() {<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    return this.spaceProto;<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>   * Constructs a new {@link Quotas} message from {@code this}.<a name="line.93"></a>
+<span class="sourceLineNo">094</span>   */<a name="line.94"></a>
+<span class="sourceLineNo">095</span>  protected Quotas toQuotas() {<a name="line.95"></a>
+<span class="sourceLineNo">096</span>    QuotaProtos.Quotas.Builder builder = QuotaProtos.Quotas.newBuilder();<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    if (getThrottleProto() != null) {<a name="line.97"></a>
+<span class="sourceLineNo">098</span>      builder.setThrottle(getThrottleProto());<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    }<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    if (getGlobalBypass() != null) {<a name="line.100"></a>
+<span class="sourceLineNo">101</span>      builder.setBypassGlobals(getGlobalBypass());<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    }<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    if (getSpaceProto() != null) {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>      builder.setSpace(getSpaceProto());<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    }<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    return builder.build();<a name="line.106"></a>
+<span class="sourceLineNo">107</span>  }<a name="line.107"></a>
+<span class="sourceLineNo">108</span><a name="line.108"></a>
+<span class="sourceLineNo">109</span>  @Override<a name="line.109"></a>
+<span class="sourceLineNo">110</span>  protected GlobalQuotaSettings merge(QuotaSettings other) throws IOException {<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    // Validate the quota subject<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    validateQuotaTarget(other);<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>    // Propagate the Throttle<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    QuotaProtos.Throttle.Builder throttleBuilder = (throttleProto == null<a name="line.115"></a>
+<span class="sourceLineNo">116</span>        ? null : throttleProto.toBuilder());<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    if (other instanceof ThrottleSettings) {<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      if (throttleBuilder == null) {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>        throttleBuilder = QuotaProtos.Throttle.newBuilder();<a name="line.119"></a>
+<span class="sourceLineNo">120</span>      }<a name="line.120"></a>
+<span class="sourceLineNo">121</span>      ThrottleSettings otherThrottle = (ThrottleSettings) other;<a name="line.121"></a>
+<span class="sourceLineNo">122</span><a name="line.122"></a>
+<span class="sourceLineNo">123</span>      if (otherThrottle.proto.hasType()) {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>        QuotaProtos.ThrottleRequest otherProto = otherThrottle.proto;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>        if (otherProto.hasTimedQuota()) {<a name="line.125"></a>
+<span class="sourceLineNo">126</span>          if (otherProto.hasTimedQuota()) {<a name="line.126"></a>
+<span class="sourceLineNo">127</span>            validateTimedQuota(otherProto.getTimedQuota());<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>          switch (otherProto.getType()) {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>            case REQUEST_NUMBER:<a name="line.131"></a>
+<span class="sourceLineNo">132</span>              if (otherProto.hasTimedQuota()) {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>                throttleBuilder.setReqNum(otherProto.getTimedQuota());<a name="line.133"></a>
+<span class="sourceLineNo">134</span>              } else {<a name="line.134"></a>
+<span class="sourceLineNo">135</span>                throttleBuilder.clearReqNum();<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 REQUEST_SIZE:<a name="line.138"></a>
+<span class="sourceLineNo">139</span>              if (otherProto.hasTimedQuota()) {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>                throttleBuilder.setReqSize(otherProto.getTimedQuota());<a name="line.140"></a>
+<span class="sourceLineNo">141</span>              } else {<a name="line.141"></a>
+<span class="sourceLineNo">142</span>                throttleBuilder.clearReqSize();<a name="line.142"></a>
+<span class="sourceLineNo">143</span>              }<a name="line.143"></a>
+<span class="sourceLineNo">144</span>              break;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>            case WRITE_NUMBER:<a name="line.145"></a>
+<span class="sourceLineNo">146</span>              if (otherProto.hasTimedQuota()) {<a name="line.146"></a>
+<span class="sourceLineNo">147</span>                throttleBuilder.setWriteNum(otherProto.getTimedQuota());<a name="line.147"></a>
+<span class="sourceLineNo">148</span>              } else {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>                throttleBuilder.clearWriteNum();<a name="line.149"></a>
+<span class="sourceLineNo">150</span>              }<a name="line.150"></a>
+<span class="sourceLineNo">151</span>              break;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>            case WRITE_SIZE:<a name="line.152"></a>
+<span class="sourceLineNo">153</span>              if (otherProto.hasTimedQuota()) {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>                throttleBuilder.setWriteSize(otherProto.getTimedQuota());<a name="line.154"></a>
+<span class="sourceLineNo">155</span>              } else {<a name="line.155"></a>
+<span class="sourceLineNo">156</span>                throttleBuilder.clearWriteSize();<a name="line.156"></a>
+<span class="sourceLineNo">157</span>              }<a name="line.157"></a>
+<span class="sourceLineNo">158</span>              break;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>            case READ_NUMBER:<a name="line.159"></a>
+<span class="sourceLineNo">160</span>              if (otherProto.hasTimedQuota()) {<a name="line.160"></a>
+<span class="sourceLineNo">161</span>                throttleBuilder.setReadNum(otherProto.getTimedQuota());<a name="line.161"></a>
+<span class="sourceLineNo">162</span>              } else {<a name="line.162"></a>
+<span class="sourceLineNo">163</span>                throttleBuilder.clearReqNum();<a name="line.163"></a>
+<span class="sourceLineNo">164</span>              }<a name="line.164"></a>
+<span class="sourceLineNo">165</span>              break;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>            case READ_SIZE:<a name="line.166"></a>
+<span class="sourceLineNo">167</span>              if (otherProto.hasTimedQuota()) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>                throttleBuilder.setReadSize(otherProto.getTimedQuota());<a name="line.168"></a>
+<span class="sourceLineNo">169</span>              } else {<a name="line.169"></a>
+<span class="sourceLineNo">170</span>                throttleBuilder.clearReadSize();<a name="line.170"></a>
+<span class="sourceLineNo">171</span>              }<a name="line.171"></a>
+<span class="sourceLineNo">172</span>              break;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>          }<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        } else {<a name="line.174"></a>
+<span class="sourceLineNo">175</span>          clearThrottleBuilder(throttleBuilder);<a name="line.175"></a>
+<span class="sourceLineNo">176</span>        }<a name="line.176"></a>
+<span class="sourceLineNo">177</span>      } else {<a name="line.177"></a>
+<span class="sourceLineNo">178</span>        clearThrottleBuilder(throttleBuilder);<a name="line.178"></a>
+<span class="sourceLineNo">179</span>      }<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    }<a name="line.180"></a>
+<span class="sourceLineNo">181</span><a name="line.181"></a>
+<span class="sourceLineNo">182</span>    // Propagate the space quota portion<a name="line.182"></a>
+<span class="sourceLineNo">183</span>    QuotaProtos.SpaceQuota.Builder spaceBuilder = (spaceProto == null<a name="line.183"></a>
+<span class="sourceLineNo">184</span>        ? null : spaceProto.toBuilder());<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    if (other instanceof SpaceLimitSettings) {<a name="line.185"></a>
+<span class="sourceLineNo">186</span>      if (spaceBuilder == null) {<a name="line.186"></a>
+<span class="sourceLineNo">187</span>        spaceBuilder = QuotaProtos.SpaceQuota.newBuilder();<a name="line.187"></a>
+<span class="sourceLineNo">188</span>      }<a name="line.188"></a>
+<span class="sourceLineNo">189</span>      SpaceLimitSettings settingsToMerge = (SpaceLimitSettings) other;<a name="line.189"></a>
+<span class="sourceLineNo">190</span><a name="line.190"></a>
+<span class="sourceLineNo">191</span>      QuotaProtos.SpaceLimitRequest spaceRequest = settingsToMerge.getProto();<a name="line.191"></a>
+<span class="sourceLineNo">192</span><a name="line.192"></a>
+<span class="sourceLineNo">193</span>      // The message contained the expect SpaceQuota object<a name="line.193"></a>
+<span class="sourceLineNo">194</span>      if (spaceRequest.hasQuota()) {<a name="line.194"></a>
+<span class="sourceLineNo">195</span>        SpaceQuota quotaToMerge = spaceRequest.getQuota();<a name="line.195"></a>
+<span class="sourceLineNo">196</span>        // Validate that the two settings are for the same target.<a name="line.196"></a>
+<span class="sourceLineNo">197</span>        // SpaceQuotas either apply to a table or a namespace (no user spacequota).<a name="line.197"></a>
+<span class="sourceLineNo">198</span>        if (!Objects.equals(getTableName(), settingsToMerge.getTableName())<a name="line.198"></a>
+<span class="sourceLineNo">199</span>            &amp;&amp; !Objects.equals(getNamespace(), settingsToMerge.getNamespace())) {<a name="line.199"></a>
+<span class="sourceLineNo">200</span>          throw new IllegalArgumentException(<a name="line.200"></a>
+<span class="sourceLineNo">201</span>              "Cannot merge " + settingsToMerge + " into " + this);<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>        if (quotaToMerge.getRemove()) {<a name="line.204"></a>
+<span class="sourceLineNo">205</span>          // Update the builder to propagate the removal<a name="line.205"></a>
+<span class="sourceLineNo">206</span>          spaceBuilder.setRemove(true).clearSoftLimit().clearViolationPolicy();<a name="line.206"></a>
+<span class="sourceLineNo">207</span>        } else {<a name="line.207"></a>
+<span class="sourceLineNo">208</span>          // Add the new settings to the existing settings<a name="line.208"></a>
+<span class="sourceLineNo">209</span>          spaceBuilder.mergeFrom(quotaToMerge);<a name="line.209"></a>
+<span class="sourceLineNo">210</span>        }<a name="line.210"></a>
+<span class="sourceLineNo">211</span>      }<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    }<a name="line.212"></a>
+<span class="sourceLineNo">213</span><a name="line.213"></a>
+<span class="sourceLineNo">214</span>    Boolean bypassGlobals = this.bypassGlobals;<a name="line.214"></a>
+<span class="sourceLineNo">215</span>    if (other instanceof QuotaGlobalsSettingsBypass) {<a name="line.215"></a>
+<span class="sourceLineNo">216</span>      bypassGlobals = ((QuotaGlobalsSettingsBypass) other).getBypass();<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>    if (throttleBuilder == null &amp;&amp;<a name="line.219"></a>
+<span class="sourceLineNo">220</span>        (spaceBuilder == null || (spaceBuilder.hasRemove() &amp;&amp; spaceBuilder.getRemove()))<a name="line.220"></a>
+<span class="sourceLineNo">221</span>        &amp;&amp; bypassGlobals == null) {<a name="line.221"></a>
+<span class="sourceLineNo">222</span>      return null;<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>    return new GlobalQuotaSettings(<a name="line.225"></a>
+<span class="sourceLineNo">226</span>        getUserName(), getTableName(), getNamespace(),<a name="line.226"></a>
+<span class="sourceLineNo">227</span>        (throttleBuilder == null ? null : throttleBuilder.build()), bypassGlobals,<a name="line.227"></a>
+<span class="sourceLineNo">228</span>        (spaceBuilder == null ? null : spaceBuilder.build()));<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>  private void validateTimedQuota(final TimedQuota timedQuota) throws IOException {<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    if (timedQuota.getSoftLimit() &lt; 1) {<a name="line.232"></a>
+<span class="sourceLineNo">233</span>      throw new DoNotRetryIOException(new UnsupportedOperationException(<a name="line.233"></a>
+<span class="sourceLineNo">234</span>          "The throttle limit must be greater then 0, got " + timedQuota.getSoftLimit()));<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    }<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  }<a name="line.236"></a>
+<span class="sourceLineNo">237</span><a name="line.237"></a>
+<span class="sourceLineNo">238</span>  @Override<a name="line.238"></a>
+<span class="sourceLineNo">239</span>  public String toString() {<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    StringBuilder builder = new StringBuilder();<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    builder.append("GlobalQuota: ");<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    if (throttleProto != null) {<a name="line.242"></a>
+<span class="sourceLineNo">243</span>      Map&lt;ThrottleType,TimedQuota&gt; throttleQuotas = buildThrottleQuotas(throttleProto);<a name="line.243"></a>
+<span class="sourceLineNo">244</span>      builder.append(" { TYPE =&gt; THROTTLE ");<a name="line.244"></a>
+<span class="sourceLineNo">245</span>      for (Entry&lt;ThrottleType,TimedQuota&gt; entry : throttleQuotas.entrySet()) {<a name="line.245"></a>
+<span class="sourceLineNo">246</span>        final ThrottleType type = entry.getKey();<a name="line.246"></a>
+<span class="sourceLineNo">247</span>        final TimedQuota timedQuota = entry.getValue();<a name="line.247"></a>
+<span class="sourceLineNo">248</span>        builder.append("{THROTTLE_TYPE =&gt; ").append(type.name()).append(", LIMIT =&gt; ");<a name="line.248"></a>
+<span class="sourceLineNo">249</span>        if (timedQuota.hasSoftLimit()) {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>          switch (type) {<a name="line.250"></a>
+<span class="sourceLineNo">251</span>            case REQUEST_NUMBER:<a name="line.251"></a>
+<span class="sourceLineNo">252</span>            case WRITE_NUMBER:<a name="line.252"></a>
+<span class="sourceLineNo">253</span>            case READ_NUMBER:<a name="line.253"></a>
+<span class="sourceLineNo">254</span>              builder.append(String.format("%dreq", timedQuota.getSoftLimit()));<a name="line.254"></a>
+<span class="sourceLineNo">255</span>              break;<a name="line.255"></a>
+<span class="sourceLineNo">256</span>            case REQUEST_SIZE:<a name="line.256"></a>
+<span class="sourceLineNo">257</span>            case WRITE_SIZE:<a name="line.257"></a>
+<span class="sourceLineNo">258</span>            case READ_SIZE:<a name="line.258"></a>
+<span class="sourceLineNo">259</span>              builder.append(sizeToString(timedQuota.getSoftLimit()));<a name="line.259"></a>
+<span class="sourceLineNo">260</span>              break;<a name="line.260"></a>
+<span class="sourceLineNo">261</span>          }<a name="line.261"></a>
+<span class="sourceLineNo">262</span>        } else if (timedQuota.hasShare()) {<a name="line.262"></a>
+<span class="sourceLineNo">263</span>          builder.append(String.format("%.2f%%", timedQuota.getShare()));<a name="line.263"></a>
+<span class="sourceLineNo">264</span>        }<a name="line.264"></a>
+<span class="sourceLineNo">265</span>        builder.append('/');<a name="line.265"></a>
+<span class="sourceLineNo">266</span>        builder.append(timeToString(ProtobufUtil.toTimeUnit(timedQuota.getTimeUnit())));<a name="line.266"></a>
+<span class="sourceLineNo">267</span>        if (timedQuota.hasScope()) {<a name="line.267"></a>
+<span class="sourceLineNo">268</span>          builder.append(", SCOPE =&gt; ");<a name="line.268"></a>
+<span class="sourceLineNo">269</span>          builder.append(timedQuota.getScope().toString());<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>      builder.append( "} } ");<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    } else {<a name="line.273"></a>
+<span class="sourceLineNo">274</span>      builder.append(" {} ");<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    }<a name="line.275"></a>
+<span class="sourceLineNo">276</span>    if (bypassGlobals != null) {<a name="line.276"></a>
+<span class="sourceLineNo">277</span>      builder.append(" { GLOBAL_BYPASS =&gt; " + bypassGlobals + " } ");<a name="line.277"></a>
+<span class="sourceLineNo">278</span>    }<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    if (spaceProto != null) {<a name="line.279"></a>
+<span class="sourceLineNo">280</span>      builder.append(" { TYPE =&gt; SPACE");<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      if (getTableName() != null) {<a name="line.281"></a>
+<span class="sourceLineNo">282</span>        builder.append(", TABLE =&gt; ").append(getTableName());<a name="line.282"></a>
+<span class="sourceLineNo">283</span>      }<a name="line.283"></a>
+<span class="sourceLineNo">284</span>      if (getNamespace() != null) {<a name="line.284"></a>
+<span class="sourceLineNo">285</span>        builder.append(", NAMESPACE =&gt; ").append(getNamespace());<a name="line.285"></a>
+<span class="sourceLineNo">286</span>      }<a name="line.286"></a>
+<span class="sourceLineNo">287</span>      if (spaceProto.getRemove()) {<a name="line.287"></a>
+<span class="sourceLineNo">288</span>        builder.append(", REMOVE =&gt; ").append(spaceProto.getRemove());<a name="line.288"></a>
+<span class="sourceLineNo">289</span>      } else {<a name="line.289"></a>
+<span class="sourceLineNo">290</span>        builder.append(", LIMIT =&gt; ").append(spaceProto.getSoftLimit());<a name="line.290"></a>
+<span class="sourceLineNo">291</span>        builder.append(", VIOLATION_POLICY =&gt; ").append(spaceProto.getViolationPolicy());<a name="line.291"></a>
+<span class="sourceLineNo">292</span>      }<a name="line.292"></a>
+<span class="sourceLineNo">293</span>      builder.append(" } ");<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    }<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    return builder.toString();<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>  private Map&lt;ThrottleType,TimedQuota&gt; buildThrottleQuotas(Throttle proto) {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    HashMap&lt;ThrottleType,TimedQuota&gt; quotas = new HashMap&lt;&gt;();<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    if (proto.hasReadNum()) {<a name="line.300"></a>
+<span class="sourceLineNo">301</span>      quotas.put(ThrottleType.READ_NUMBER, proto.getReadNum());<a name="line.301"></a>
+<span class="sourceLineNo">302</span>    }<a name="line.302"></a>
+<span class="sourceLineNo">303</span>    if (proto.hasReadSize()) {<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      quotas.put(ThrottleType.READ_SIZE, proto.getReadSize());<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    }<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    if (proto.hasReqNum()) {<a name="line.306"></a>
+<span class="sourceLineNo">307</span>      quotas.put(ThrottleType.REQUEST_NUMBER, proto.getReqNum());<a name="line.307"></a>
+<span class="sourceLineNo">308</span>    }<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    if (proto.hasReqSize()) {<a name="line.309"></a>
+<span class="sourceLineNo">310</span>      quotas.put(ThrottleType.REQUEST_SIZE, proto.getReqSize());<a name="line.310"></a>
+<span class="sourceLineNo">311</span>    }<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    if (proto.hasWriteNum()) {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>      quotas.put(ThrottleType.WRITE_NUMBER, proto.getWriteNum());<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    }<a name="line.314"></a>
+<span class="sourceLineNo">315</span>    if (proto.hasWriteSize()) {<a name="line.315"></a>
+<span class="sourceLineNo">316</span>      quotas.put(ThrottleType.WRITE_SIZE, proto.getWriteSize());<a name="line.316"></a>
+<span class="sourceLineNo">317</span>    }<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    return quotas;<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>  private void clearThrottleBuilder(QuotaProtos.Throttle.Builder builder) {<a name="line.321"></a>
+<span class="sourceLineNo">322</span>    builder.clearReadNum();<a name="line.322"></a>
+<span class="sourceLineNo">323</span>    builder.clearReadSize();<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    builder.clearReqNum();<a name="line.324"></a>
+<span class="sourceLineNo">325</span>    builder.clearReqSize();<a name="line.325"></a>
+<span class="sourceLineNo">326</span>    builder.clearWriteNum();<a name="line.326"></a>
+<span class="sourceLineNo">327</span>    builder.clearWriteSize();<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>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperationWithResult.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperationWithResult.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperationWithResult.html
index 2a29b1c..3b0b6dd 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperationWithResult.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.CoprocessorOperationWithResult.html
@@ -60,9 +60,9 @@
 <span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.procedure2.LockedResource;<a name="line.52"></a>
 <span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.procedure2.Procedure;<a name="line.53"></a>
 <span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.security.User;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.57"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.quotas.GlobalQuotaSettings;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.security.User;<a name="line.57"></a>
 <span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription;<a name="line.58"></a>
 <span class="sourceLineNo">059</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.59"></a>
 <span class="sourceLineNo">060</span><a name="line.60"></a>
@@ -1307,598 +1307,608 @@
 <span class="sourceLineNo">1299</span>    });<a name="line.1299"></a>
 <span class="sourceLineNo">1300</span>  }<a name="line.1300"></a>
 <span class="sourceLineNo">1301</span><a name="line.1301"></a>
-<span class="sourceLineNo">1302</span>  public void preSetUserQuota(final String user, final Quotas quotas) throws IOException {<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span>      @Override<a name="line.1304"></a>
-<span class="sourceLineNo">1305</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span>          throws IOException {<a name="line.1306"></a>
-<span class="sourceLineNo">1307</span>        oserver.preSetUserQuota(ctx, user, quotas);<a name="line.1307"></a>
-<span class="sourceLineNo">1308</span>      }<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span>    });<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span>  }<a name="line.1310"></a>
-<span class="sourceLineNo">1311</span><a name="line.1311"></a>
-<span class="sourceLineNo">1312</span>  public void postSetUserQuota(final String user, final Quotas quotas) throws IOException {<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span>      @Override<a name="line.1314"></a>
-<span class="sourceLineNo">1315</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1315"></a>
-<span class="sourceLineNo">1316</span>          throws IOException {<a name="line.1316"></a>
-<span class="sourceLineNo">1317</span>        oserver.postSetUserQuota(ctx, user, quotas);<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span>      }<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span>    });<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span>  }<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span><a name="line.1321"></a>
-<span class="sourceLineNo">1322</span>  public void preSetUserQuota(final String user, final TableName table, final Quotas quotas)<a name="line.1322"></a>
-<span class="sourceLineNo">1323</span>      throws IOException {<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1324"></a>
-<span class="sourceLineNo">1325</span>      @Override<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span>          throws IOException {<a name="line.1327"></a>
-<span class="sourceLineNo">1328</span>        oserver.preSetUserQuota(ctx, user, table, quotas);<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span>      }<a name="line.1329"></a>
-<span class="sourceLineNo">1330</span>    });<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span>  }<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span><a name="line.1332"></a>
-<span class="sourceLineNo">1333</span>  public void postSetUserQuota(final String user, final TableName table, final Quotas quotas)<a name="line.1333"></a>
-<span class="sourceLineNo">1334</span>      throws IOException {<a name="line.1334"></a>
-<span class="sourceLineNo">1335</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1335"></a>
-<span class="sourceLineNo">1336</span>      @Override<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1337"></a>
+<span class="sourceLineNo">1302</span>  public void preSetUserQuota(<a name="line.1302"></a>
+<span class="sourceLineNo">1303</span>      final String user, final GlobalQuotaSettings quotas) throws IOException {<a name="line.1303"></a>
+<span class="sourceLineNo">1304</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1304"></a>
+<span class="sourceLineNo">1305</span>      @Override<a name="line.1305"></a>
+<span class="sourceLineNo">1306</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1306"></a>
+<span class="sourceLineNo">1307</span>          throws IOException {<a name="line.1307"></a>
+<span class="sourceLineNo">1308</span>        oserver.preSetUserQuota(ctx, user, quotas);<a name="line.1308"></a>
+<span class="sourceLineNo">1309</span>      }<a name="line.1309"></a>
+<span class="sourceLineNo">1310</span>    });<a name="line.1310"></a>
+<span class="sourceLineNo">1311</span>  }<a name="line.1311"></a>
+<span class="sourceLineNo">1312</span><a name="line.1312"></a>
+<span class="sourceLineNo">1313</span>  public void postSetUserQuota(<a name="line.1313"></a>
+<span class="sourceLineNo">1314</span>      final String user, final GlobalQuotaSettings quotas) throws IOException {<a name="line.1314"></a>
+<span class="sourceLineNo">1315</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1315"></a>
+<span class="sourceLineNo">1316</span>      @Override<a name="line.1316"></a>
+<span class="sourceLineNo">1317</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1317"></a>
+<span class="sourceLineNo">1318</span>          throws IOException {<a name="line.1318"></a>
+<span class="sourceLineNo">1319</span>        oserver.postSetUserQuota(ctx, user, quotas);<a name="line.1319"></a>
+<span class="sourceLineNo">1320</span>      }<a name="line.1320"></a>
+<span class="sourceLineNo">1321</span>    });<a name="line.1321"></a>
+<span class="sourceLineNo">1322</span>  }<a name="line.1322"></a>
+<span class="sourceLineNo">1323</span><a name="line.1323"></a>
+<span class="sourceLineNo">1324</span>  public void preSetUserQuota(<a name="line.1324"></a>
+<span class="sourceLineNo">1325</span>      final String user, final TableName table, final GlobalQuotaSettings quotas)<a name="line.1325"></a>
+<span class="sourceLineNo">1326</span>          throws IOException {<a name="line.1326"></a>
+<span class="sourceLineNo">1327</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1327"></a>
+<span class="sourceLineNo">1328</span>      @Override<a name="line.1328"></a>
+<span class="sourceLineNo">1329</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1329"></a>
+<span class="sourceLineNo">1330</span>          throws IOException {<a name="line.1330"></a>
+<span class="sourceLineNo">1331</span>        oserver.preSetUserQuota(ctx, user, table, quotas);<a name="line.1331"></a>
+<span class="sourceLineNo">1332</span>      }<a name="line.1332"></a>
+<span class="sourceLineNo">1333</span>    });<a name="line.1333"></a>
+<span class="sourceLineNo">1334</span>  }<a name="line.1334"></a>
+<span class="sourceLineNo">1335</span><a name="line.1335"></a>
+<span class="sourceLineNo">1336</span>  public void postSetUserQuota(<a name="line.1336"></a>
+<span class="sourceLineNo">1337</span>      final String user, final TableName table, final GlobalQuotaSettings quotas)<a name="line.1337"></a>
 <span class="sourceLineNo">1338</span>          throws IOException {<a name="line.1338"></a>
-<span class="sourceLineNo">1339</span>        oserver.postSetUserQuota(ctx, user, table, quotas);<a name="line.1339"></a>
-<span class="sourceLineNo">1340</span>      }<a name="line.1340"></a>
-<span class="sourceLineNo">1341</span>    });<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span>  }<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span><a name="line.1343"></a>
-<span class="sourceLineNo">1344</span>  public void preSetUserQuota(final String user, final String namespace, final Quotas quotas)<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span>      throws IOException {<a name="line.1345"></a>
-<span class="sourceLineNo">1346</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1346"></a>
-<span class="sourceLineNo">1347</span>      @Override<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1348"></a>
-<span class="sourceLineNo">1349</span>          throws IOException {<a name="line.1349"></a>
-<span class="sourceLineNo">1350</span>        oserver.preSetUserQuota(ctx, user, namespace, quotas);<a name="line.1350"></a>
-<span class="sourceLineNo">1351</span>      }<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span>    });<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span>  }<a name="line.1353"></a>
-<span class="sourceLineNo">1354</span><a name="line.1354"></a>
-<span class="sourceLineNo">1355</span>  public void postSetUserQuota(final String user, final String namespace, final Quotas quotas)<a name="line.1355"></a>
-<span class="sourceLineNo">1356</span>      throws IOException {<a name="line.1356"></a>
-<span class="sourceLineNo">1357</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1357"></a>
-<span class="sourceLineNo">1358</span>      @Override<a name="line.1358"></a>
-<span class="sourceLineNo">1359</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1359"></a>
-<span class="sourceLineNo">1360</span>          throws IOException {<a name="line.1360"></a>
-<span class="sourceLineNo">1361</span>        oserver.postSetUserQuota(ctx, user, namespace, quotas);<a name="line.1361"></a>
-<span class="sourceLineNo">1362</span>      }<a name="line.1362"></a>
-<span class="sourceLineNo">1363</span>    });<a name="line.1363"></a>
-<span class="sourceLineNo">1364</span>  }<a name="line.1364"></a>
-<span class="sourceLineNo">1365</span><a name="line.1365"></a>
-<span class="sourceLineNo">1366</span>  public void preSetTableQuota(final TableName table, final Quotas quotas) throws IOException {<a name="line.1366"></a>
-<span class="sourceLineNo">1367</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1367"></a>
-<span class="sourceLineNo">1368</span>      @Override<a name="line.1368"></a>
-<span class="sourceLineNo">1369</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1369"></a>
-<span class="sourceLineNo">1370</span>          throws IOException {<a name="line.1370"></a>
-<span class="sourceLineNo">1371</span>        oserver.preSetTableQuota(ctx, table, quotas);<a name="line.1371"></a>
-<span class="sourceLineNo">1372</span>      }<a name="line.1372"></a>
-<span class="sourceLineNo">1373</span>    });<a name="line.1373"></a>
-<span class="sourceLineNo">1374</span>  }<a name="line.1374"></a>
-<span class="sourceLineNo">1375</span><a name="line.1375"></a>
-<span class="sourceLineNo">1376</span>  public void postSetTableQuota(final TableName table, final Quotas quotas) throws IOException {<a name="line.1376"></a>
-<span class="sourceLineNo">1377</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1377"></a>
-<span class="sourceLineNo">1378</span>      @Override<a name="line.1378"></a>
-<span class="sourceLineNo">1379</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1379"></a>
-<span class="sourceLineNo">1380</span>          throws IOException {<a name="line.1380"></a>
-<span class="sourceLineNo">1381</span>        oserver.postSetTableQuota(ctx, table, quotas);<a name="line.1381"></a>
-<span class="sourceLineNo">1382</span>      }<a name="line.1382"></a>
-<span class="sourceLineNo">1383</span>    });<a name="line.1383"></a>
-<span class="sourceLineNo">1384</span>  }<a name="line.1384"></a>
-<span class="sourceLineNo">1385</span><a name="line.1385"></a>
-<span class="sourceLineNo">1386</span>  public void preSetNamespaceQuota(final String namespace, final Quotas quotas) throws IOException {<a name="line.1386"></a>
-<span class="sourceLineNo">1387</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1387"></a>
-<span class="sourceLineNo">1388</span>      @Override<a name="line.1388"></a>
-<span class="sourceLineNo">1389</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1389"></a>
-<span class="sourceLineNo">1390</span>          throws IOException {<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span>        oserver.preSetNamespaceQuota(ctx, namespace, quotas);<a name="line.1391"></a>
-<span class="sourceLineNo">1392</span>      }<a name="line.1392"></a>
-<span class="sourceLineNo">1393</span>    });<a name="line.1393"></a>
-<span class="sourceLineNo">1394</span>  }<a name="line.1394"></a>
-<span class="sourceLineNo">1395</span><a name="line.1395"></a>
-<span class="sourceLineNo">1396</span>  public void postSetNamespaceQuota(final String namespace, final Quotas quotas) throws IOException{<a name="line.1396"></a>
-<span class="sourceLineNo">1397</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1397"></a>
-<span class="sourceLineNo">1398</span>      @Override<a name="line.1398"></a>
-<span class="sourceLineNo">1399</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1399"></a>
-<span class="sourceLineNo">1400</span>          throws IOException {<a name="line.1400"></a>
-<span class="sourceLineNo">1401</span>        oserver.postSetNamespaceQuota(ctx, namespace, quotas);<a name="line.1401"></a>
-<span class="sourceLineNo">1402</span>      }<a name="line.1402"></a>
-<span class="sourceLineNo">1403</span>    });<a name="line.1403"></a>
-<span class="sourceLineNo">1404</span>  }<a name="line.1404"></a>
-<span class="sourceLineNo">1405</span><a name="line.1405"></a>
-<span class="sourceLineNo">1406</span>  private static abstract class CoprocessorOperation<a name="line.1406"></a>
-<span class="sourceLineNo">1407</span>      extends ObserverContext&lt;MasterCoprocessorEnvironment&gt; {<a name="line.1407"></a>
-<span class="sourceLineNo">1408</span>    public CoprocessorOperation() {<a name="line.1408"></a>
-<span class="sourceLineNo">1409</span>      this(RpcServer.getRequestUser());<a name="line.1409"></a>
-<span class="sourceLineNo">1410</span>    }<a name="line.1410"></a>
-<span class="sourceLineNo">1411</span><a name="line.1411"></a>
-<span class="sourceLineNo">1412</span>    public CoprocessorOperation(User user) {<a name="line.1412"></a>
-<span class="sourceLineNo">1413</span>      super(user);<a name="line.1413"></a>
-<span class="sourceLineNo">1414</span>    }<a name="line.1414"></a>
+<span class="sourceLineNo">1339</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1339"></a>
+<span class="sourceLineNo">1340</span>      @Override<a name="line.1340"></a>
+<span class="sourceLineNo">1341</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1341"></a>
+<span class="sourceLineNo">1342</span>          throws IOException {<a name="line.1342"></a>
+<span class="sourceLineNo">1343</span>        oserver.postSetUserQuota(ctx, user, table, quotas);<a name="line.1343"></a>
+<span class="sourceLineNo">1344</span>      }<a name="line.1344"></a>
+<span class="sourceLineNo">1345</span>    });<a name="line.1345"></a>
+<span class="sourceLineNo">1346</span>  }<a name="line.1346"></a>
+<span class="sourceLineNo">1347</span><a name="line.1347"></a>
+<span class="sourceLineNo">1348</span>  public void preSetUserQuota(<a name="line.1348"></a>
+<span class="sourceLineNo">1349</span>      final String user, final String namespace, final GlobalQuotaSettings quotas)<a name="line.1349"></a>
+<span class="sourceLineNo">1350</span>          throws IOException {<a name="line.1350"></a>
+<span class="sourceLineNo">1351</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1351"></a>
+<span class="sourceLineNo">1352</span>      @Override<a name="line.1352"></a>
+<span class="sourceLineNo">1353</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1353"></a>
+<span class="sourceLineNo">1354</span>          throws IOException {<a name="line.1354"></a>
+<span class="sourceLineNo">1355</span>        oserver.preSetUserQuota(ctx, user, namespace, quotas);<a name="line.1355"></a>
+<span class="sourceLineNo">1356</span>      }<a name="line.1356"></a>
+<span class="sourceLineNo">1357</span>    });<a name="line.1357"></a>
+<span class="sourceLineNo">1358</span>  }<a name="line.1358"></a>
+<span class="sourceLineNo">1359</span><a name="line.1359"></a>
+<span class="sourceLineNo">1360</span>  public void postSetUserQuota(<a name="line.1360"></a>
+<span class="sourceLineNo">1361</span>      final String user, final String namespace, final GlobalQuotaSettings quotas)<a name="line.1361"></a>
+<span class="sourceLineNo">1362</span>          throws IOException {<a name="line.1362"></a>
+<span class="sourceLineNo">1363</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1363"></a>
+<span class="sourceLineNo">1364</span>      @Override<a name="line.1364"></a>
+<span class="sourceLineNo">1365</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1365"></a>
+<span class="sourceLineNo">1366</span>          throws IOException {<a name="line.1366"></a>
+<span class="sourceLineNo">1367</span>        oserver.postSetUserQuota(ctx, user, namespace, quotas);<a name="line.1367"></a>
+<span class="sourceLineNo">1368</span>      }<a name="line.1368"></a>
+<span class="sourceLineNo">1369</span>    });<a name="line.1369"></a>
+<span class="sourceLineNo">1370</span>  }<a name="line.1370"></a>
+<span class="sourceLineNo">1371</span><a name="line.1371"></a>
+<span class="sourceLineNo">1372</span>  public void preSetTableQuota(<a name="line.1372"></a>
+<span class="sourceLineNo">1373</span>      final TableName table, final GlobalQuotaSettings quotas) throws IOException {<a name="line.1373"></a>
+<span class="sourceLineNo">1374</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1374"></a>
+<span class="sourceLineNo">1375</span>      @Override<a name="line.1375"></a>
+<span class="sourceLineNo">1376</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1376"></a>
+<span class="sourceLineNo">1377</span>          throws IOException {<a name="line.1377"></a>
+<span class="sourceLineNo">1378</span>        oserver.preSetTableQuota(ctx, table, quotas);<a name="line.1378"></a>
+<span class="sourceLineNo">1379</span>      }<a name="line.1379"></a>
+<span class="sourceLineNo">1380</span>    });<a name="line.1380"></a>
+<span class="sourceLineNo">1381</span>  }<a name="line.1381"></a>
+<span class="sourceLineNo">1382</span><a name="line.1382"></a>
+<span class="sourceLineNo">1383</span>  public void postSetTableQuota(<a name="line.1383"></a>
+<span class="sourceLineNo">1384</span>      final TableName table, final GlobalQuotaSettings quotas) throws IOException {<a name="line.1384"></a>
+<span class="sourceLineNo">1385</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1385"></a>
+<span class="sourceLineNo">1386</span>      @Override<a name="line.1386"></a>
+<span class="sourceLineNo">1387</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1387"></a>
+<span class="sourceLineNo">1388</span>          throws IOException {<a name="line.1388"></a>
+<span class="sourceLineNo">1389</span>        oserver.postSetTableQuota(ctx, table, quotas);<a name="line.1389"></a>
+<span class="sourceLineNo">1390</span>      }<a name="line.1390"></a>
+<span class="sourceLineNo">1391</span>    });<a name="line.1391"></a>
+<span class="sourceLineNo">1392</span>  }<a name="line.1392"></a>
+<span class="sourceLineNo">1393</span><a name="line.1393"></a>
+<span class="sourceLineNo">1394</span>  public void preSetNamespaceQuota(<a name="line.1394"></a>
+<span class="sourceLineNo">1395</span>      final String namespace, final GlobalQuotaSettings quotas) throws IOException {<a name="line.1395"></a>
+<span class="sourceLineNo">1396</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1396"></a>
+<span class="sourceLineNo">1397</span>      @Override<a name="line.1397"></a>
+<span class="sourceLineNo">1398</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1398"></a>
+<span class="sourceLineNo">1399</span>          throws IOException {<a name="line.1399"></a>
+<span class="sourceLineNo">1400</span>        oserver.preSetNamespaceQuota(ctx, namespace, quotas);<a name="line.1400"></a>
+<span class="sourceLineNo">1401</span>      }<a name="line.1401"></a>
+<span class="sourceLineNo">1402</span>    });<a name="line.1402"></a>
+<span class="sourceLineNo">1403</span>  }<a name="line.1403"></a>
+<span class="sourceLineNo">1404</span><a name="line.1404"></a>
+<span class="sourceLineNo">1405</span>  public void postSetNamespaceQuota(<a name="line.1405"></a>
+<span class="sourceLineNo">1406</span>      final String namespace, final GlobalQuotaSettings quotas) throws IOException{<a name="line.1406"></a>
+<span class="sourceLineNo">1407</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1407"></a>
+<span class="sourceLineNo">1408</span>      @Override<a name="line.1408"></a>
+<span class="sourceLineNo">1409</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1409"></a>
+<span class="sourceLineNo">1410</span>          throws IOException {<a name="line.1410"></a>
+<span class="sourceLineNo">1411</span>        oserver.postSetNamespaceQuota(ctx, namespace, quotas);<a name="line.1411"></a>
+<span class="sourceLineNo">1412</span>      }<a name="line.1412"></a>
+<span class="sourceLineNo">1413</span>    });<a name="line.1413"></a>
+<span class="sourceLineNo">1414</span>  }<a name="line.1414"></a>
 <span class="sourceLineNo">1415</span><a name="line.1415"></a>
-<span class="sourceLineNo">1416</span>    public abstract void call(MasterObserver oserver,<a name="line.1416"></a>
-<span class="sourceLineNo">1417</span>        ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException;<a name="line.1417"></a>
-<span class="sourceLineNo">1418</span><a name="line.1418"></a>
-<span class="sourceLineNo">1419</span>    public void postEnvCall(MasterEnvironment env) {<a name="line.1419"></a>
+<span class="sourceLineNo">1416</span>  private static abstract class CoprocessorOperation<a name="line.1416"></a>
+<span class="sourceLineNo">1417</span>      extends ObserverContext&lt;MasterCoprocessorEnvironment&gt; {<a name="line.1417"></a>
+<span class="sourceLineNo">1418</span>    public CoprocessorOperation() {<a name="line.1418"></a>
+<span class="sourceLineNo">1419</span>      this(RpcServer.getRequestUser());<a name="line.1419"></a>
 <span class="sourceLineNo">1420</span>    }<a name="line.1420"></a>
-<span class="sourceLineNo">1421</span>  }<a name="line.1421"></a>
-<span class="sourceLineNo">1422</span><a name="line.1422"></a>
-<span class="sourceLineNo">1423</span>  private static abstract class CoprocessorOperationWithResult&lt;T&gt; extends CoprocessorOperation {<a name="line.1423"></a>
-<span class="sourceLineNo">1424</span>    private T result = null;<a name="line.1424"></a>
-<span class="sourceLineNo">1425</span>    public void setResult(final T result) { this.result = result; }<a name="line.1425"></a>
-<span class="sourceLineNo">1426</span>    public T getResult() { return this.result; }<a name="line.1426"></a>
-<span class="sourceLineNo">1427</span>  }<a name="line.1427"></a>
+<span class="sourceLineNo">1421</span><a name="line.1421"></a>
+<span class="sourceLineNo">1422</span>    public CoprocessorOperation(User user) {<a name="line.1422"></a>
+<span class="sourceLineNo">1423</span>      super(user);<a name="line.1423"></a>
+<span class="sourceLineNo">1424</span>    }<a name="line.1424"></a>
+<span class="sourceLineNo">1425</span><a name="line.1425"></a>
+<span class="sourceLineNo">1426</span>    public abstract void call(MasterObserver oserver,<a name="line.1426"></a>
+<span class="sourceLineNo">1427</span>        ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException;<a name="line.1427"></a>
 <span class="sourceLineNo">1428</span><a name="line.1428"></a>
-<span class="sourceLineNo">1429</span>  private &lt;T&gt; T execOperationWithResult(final T defaultValue,<a name="line.1429"></a>
-<span class="sourceLineNo">1430</span>      final CoprocessorOperationWithResult&lt;T&gt; ctx) throws IOException {<a name="line.1430"></a>
-<span class="sourceLineNo">1431</span>    if (ctx == null) return defaultValue;<a name="line.1431"></a>
-<span class="sourceLineNo">1432</span>    ctx.setResult(defaultValue);<a name="line.1432"></a>
-<span class="sourceLineNo">1433</span>    execOperation(ctx);<a name="line.1433"></a>
-<span class="sourceLineNo">1434</span>    return ctx.getResult();<a name="line.1434"></a>
-<span class="sourceLineNo">1435</span>  }<a name="line.1435"></a>
-<span class="sourceLineNo">1436</span><a name="line.1436"></a>
-<span class="sourceLineNo">1437</span>  private boolean execOperation(final CoprocessorOperation ctx) throws IOException {<a name="line.1437"></a>
-<span class="sourceLineNo">1438</span>    if (ctx == null) return false;<a name="line.1438"></a>
-<span class="sourceLineNo">1439</span>    boolean bypass = false;<a name="line.1439"></a>
-<span class="sourceLineNo">1440</span>    List&lt;MasterEnvironment&gt; envs = coprocessors.get();<a name="line.1440"></a>
-<span class="sourceLineNo">1441</span>    for (int i = 0; i &lt; envs.size(); i++) {<a name="line.1441"></a>
-<span class="sourceLineNo">1442</span>      MasterEnvironment env = envs.get(i);<a name="line.1442"></a>
-<span class="sourceLineNo">1443</span>      if (env.getInstance() instanceof MasterObserver) {<a name="line.1443"></a>
-<span class="sourceLineNo">1444</span>        ctx.prepare(env);<a name="line.1444"></a>
-<span class="sourceLineNo">1445</span>        Thread currentThread = Thread.currentThread();<a name="line.1445"></a>
-<span class="sourceLineNo">1446</span>        ClassLoader cl = currentThread.getContextClassLoader();<a name="line.1446"></a>
-<span class="sourceLineNo">1447</span>        try {<a name="line.1447"></a>
-<span class="sourceLineNo">1448</span>          currentThread.setContextClassLoader(env.getClassLoader());<a name="line.1448"></a>
-<span class="sourceLineNo">1449</span>          ctx.call((MasterObserver)env.getInstance(), ctx);<a name="line.1449"></a>
-<span class="sourceLineNo">1450</span>        } catch (Throwable e) {<a name="line.1450"></a>
-<span class="sourceLineNo">1451</span>          handleCoprocessorThrowable(env, e);<a name="line.1451"></a>
-<span class="sourceLineNo">1452</span>        } finally {<a name="line.1452"></a>
-<span class="sourceLineNo">1453</span>          currentThread.setContextClassLoader(cl);<a name="line.1453"></a>
-<span class="sourceLineNo">1454</span>        }<a name="line.1454"></a>
-<span class="sourceLineNo">1455</span>        bypass |= ctx.shouldBypass();<a name="line.1455"></a>
-<span class="sourceLineNo">1456</span>        if (ctx.shouldComplete()) {<a name="line.1456"></a>
-<span class="sourceLineNo">1457</span>          break;<a name="line.1457"></a>
-<span class="sourceLineNo">1458</span>        }<a name="line.1458"></a>
-<span class="sourceLineNo">1459</span>      }<a name="line.1459"></a>
-<span class="sourceLineNo">1460</span>      ctx.postEnvCall(env);<a name="line.1460"></a>
-<span class="sourceLineNo">1461</span>    }<a name="line.1461"></a>
-<span class="sourceLineNo">1462</span>    return bypass;<a name="line.1462"></a>
-<span class="sourceLineNo">1463</span>  }<a name="line.1463"></a>
-<span class="sourceLineNo">1464</span><a name="line.1464"></a>
-<span class="sourceLineNo">1465</span>  /**<a name="line.1465"></a>
-<span class="sourceLineNo">1466</span>   * Master coprocessor classes can be configured in any order, based on that priority is set and<a name="line.1466"></a>
-<span class="sourceLineNo">1467</span>   * chained in a sorted order. For preStopMaster()/preShutdown(), coprocessor methods are invoked<a name="line.1467"></a>
-<span class="sourceLineNo">1468</span>   * in call() and environment is shutdown in postEnvCall(). &lt;br&gt;<a name="line.1468"></a>
-<span class="sourceLineNo">1469</span>   * Need to execute all coprocessor methods first then postEnvCall(), otherwise some coprocessors<a name="line.1469"></a>
-<span class="sourceLineNo">1470</span>   * may remain shutdown if any exception occurs during next coprocessor execution which prevent<a name="line.1470"></a>
-<span class="sourceLineNo">1471</span>   * Master stop or cluster shutdown. (Refer:<a name="line.1471"></a>
-<span class="sourceLineNo">1472</span>   * &lt;a href="https://issues.apache.org/jira/browse/HBASE-16663"&gt;HBASE-16663&lt;/a&gt;<a name="line.1472"></a>
-<span class="sourceLineNo">1473</span>   * @param ctx CoprocessorOperation<a name="line.1473"></a>
-<span class="sourceLineNo">1474</span>   * @return true if bypaas coprocessor execution, false if not.<a name="line.1474"></a>
-<span class="sourceLineNo">1475</span>   * @throws IOException<a name="line.1475"></a>
-<span class="sourceLineNo">1476</span>   */<a name="line.1476"></a>
-<span class="sourceLineNo">1477</span>  private boolean execShutdown(final CoprocessorOperation ctx) throws IOException {<a name="line.1477"></a>
-<span class="sourceLineNo">1478</span>    if (ctx == null) return false;<a name="line.1478"></a>
-<span class="sourceLineNo">1479</span>    boolean bypass = false;<a name="line.1479"></a>
-<span class="sourceLineNo">1480</span>    List&lt;MasterEnvironment&gt; envs = coprocessors.get();<a name="line.1480"></a>
-<span class="sourceLineNo">1481</span>    int envsSize = envs.size();<a name="line.1481"></a>
-<span class="sourceLineNo">1482</span>    // Iterate the coprocessors and execute CoprocessorOperation's call()<a name="line.1482"></a>
-<span class="sourceLineNo">1483</span>    for (int i = 0; i &lt; envsSize; i++) {<a name="line.1483"></a>
-<span class="sourceLineNo">1484</span>      MasterEnvironment env = envs.get(i);<a name="line.1484"></a>
-<span class="sourceLineNo">1485</span>      if (env.getInstance() instanceof MasterObserver) {<a name="line.1485"></a>
-<span class="sourceLineNo">1486</span>        ctx.prepare(env);<a name="line.1486"></a>
-<span class="sourceLineNo">1487</span>        Thread currentThread = Thread.currentThread();<a name="line.1487"></a>
-<span class="sourceLineNo">1488</span>        ClassLoader cl = currentThread.getContextClassLoader();<a name="line.1488"></a>
-<span class="sourceLineNo">1489</span>        try {<a name="line.1489"></a>
-<span class="sourceLineNo">1490</span>          currentThread.setContextClassLoader(env.getClassLoader());<a name="line.1490"></a>
-<span class="sourceLineNo">1491</span>          ctx.call((MasterObserver) env.getInstance(), ctx);<a name="line.1491"></a>
-<span class="sourceLineNo">1492</span>        } catch (Throwable e) {<a name="line.1492"></a>
-<span class="sourceLineNo">1493</span>          handleCoprocessorThrowable(env, e);<a name="line.1493"></a>
-<span class="sourceLineNo">1494</span>        } finally {<a name="line.1494"></a>
-<span class="sourceLineNo">1495</span>          currentThread.setContextClassLoader(cl);<a name="line.1495"></a>
-<span class="sourceLineNo">1496</span>        }<a name="line.1496"></a>
-<span class="sourceLineNo">1497</span>        bypass |= ctx.shouldBypass();<a name="line.1497"></a>
-<span class="sourceLineNo">1498</span>        if (ctx.shouldComplete()) {<a name="line.1498"></a>
-<span class="sourceLineNo">1499</span>          break;<a name="line.1499"></a>
-<span class="sourceLineNo">1500</span>        }<a name="line.1500"></a>
-<span class="sourceLineNo">1501</span>      }<a name="line.1501"></a>
-<span class="sourceLineNo">1502</span>    }<a name="line.1502"></a>
-<span class="sourceLineNo">1503</span><a name="line.1503"></a>
-<span class="sourceLineNo">1504</span>    // Iterate the coprocessors and execute CoprocessorOperation's postEnvCall()<a name="line.1504"></a>
-<span class="sourceLineNo">1505</span>    for (int i = 0; i &lt; envsSize; i++) {<a name="line.1505"></a>
-<span class="sourceLineNo">1506</span>      MasterEnvironment env = envs.get(i);<a name="line.1506"></a>
-<span class="sourceLineNo">1507</span>      ctx.postEnvCall(env);<a name="line.1507"></a>
-<span class="sourceLineNo">1508</span>    }<a name="line.1508"></a>
-<span class="sourceLineNo">1509</span>    return bypass;<a name="line.1509"></a>
-<span class="sourceLineNo">1510</span>  }<a name="line.1510"></a>
-<span class="sourceLineNo">1511</span><a name="line.1511"></a>
-<span class="sourceLineNo">1512</span>  public void preMoveServersAndTables(final Set&lt;Address&gt; servers, final Set&lt;TableName&gt; tables, final String targetGroup)<a name="line.1512"></a>
-<span class="sourceLineNo">1513</span>          throws IOException {<a name="line.1513"></a>
-<span class="sourceLineNo">1514</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1514"></a>
-<span class="sourceLineNo">1515</span>      @Override<a name="line.1515"></a>
-<span class="sourceLineNo">1516</span>      public void call(MasterObserver oserver,<a name="line.1516"></a>
-<span class="sourceLineNo">1517</span>                       ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1517"></a>
-<span class="sourceLineNo">1518</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1518"></a>
-<span class="sourceLineNo">1519</span>          oserver.preMoveServersAndTables(ctx, servers, tables, targetGroup);<a name="line.1519"></a>
-<span class="sourceLineNo">1520</span>        }<a name="line.1520"></a>
-<span class="sourceLineNo">1521</span>      }<a name="line.1521"></a>
-<span class="sourceLineNo">1522</span>    });<a name="line.1522"></a>
-<span class="sourceLineNo">1523</span>  }<a name="line.1523"></a>
-<span class="sourceLineNo">1524</span><a name="line.1524"></a>
-<span class="sourceLineNo">1525</span>  public void postMoveServersAndTables(final Set&lt;Address&gt; servers, final Set&lt;TableName&gt; tables, final String targetGroup)<a name="line.1525"></a>
-<span class="sourceLineNo">1526</span>          throws IOException {<a name="line.1526"></a>
-<span class="sourceLineNo">1527</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1527"></a>
-<span class="sourceLineNo">1528</span>      @Override<a name="line.1528"></a>
-<span class="sourceLineNo">1529</span>      public void call(MasterObserver oserver,<a name="line.1529"></a>
-<span class="sourceLineNo">1530</span>                       ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1530"></a>
-<span class="sourceLineNo">1531</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1531"></a>
-<span class="sourceLineNo">1532</span>          oserver.postMoveServersAndTables(ctx, servers, tables, targetGroup);<a name="line.1532"></a>
-<span class="sourceLineNo">1533</span>        }<a name="line.1533"></a>
-<span class="sourceLineNo">1534</span>      }<a name="line.1534"></a>
-<span class="sourceLineNo">1535</span>    });<a name="line.1535"></a>
-<span class="sourceLineNo">1536</span>  }<a name="line.1536"></a>
-<span class="sourceLineNo">1537</span><a name="line.1537"></a>
-<span class="sourceLineNo">1538</span>  public void preMoveServers(final Set&lt;Address&gt; servers, final String targetGroup)<a name="line.1538"></a>
-<span class="sourceLineNo">1539</span>      throws IOException {<a name="line.1539"></a>
-<span class="sourceLineNo">1540</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1540"></a>
-<span class="sourceLineNo">1541</span>      @Override<a name="line.1541"></a>
-<span class="sourceLineNo">1542</span>      public void call(MasterObserver oserver,<a name="line.1542"></a>
-<span class="sourceLineNo">1543</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1543"></a>
-<span class="sourceLineNo">1544</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1544"></a>
-<span class="sourceLineNo">1545</span>          oserver.preMoveServers(ctx, servers, targetGroup);<a name="line.1545"></a>
-<span class="sourceLineNo">1546</span>        }<a name="line.1546"></a>
-<span class="sourceLineNo">1547</span>      }<a name="line.1547"></a>
-<span class="sourceLineNo">1548</span>    });<a name="line.1548"></a>
-<span class="sourceLineNo">1549</span>  }<a name="line.1549"></a>
-<span class="sourceLineNo">1550</span><a name="line.1550"></a>
-<span class="sourceLineNo">1551</span>  public void postMoveServers(final Set&lt;Address&gt; servers, final String targetGroup)<a name="line.1551"></a>
-<span class="sourceLineNo">1552</span>      throws IOException {<a name="line.1552"></a>
-<span class="sourceLineNo">1553</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1553"></a>
-<span class="sourceLineNo">1554</span>      @Override<a name="line.1554"></a>
-<span class="sourceLineNo">1555</span>      public void call(MasterObserver oserver,<a name="line.1555"></a>
-<span class="sourceLineNo">1556</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1556"></a>
-<span class="sourceLineNo">1557</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1557"></a>
-<span class="sourceLineNo">1558</span>          oserver.postMoveServers(ctx, servers, targetGroup);<a name="line.1558"></a>
-<span class="sourceLineNo">1559</span>        }<a name="line.1559"></a>
-<span class="sourceLineNo">1560</span>      }<a name="line.1560"></a>
-<span class="sourceLineNo">1561</span>    });<a name="line.1561"></a>
-<span class="sourceLineNo">1562</span>  }<a name="line.1562"></a>
-<span class="sourceLineNo">1563</span><a name="line.1563"></a>
-<span class="sourceLineNo">1564</span>  public void preMoveTables(final Set&lt;TableName&gt; tables, final String targetGroup)<a name="line.1564"></a>
-<span class="sourceLineNo">1565</span>      throws IOException {<a name="line.1565"></a>
-<span class="sourceLineNo">1566</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1566"></a>
-<span class="sourceLineNo">1567</span>      @Override<a name="line.1567"></a>
-<span class="sourceLineNo">1568</span>      public void call(MasterObserver oserver,<a name="line.1568"></a>
-<span class="sourceLineNo">1569</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1569"></a>
-<span class="sourceLineNo">1570</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1570"></a>
-<span class="sourceLineNo">1571</span>          oserver.preMoveTables(ctx, tables, targetGroup);<a name="line.1571"></a>
-<span class="sourceLineNo">1572</span>        }<a name="line.1572"></a>
-<span class="sourceLineNo">1573</span>      }<a name="line.1573"></a>
-<span class="sourceLineNo">1574</span>    });<a name="line.1574"></a>
-<span class="sourceLineNo">1575</span>  }<a name="line.1575"></a>
-<span class="sourceLineNo">1576</span><a name="line.1576"></a>
-<span class="sourceLineNo">1577</span>  public void postMoveTables(final Set&lt;TableName&gt; tables, final String targetGroup)<a name="line.1577"></a>
-<span class="sourceLineNo">1578</span>      throws IOException {<a name="line.1578"></a>
-<span class="sourceLineNo">1579</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1579"></a>
-<span class="sourceLineNo">1580</span>      @Override<a name="line.1580"></a>
-<span class="sourceLineNo">1581</span>      public void call(MasterObserver oserver,<a name="line.1581"></a>
-<span class="sourceLineNo">1582</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1582"></a>
-<span class="sourceLineNo">1583</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1583"></a>
-<span class="sourceLineNo">1584</span>          oserver.postMoveTables(ctx, tables, targetGroup);<a name="line.1584"></a>
-<span class="sourceLineNo">1585</span>        }<a name="line.1585"></a>
-<span class="sourceLineNo">1586</span>      }<a name="line.1586"></a>
-<span class="sourceLineNo">1587</span>    });<a name="line.1587"></a>
-<span class="sourceLineNo">1588</span>  }<a name="line.1588"></a>
-<span class="sourceLineNo">1589</span><a name="line.1589"></a>
-<span class="sourceLineNo">1590</span>  public void preAddRSGroup(final String name)<a name="line.1590"></a>
-<span class="sourceLineNo">1591</span>      throws IOException {<a name="line.1591"></a>
-<span class="sourceLineNo">1592</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1592"></a>
-<span class="sourceLineNo">1593</span>      @Override<a name="line.1593"></a>
-<span class="sourceLineNo">1594</span>      public void call(MasterObserver oserver,<a name="line.1594"></a>
-<span class="sourceLineNo">1595</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1595"></a>
-<span class="sourceLineNo">1596</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1596"></a>
-<span class="sourceLineNo">1597</span>          oserver.preAddRSGroup(ctx, name);<a name="line.1597"></a>
-<span class="sourceLineNo">1598</span>        }<a name="line.1598"></a>
-<span class="sourceLineNo">1599</span>      }<a name="line.1599"></a>
-<span class="sourceLineNo">1600</span>    });<a name="line.1600"></a>
-<span class="sourceLineNo">1601</span>  }<a name="line.1601"></a>
-<span class="sourceLineNo">1602</span><a name="line.1602"></a>
-<span class="sourceLineNo">1603</span>  public void postAddRSGroup(final String name)<a name="line.1603"></a>
-<span class="sourceLineNo">1604</span>      throws IOException {<a name="line.1604"></a>
-<span class="sourceLineNo">1605</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1605"></a>
-<span class="sourceLineNo">1606</span>      @Override<a name="line.1606"></a>
-<span class="sourceLineNo">1607</span>      public void call(MasterObserver oserver,<a name="line.1607"></a>
-<span class="sourceLineNo">1608</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1608"></a>
-<span class="sourceLineNo">1609</span>        if (((MasterEnvironment) ctx.getEnvironment()).supportGroupCPs) {<a name="line.1609"></a>
-<span class="sourceLineNo">1610</span>          oserver.postAddRSGroup(ctx, name);<a name="line.1610"></a>
-<span class="sourceLineNo">1611</span>        }<a name="line.1611"></a>
-<span class="sourceLineNo">1612</span>      }<a name="line.1612"></a>
-<span class="sourceLineNo">1613</span>    });<a name="line.1613"></a>
-<span class="sourceLineNo">1614</span>  }<a name="line.1614"></a>
-<span class="sourceLineNo">1615</span><a name="line.1615"></a>
-<span class="sourceLineNo">1616</span>  public void preRemoveRSGroup(final String name)<a name="line.1616"></a>
-<span class="sourceLineNo">1617</span>      throws IOException {<a name="line.1617"></a>
-<span class="sourceLineNo">1618</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1618"></a>
-<span class="sourceLineNo">1619</span>      @Override<a name="line.1619"></a>
-<span class="sourceLineNo">1620</span>      public void call(MasterObserver oserver,<a name="line.1620"></a>
-<span class="sourceLineNo">1621</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1621"></a>
-<span class="sourceLineNo">1622</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1622"></a>
-<span class="sourceLineNo">1623</span>          oserver.preRemoveRSGroup(ctx, name);<a name="line.1623"></a>
-<span class="sourceLineNo">1624</span>        }<a name="line.1624"></a>
-<span class="sourceLineNo">1625</span>      }<a name="line.1625"></a>
-<span class="sourceLineNo">1626</span>    });<a name="line.1626"></a>
-<span class="sourceLineNo">1627</span>  }<a name="line.1627"></a>
-<span class="sourceLineNo">1628</span><a name="line.1628"></a>
-<span class="sourceLineNo">1629</span>  public void postRemoveRSGroup(final String name)<a name="line.1629"></a>
-<span class="sourceLineNo">1630</span>      throws IOException {<a name="line.1630"></a>
-<span class="sourceLineNo">1631</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1631"></a>
-<span class="sourceLineNo">1632</span>      @Override<a name="line.1632"></a>
-<span class="sourceLineNo">1633</span>      public void call(MasterObserver oserver,<a name="line.1633"></a>
-<span class="sourceLineNo">1634</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1634"></a>
-<span class="sourceLineNo">1635</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1635"></a>
-<span class="sourceLineNo">1636</span>          oserver.postRemoveRSGroup(ctx, name);<a name="line.1636"></a>
-<span class="sourceLineNo">1637</span>        }<a name="line.1637"></a>
-<span class="sourceLineNo">1638</span>      }<a name="line.1638"></a>
-<span class="sourceLineNo">1639</span>    });<a name="line.1639"></a>
-<span class="sourceLineNo">1640</span>  }<a name="line.1640"></a>
-<span class="sourceLineNo">1641</span><a name="line.1641"></a>
-<span class="sourceLineNo">1642</span>  public void preBalanceRSGroup(final String name)<a name="line.1642"></a>
-<span class="sourceLineNo">1643</span>      throws IOException {<a name="line.1643"></a>
-<span class="sourceLineNo">1644</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1644"></a>
-<span class="sourceLineNo">1645</span>      @Override<a name="line.1645"></a>
-<span class="sourceLineNo">1646</span>      public void call(MasterObserver oserver,<a name="line.1646"></a>
-<span class="sourceLineNo">1647</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1647"></a>
-<span class="sourceLineNo">1648</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1648"></a>
-<span class="sourceLineNo">1649</span>          oserver.preBalanceRSGroup(ctx, name);<a name="line.1649"></a>
-<span class="sourceLineNo">1650</span>        }<a name="line.1650"></a>
-<span class="sourceLineNo">1651</span>      }<a name="line.1651"></a>
-<span class="sourceLineNo">1652</span>    });<a name="line.1652"></a>
-<span class="sourceLineNo">1653</span>  }<a name="line.1653"></a>
-<span class="sourceLineNo">1654</span><a name="line.1654"></a>
-<span class="sourceLineNo">1655</span>  public void postBalanceRSGroup(final String name, final boolean balanceRan)<a name="line.1655"></a>
-<span class="sourceLineNo">1656</span>      throws IOException {<a name="line.1656"></a>
-<span class="sourceLineNo">1657</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1657"></a>
-<span class="sourceLineNo">1658</span>      @Override<a name="line.1658"></a>
-<span class="sourceLineNo">1659</span>      public void call(MasterObserver oserver,<a name="line.1659"></a>
-<span class="sourceLineNo">1660</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1660"></a>
-<span class="sourceLineNo">1661</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1661"></a>
-<span class="sourceLineNo">1662</span>          oserver.postBalanceRSGroup(ctx, name, balanceRan);<a name="line.1662"></a>
-<span class="sourceLineNo">1663</span>        }<a name="line.1663"></a>
-<span class="sourceLineNo">1664</span>      }<a name="line.1664"></a>
-<span class="sourceLineNo">1665</span>    });<a name="line.1665"></a>
-<span class="sourceLineNo">1666</span>  }<a name="line.1666"></a>
-<span class="sourceLineNo">1667</span><a name="line.1667"></a>
-<span class="sourceLineNo">1668</span>  public void preAddReplicationPeer(final String peerId, final ReplicationPeerConfig peerConfig)<a name="line.1668"></a>
-<span class="sourceLineNo">1669</span>      throws IOException {<a name="line.1669"></a>
-<span class="sourceLineNo">1670</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1670"></a>
-<span class="sourceLineNo">1671</span>      @Override<a name="line.1671"></a>
-<span class="sourceLineNo">1672</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1672"></a>
-<span class="sourceLineNo">1673</span>          throws IOException {<a name="line.1673"></a>
-<span class="sourceLineNo">1674</span>        observer.preAddReplicationPeer(ctx, peerId, peerConfig);<a name="line.1674"></a>
-<span class="sourceLineNo">1675</span>      }<a name="line.1675"></a>
-<span class="sourceLineNo">1676</span>    });<a name="line.1676"></a>
-<span class="sourceLineNo">1677</span>  }<a name="line.1677"></a>
-<span class="sourceLineNo">1678</span><a name="line.1678"></a>
-<span class="sourceLineNo">1679</span>  public void postAddReplicationPeer(final String peerId, final ReplicationPeerConfig peerConfig)<a name="line.1679"></a>
-<span class="sourceLineNo">1680</span>      throws IOException {<a name="line.1680"></a>
-<span class="sourceLineNo">1681</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1681"></a>
-<span class="sourceLineNo">1682</span>      @Override<a name="line.1682"></a>
-<span class="sourceLineNo">1683</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1683"></a>
-<span class="sourceLineNo">1684</span>          throws IOException {<a name="line.1684"></a>
-<span class="sourceLineNo">1685</span>        observer.postAddReplicationPeer(ctx, peerId, peerConfig);<a name="line.1685"></a>
-<span class="sourceLineNo">1686</span>      }<a name="line.1686"></a>
-<span class="sourceLineNo">1687</span>    });<a name="line.1687"></a>
-<span class="sourceLineNo">1688</span>  }<a name="line.1688"></a>
-<span class="sourceLineNo">1689</span><a name="line.1689"></a>
-<span class="sourceLineNo">1690</span>  public void preRemoveReplicationPeer(final String peerId) throws IOException {<a name="line.1690"></a>
+<span class="sourceLineNo">1429</span>    public void postEnvCall(MasterEnvironment env) {<a name="line.1429"></a>
+<span class="sourceLineNo">1430</span>    }<a name="line.1430"></a>
+<span class="sourceLineNo">1431</span>  }<a name="line.1431"></a>
+<span class="sourceLineNo">1432</span><a name="line.1432"></a>
+<span class="sourceLineNo">1433</span>  private static abstract class CoprocessorOperationWithResult&lt;T&gt; extends CoprocessorOperation {<a name="line.1433"></a>
+<span class="sourceLineNo">1434</span>    private T result = null;<a name="line.1434"></a>
+<span class="sourceLineNo">1435</span>    public void setResult(final T result) { this.result = result; }<a name="line.1435"></a>
+<span class="sourceLineNo">1436</span>    public T getResult() { return this.result; }<a name="line.1436"></a>
+<span class="sourceLineNo">1437</span>  }<a name="line.1437"></a>
+<span class="sourceLineNo">1438</span><a name="line.1438"></a>
+<span class="sourceLineNo">1439</span>  private &lt;T&gt; T execOperationWithResult(final T defaultValue,<a name="line.1439"></a>
+<span class="sourceLineNo">1440</span>      final CoprocessorOperationWithResult&lt;T&gt; ctx) throws IOException {<a name="line.1440"></a>
+<span class="sourceLineNo">1441</span>    if (ctx == null) return defaultValue;<a name="line.1441"></a>
+<span class="sourceLineNo">1442</span>    ctx.setResult(defaultValue);<a name="line.1442"></a>
+<span class="sourceLineNo">1443</span>    execOperation(ctx);<a name="line.1443"></a>
+<span class="sourceLineNo">1444</span>    return ctx.getResult();<a name="line.1444"></a>
+<span class="sourceLineNo">1445</span>  }<a name="line.1445"></a>
+<span class="sourceLineNo">1446</span><a name="line.1446"></a>
+<span class="sourceLineNo">1447</span>  private boolean execOperation(final CoprocessorOperation ctx) throws IOException {<a name="line.1447"></a>
+<span class="sourceLineNo">1448</span>    if (ctx == null) return false;<a name="line.1448"></a>
+<span class="sourceLineNo">1449</span>    boolean bypass = false;<a name="line.1449"></a>
+<span class="sourceLineNo">1450</span>    List&lt;MasterEnvironment&gt; envs = coprocessors.get();<a name="line.1450"></a>
+<span class="sourceLineNo">1451</span>    for (int i = 0; i &lt; envs.size(); i++) {<a name="line.1451"></a>
+<span class="sourceLineNo">1452</span>      MasterEnvironment env = envs.get(i);<a name="line.1452"></a>
+<span class="sourceLineNo">1453</span>      if (env.getInstance() instanceof MasterObserver) {<a name="line.1453"></a>
+<span class="sourceLineNo">1454</span>        ctx.prepare(env);<a name="line.1454"></a>
+<span class="sourceLineNo">1455</span>        Thread currentThread = Thread.currentThread();<a name="line.1455"></a>
+<span class="sourceLineNo">1456</span>        ClassLoader cl = currentThread.getContextClassLoader();<a name="line.1456"></a>
+<span class="sourceLineNo">1457</span>        try {<a name="line.1457"></a>
+<span class="sourceLineNo">1458</span>          currentThread.setContextClassLoader(env.getClassLoader());<a name="line.1458"></a>
+<span class="sourceLineNo">1459</span>          ctx.call((MasterObserver)env.getInstance(), ctx);<a name="line.1459"></a>
+<span class="sourceLineNo">1460</span>        } catch (Throwable e) {<a name="line.1460"></a>
+<span class="sourceLineNo">1461</span>          handleCoprocessorThrowable(env, e);<a name="line.1461"></a>
+<span class="sourceLineNo">1462</span>        } finally {<a name="line.1462"></a>
+<span class="sourceLineNo">1463</span>          currentThread.setContextClassLoader(cl);<a name="line.1463"></a>
+<span class="sourceLineNo">1464</span>        }<a name="line.1464"></a>
+<span class="sourceLineNo">1465</span>        bypass |= ctx.shouldBypass();<a name="line.1465"></a>
+<span class="sourceLineNo">1466</span>        if (ctx.shouldComplete()) {<a name="line.1466"></a>
+<span class="sourceLineNo">1467</span>          break;<a name="line.1467"></a>
+<span class="sourceLineNo">1468</span>        }<a name="line.1468"></a>
+<span class="sourceLineNo">1469</span>      }<a name="line.1469"></a>
+<span class="sourceLineNo">1470</span>      ctx.postEnvCall(env);<a name="line.1470"></a>
+<span class="sourceLineNo">1471</span>    }<a name="line.1471"></a>
+<span class="sourceLineNo">1472</span>    return bypass;<a name="line.1472"></a>
+<span class="sourceLineNo">1473</span>  }<a name="line.1473"></a>
+<span class="sourceLineNo">1474</span><a name="line.1474"></a>
+<span class="sourceLineNo">1475</span>  /**<a name="line.1475"></a>
+<span class="sourceLineNo">1476</span>   * Master coprocessor classes can be configured in any order, based on that priority is set and<a name="line.1476"></a>
+<span class="sourceLineNo">1477</span>   * chained in a sorted order. For preStopMaster()/preShutdown(), coprocessor methods are invoked<a name="line.1477"></a>
+<span class="sourceLineNo">1478</span>   * in call() and environment is shutdown in postEnvCall(). &lt;br&gt;<a name="line.1478"></a>
+<span class="sourceLineNo">1479</span>   * Need to execute all coprocessor methods first then postEnvCall(), otherwise some coprocessors<a name="line.1479"></a>
+<span class="sourceLineNo">1480</span>   * may remain shutdown if any exception occurs during next coprocessor execution which prevent<a name="line.1480"></a>
+<span class="sourceLineNo">1481</span>   * Master stop or cluster shutdown. (Refer:<a name="line.1481"></a>
+<span class="sourceLineNo">1482</span>   * &lt;a href="https://issues.apache.org/jira/browse/HBASE-16663"&gt;HBASE-16663&lt;/a&gt;<a name="line.1482"></a>
+<span class="sourceLineNo">1483</span>   * @param ctx CoprocessorOperation<a name="line.1483"></a>
+<span class="sourceLineNo">1484</span>   * @return true if bypaas coprocessor execution, false if not.<a name="line.1484"></a>
+<span class="sourceLineNo">1485</span>   * @throws IOException<a name="line.1485"></a>
+<span class="sourceLineNo">1486</span>   */<a name="line.1486"></a>
+<span class="sourceLineNo">1487</span>  private boolean execShutdown(final CoprocessorOperation ctx) throws IOException {<a name="line.1487"></a>
+<span class="sourceLineNo">1488</span>    if (ctx == null) return false;<a name="line.1488"></a>
+<span class="sourceLineNo">1489</span>    boolean bypass = false;<a name="line.1489"></a>
+<span class="sourceLineNo">1490</span>    List&lt;MasterEnvironment&gt; envs = coprocessors.get();<a name="line.1490"></a>
+<span class="sourceLineNo">1491</span>    int envsSize = envs.size();<a name="line.1491"></a>
+<span class="sourceLineNo">1492</span>    // Iterate the coprocessors and execute CoprocessorOperation's call()<a name="line.1492"></a>
+<span class="sourceLineNo">1493</span>    for (int i = 0; i &lt; envsSize; i++) {<a name="line.1493"></a>
+<span class="sourceLineNo">1494</span>      MasterEnvironment env = envs.get(i);<a name="line.1494"></a>
+<span class="sourceLineNo">1495</span>      if (env.getInstance() instanceof MasterObserver) {<a name="line.1495"></a>
+<span class="sourceLineNo">1496</span>        ctx.prepare(env);<a name="line.1496"></a>
+<span class="sourceLineNo">1497</span>        Thread currentThread = Thread.currentThread();<a name="line.1497"></a>
+<span class="sourceLineNo">1498</span>        ClassLoader cl = currentThread.getContextClassLoader();<a name="line.1498"></a>
+<span class="sourceLineNo">1499</span>        try {<a name="line.1499"></a>
+<span class="sourceLineNo">1500</span>          currentThread.setContextClassLoader(env.getClassLoader());<a name="line.1500"></a>
+<span class="sourceLineNo">1501</span>          ctx.call((MasterObserver) env.getInstance(), ctx);<a name="line.1501"></a>
+<span class="sourceLineNo">1502</span>        } catch (Throwable e) {<a name="line.1502"></a>
+<span class="sourceLineNo">1503</span>          handleCoprocessorThrowable(env, e);<a name="line.1503"></a>
+<span class="sourceLineNo">1504</span>        } finally {<a name="line.1504"></a>
+<span class="sourceLineNo">1505</span>          currentThread.setContextClassLoader(cl);<a name="line.1505"></a>
+<span class="sourceLineNo">1506</span>        }<a name="line.1506"></a>
+<span class="sourceLineNo">1507</span>        bypass |= ctx.shouldBypass();<a name="line.1507"></a>
+<span class="sourceLineNo">1508</span>        if (ctx.shouldComplete()) {<a name="line.1508"></a>
+<span class="sourceLineNo">1509</span>          break;<a name="line.1509"></a>
+<span class="sourceLineNo">1510</span>        }<a name="line.1510"></a>
+<span class="sourceLineNo">1511</span>      }<a name="line.1511"></a>
+<span class="sourceLineNo">1512</span>    }<a name="line.1512"></a>
+<span class="sourceLineNo">1513</span><a name="line.1513"></a>
+<span class="sourceLineNo">1514</span>    // Iterate the coprocessors and execute CoprocessorOperation's postEnvCall()<a name="line.1514"></a>
+<span class="sourceLineNo">1515</span>    for (int i = 0; i &lt; envsSize; i++) {<a name="line.1515"></a>
+<span class="sourceLineNo">1516</span>      MasterEnvironment env = envs.get(i);<a name="line.1516"></a>
+<span class="sourceLineNo">1517</span>      ctx.postEnvCall(env);<a name="line.1517"></a>
+<span class="sourceLineNo">1518</span>    }<a name="line.1518"></a>
+<span class="sourceLineNo">1519</span>    return bypass;<a name="line.1519"></a>
+<span class="sourceLineNo">1520</span>  }<a name="line.1520"></a>
+<span class="sourceLineNo">1521</span><a name="line.1521"></a>
+<span class="sourceLineNo">1522</span>  public void preMoveServersAndTables(final Set&lt;Address&gt; servers, final Set&lt;TableName&gt; tables, final String targetGroup)<a name="line.1522"></a>
+<span class="sourceLineNo">1523</span>          throws IOException {<a name="line.1523"></a>
+<span class="sourceLineNo">1524</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1524"></a>
+<span class="sourceLineNo">1525</span>      @Override<a name="line.1525"></a>
+<span class="sourceLineNo">1526</span>      public void call(MasterObserver oserver,<a name="line.1526"></a>
+<span class="sourceLineNo">1527</span>                       ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1527"></a>
+<span class="sourceLineNo">1528</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1528"></a>
+<span class="sourceLineNo">1529</span>          oserver.preMoveServersAndTables(ctx, servers, tables, targetGroup);<a name="line.1529"></a>
+<span class="sourceLineNo">1530</span>        }<a name="line.1530"></a>
+<span class="sourceLineNo">1531</span>      }<a name="line.1531"></a>
+<span class="sourceLineNo">1532</span>    });<a name="line.1532"></a>
+<span class="sourceLineNo">1533</span>  }<a name="line.1533"></a>
+<span class="sourceLineNo">1534</span><a name="line.1534"></a>
+<span class="sourceLineNo">1535</span>  public void postMoveServersAndTables(final Set&lt;Address&gt; servers, final Set&lt;TableName&gt; tables, final String targetGroup)<a name="line.1535"></a>
+<span class="sourceLineNo">1536</span>          throws IOException {<a name="line.1536"></a>
+<span class="sourceLineNo">1537</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1537"></a>
+<span class="sourceLineNo">1538</span>      @Override<a name="line.1538"></a>
+<span class="sourceLineNo">1539</span>      public void call(MasterObserver oserver,<a name="line.1539"></a>
+<span class="sourceLineNo">1540</span>                       ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1540"></a>
+<span class="sourceLineNo">1541</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1541"></a>
+<span class="sourceLineNo">1542</span>          oserver.postMoveServersAndTables(ctx, servers, tables, targetGroup);<a name="line.1542"></a>
+<span class="sourceLineNo">1543</span>        }<a name="line.1543"></a>
+<span class="sourceLineNo">1544</span>      }<a name="line.1544"></a>
+<span class="sourceLineNo">1545</span>    });<a name="line.1545"></a>
+<span class="sourceLineNo">1546</span>  }<a name="line.1546"></a>
+<span class="sourceLineNo">1547</span><a name="line.1547"></a>
+<span class="sourceLineNo">1548</span>  public void preMoveServers(final Set&lt;Address&gt; servers, final String targetGroup)<a name="line.1548"></a>
+<span class="sourceLineNo">1549</span>      throws IOException {<a name="line.1549"></a>
+<span class="sourceLineNo">1550</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1550"></a>
+<span class="sourceLineNo">1551</span>      @Override<a name="line.1551"></a>
+<span class="sourceLineNo">1552</span>      public void call(MasterObserver oserver,<a name="line.1552"></a>
+<span class="sourceLineNo">1553</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1553"></a>
+<span class="sourceLineNo">1554</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1554"></a>
+<span class="sourceLineNo">1555</span>          oserver.preMoveServers(ctx, servers, targetGroup);<a name="line.1555"></a>
+<span class="sourceLineNo">1556</span>        }<a name="line.1556"></a>
+<span class="sourceLineNo">1557</span>      }<a name="line.1557"></a>
+<span class="sourceLineNo">1558</span>    });<a name="line.1558"></a>
+<span class="sourceLineNo">1559</span>  }<a name="line.1559"></a>
+<span class="sourceLineNo">1560</span><a name="line.1560"></a>
+<span class="sourceLineNo">1561</span>  public void postMoveServers(final Set&lt;Address&gt; servers, final String targetGroup)<a name="line.1561"></a>
+<span class="sourceLineNo">1562</span>      throws IOException {<a name="line.1562"></a>
+<span class="sourceLineNo">1563</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1563"></a>
+<span class="sourceLineNo">1564</span>      @Override<a name="line.1564"></a>
+<span class="sourceLineNo">1565</span>      public void call(MasterObserver oserver,<a name="line.1565"></a>
+<span class="sourceLineNo">1566</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1566"></a>
+<span class="sourceLineNo">1567</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1567"></a>
+<span class="sourceLineNo">1568</span>          oserver.postMoveServers(ctx, servers, targetGroup);<a name="line.1568"></a>
+<span class="sourceLineNo">1569</span>        }<a name="line.1569"></a>
+<span class="sourceLineNo">1570</span>      }<a name="line.1570"></a>
+<span class="sourceLineNo">1571</span>    });<a name="line.1571"></a>
+<span class="sourceLineNo">1572</span>  }<a name="line.1572"></a>
+<span class="sourceLineNo">1573</span><a name="line.1573"></a>
+<span class="sourceLineNo">1574</span>  public void preMoveTables(final Set&lt;TableName&gt; tables, final String targetGroup)<a name="line.1574"></a>
+<span class="sourceLineNo">1575</span>      throws IOException {<a name="line.1575"></a>
+<span class="sourceLineNo">1576</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1576"></a>
+<span class="sourceLineNo">1577</span>      @Override<a name="line.1577"></a>
+<span class="sourceLineNo">1578</span>      public void call(MasterObserver oserver,<a name="line.1578"></a>
+<span class="sourceLineNo">1579</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1579"></a>
+<span class="sourceLineNo">1580</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1580"></a>
+<span class="sourceLineNo">1581</span>          oserver.preMoveTables(ctx, tables, targetGroup);<a name="line.1581"></a>
+<span class="sourceLineNo">1582</span>        }<a name="line.1582"></a>
+<span class="sourceLineNo">1583</span>      }<a name="line.1583"></a>
+<span class="sourceLineNo">1584</span>    });<a name="line.1584"></a>
+<span class="sourceLineNo">1585</span>  }<a name="line.1585"></a>
+<span class="sourceLineNo">1586</span><a name="line.1586"></a>
+<span class="sourceLineNo">1587</span>  public void postMoveTables(final Set&lt;TableName&gt; tables, final String targetGroup)<a name="line.1587"></a>
+<span class="sourceLineNo">1588</span>      throws IOException {<a name="line.1588"></a>
+<span class="sourceLineNo">1589</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1589"></a>
+<span class="sourceLineNo">1590</span>      @Override<a name="line.1590"></a>
+<span class="sourceLineNo">1591</span>      public void call(MasterObserver oserver,<a name="line.1591"></a>
+<span class="sourceLineNo">1592</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1592"></a>
+<span class="sourceLineNo">1593</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1593"></a>
+<span class="sourceLineNo">1594</span>          oserver.postMoveTables(ctx, tables, targetGroup);<a name="line.1594"></a>
+<span class="sourceLineNo">1595</span>        }<a name="line.1595"></a>
+<span class="sourceLineNo">1596</span>      }<a name="line.1596"></a>
+<span class="sourceLineNo">1597</span>    });<a name="line.1597"></a>
+<span class="sourceLineNo">1598</span>  }<a name="line.1598"></a>
+<span class="sourceLineNo">1599</span><a name="line.1599"></a>
+<span class="sourceLineNo">1600</span>  public void preAddRSGroup(final String name)<a name="line.1600"></a>
+<span class="sourceLineNo">1601</span>      throws IOException {<a name="line.1601"></a>
+<span class="sourceLineNo">1602</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1602"></a>
+<span class="sourceLineNo">1603</span>      @Override<a name="line.1603"></a>
+<span class="sourceLineNo">1604</span>      public void call(MasterObserver oserver,<a name="line.1604"></a>
+<span class="sourceLineNo">1605</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1605"></a>
+<span class="sourceLineNo">1606</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1606"></a>
+<span class="sourceLineNo">1607</span>          oserver.preAddRSGroup(ctx, name);<a name="line.1607"></a>
+<span class="sourceLineNo">1608</span>        }<a name="line.1608"></a>
+<span class="sourceLineNo">1609</span>      }<a name="line.1609"></a>
+<span class="sourceLineNo">1610</span>    });<a name="line.1610"></a>
+<span class="sourceLineNo">1611</span>  }<a name="line.1611"></a>
+<span class="sourceLineNo">1612</span><a name="line.1612"></a>
+<span class="sourceLineNo">1613</span>  public void postAddRSGroup(final String name)<a name="line.1613"></a>
+<span class="sourceLineNo">1614</span>      throws IOException {<a name="line.1614"></a>
+<span class="sourceLineNo">1615</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1615"></a>
+<span class="sourceLineNo">1616</span>      @Override<a name="line.1616"></a>
+<span class="sourceLineNo">1617</span>      public void call(MasterObserver oserver,<a name="line.1617"></a>
+<span class="sourceLineNo">1618</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1618"></a>
+<span class="sourceLineNo">1619</span>        if (((MasterEnvironment) ctx.getEnvironment()).supportGroupCPs) {<a name="line.1619"></a>
+<span class="sourceLineNo">1620</span>          oserver.postAddRSGroup(ctx, name);<a name="line.1620"></a>
+<span class="sourceLineNo">1621</span>        }<a name="line.1621"></a>
+<span class="sourceLineNo">1622</span>      }<a name="line.1622"></a>
+<span class="sourceLineNo">1623</span>    });<a name="line.1623"></a>
+<span class="sourceLineNo">1624</span>  }<a name="line.1624"></a>
+<span class="sourceLineNo">1625</span><a name="line.1625"></a>
+<span class="sourceLineNo">1626</span>  public void preRemoveRSGroup(final String name)<a name="line.1626"></a>
+<span class="sourceLineNo">1627</span>      throws IOException {<a name="line.1627"></a>
+<span class="sourceLineNo">1628</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1628"></a>
+<span class="sourceLineNo">1629</span>      @Override<a name="line.1629"></a>
+<span class="sourceLineNo">1630</span>      public void call(MasterObserver oserver,<a name="line.1630"></a>
+<span class="sourceLineNo">1631</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1631"></a>
+<span class="sourceLineNo">1632</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1632"></a>
+<span class="sourceLineNo">1633</span>          oserver.preRemoveRSGroup(ctx, name);<a name="line.1633"></a>
+<span class="sourceLineNo">1634</span>        }<a name="line.1634"></a>
+<span class="sourceLineNo">1635</span>      }<a name="line.1635"></a>
+<span class="sourceLineNo">1636</span>    });<a name="line.1636"></a>
+<span class="sourceLineNo">1637</span>  }<a name="line.1637"></a>
+<span class="sourceLineNo">1638</span><a name="line.1638"></a>
+<span class="sourceLineNo">1639</span>  public void postRemoveRSGroup(final String name)<a name="line.1639"></a>
+<span class="sourceLineNo">1640</span>      throws IOException {<a name="line.1640"></a>
+<span class="sourceLineNo">1641</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1641"></a>
+<span class="sourceLineNo">1642</span>      @Override<a name="line.1642"></a>
+<span class="sourceLineNo">1643</span>      public void call(MasterObserver oserver,<a name="line.1643"></a>
+<span class="sourceLineNo">1644</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1644"></a>
+<span class="sourceLineNo">1645</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1645"></a>
+<span class="sourceLineNo">1646</span>          oserver.postRemoveRSGroup(ctx, name);<a name="line.1646"></a>
+<span class="sourceLineNo">1647</span>        }<a name="line.1647"></a>
+<span class="sourceLineNo">1648</span>      }<a name="line.1648"></a>
+<span class="sourceLineNo">1649</span>    });<a name="line.1649"></a>
+<span class="sourceLineNo">1650</span>  }<a name="line.1650"></a>
+<span class="sourceLineNo">1651</span><a name="line.1651"></a>
+<span class="sourceLineNo">1652</span>  public void preBalanceRSGroup(final String name)<a name="line.1652"></a>
+<span class="sourceLineNo">1653</span>      throws IOException {<a name="line.1653"></a>
+<span class="sourceLineNo">1654</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1654"></a>
+<span class="sourceLineNo">1655</span>      @Override<a name="line.1655"></a>
+<span class="sourceLineNo">1656</span>      public void call(MasterObserver oserver,<a name="line.1656"></a>
+<span class="sourceLineNo">1657</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1657"></a>
+<span class="sourceLineNo">1658</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1658"></a>
+<span class="sourceLineNo">1659</span>          oserver.preBalanceRSGroup(ctx, name);<a name="line.1659"></a>
+<span class="sourceLineNo">1660</span>        }<a name="line.1660"></a>
+<span class="sourceLineNo">1661</span>      }<a name="line.1661"></a>
+<span class="sourceLineNo">1662</span>    });<a name="line.1662"></a>
+<span class="sourceLineNo">1663</span>  }<a name="line.1663"></a>
+<span class="sourceLineNo">1664</span><a name="line.1664"></a>
+<span class="sourceLineNo">1665</span>  public void postBalanceRSGroup(final String name, final boolean balanceRan)<a name="line.1665"></a>
+<span class="sourceLineNo">1666</span>      throws IOException {<a name="line.1666"></a>
+<span class="sourceLineNo">1667</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1667"></a>
+<span class="sourceLineNo">1668</span>      @Override<a name="line.1668"></a>
+<span class="sourceLineNo">1669</span>      public void call(MasterObserver oserver,<a name="line.1669"></a>
+<span class="sourceLineNo">1670</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1670"></a>
+<span class="sourceLineNo">1671</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1671"></a>
+<span class="sourceLineNo">1672</span>          oserver.postBalanceRSGroup(ctx, name, balanceRan);<a name="line.1672"></a>
+<span class="sourceLineNo">1673</span>        }<a name="line.1673"></a>
+<span class="sourceLineNo">1674</span>      }<a name="line.1674"></a>
+<span class="sourceLineNo">1675</span>    });<a name="line.1675"></a>
+<span class="sourceLineNo">1676</span>  }<a name="line.1676"></a>
+<span class="sourceLineNo">1677</span><a name="line.1677"></a>
+<span class="sourceLineNo">1678</span>  public void preAddReplicationPeer(final String peerId, final ReplicationPeerConfig peerConfig)<a name="line.1678"></a>
+<span class="sourceLineNo">1679</span>      throws IOException {<a name="line.1679"></a>
+<span class="sourceLineNo">1680</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1680"></a>
+<span class="sourceLineNo">1681</span>      @Override<a name="line.1681"></a>
+<span class="sourceLineNo">1682</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1682"></a>
+<span class="sourceLineNo">1683</span>          throws IOException {<a name="line.1683"></a>
+<span class="sourceLineNo">1684</span>        observer.preAddReplicationPeer(ctx, peerId, peerConfig);<a name="line.1684"></a>
+<span class="sourceLineNo">1685</span>      }<a name="line.1685"></a>
+<span class="sourceLineNo">1686</span>    });<a name="line.1686"></a>
+<span class="sourceLineNo">1687</span>  }<a name="line.1687"></a>
+<span class="sourceLineNo">1688</span><a name="line.1688"></a>
+<span class="sourceLineNo">1689</span>  public void postAddReplicationPeer(final String peerId, final ReplicationPeerConfig peerConfig)<a name="line.1689"></a>
+<span class="sourceLineNo">1690</span>      throws IOException {<a name="line.1690"></a>
 <span class="sourceLineNo">1691</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1691"></a>
 <span class="sourceLineNo">1692</span>      @Override<a name="line.1692"></a>
 <span class="sourceLineNo">1693</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1693"></a>
 <span class="sourceLineNo">1694</span>          throws IOException {<a name="line.1694"></a>
-<span class="sourceLineNo">1695</span>        observer.preRemoveReplicationPeer(ctx, peerId);<a name="line.1695"></a>
+<span class="sourceLineNo">1695</span>        observer.postAddReplicationPeer(ctx, peerId, peerConfig);<a name="line.1695"></a>
 <span class="sourceLineNo">1696</span>      }<a name="line.1696"></a>
 <span class="sourceLineNo">1697</span>    });<a name="line.1697"></a>
 <span class="sourceLineNo">1698</span>  }<a name="line.1698"></a>
 <span class="sourceLineNo">1699</span><a name="line.1699"></a>
-<span class="sourceLineNo">1700</span>  public void postRemoveReplicationPeer(final String peerId) throws IOException {<a name="line.1700"></a>
+<span class="sourceLineNo">1700</span>  public void preRemoveReplicationPeer(final String peerId) throws IOException {<a name="line.1700"></a>
 <span class="sourceLineNo">1701</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1701"></a>
 <span class="sourceLineNo">1702</span>      @Override<a name="line.1702"></a>
 <span class="sourceLineNo">1703</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1703"></a>
 <span class="sourceLineNo">1704</span>          throws IOException {<a name="line.1704"></a>
-<span class="sourceLineNo">1705</span>        observer.postRemoveReplicationPeer(ctx, peerId);<a name="line.1705"></a>
+<span class="sourceLineNo">1705</span>        observer.preRemoveReplicationPeer(ctx, peerId);<a name="line.1705"></a>
 <span class="sourceLineNo">1706</span>      }<a name="line.1706"></a>
 <span class="sourceLineNo">1707</span>    });<a name="line.1707"></a>
 <span class="sourceLineNo">1708</span>  }<a name="line.1708"></a>
 <span class="sourceLineNo">1709</span><a name="line.1709"></a>
-<span class="sourceLineNo">1710</span>  public void preEnableReplicationPeer(final String peerId) throws IOException {<a name="line.1710"></a>
+<span class="sourceLineNo">1710</span>  public void postRemoveReplicationPeer(final String peerId) throws IOException {<a name="line.1710"></a>
 <span class="sourceLineNo">1711</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1711"></a>
 <span class="sourceLineNo">1712</span>      @Override<a name="line.1712"></a>
 <span class="sourceLineNo">1713</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1713"></a>
 <span class="sourceLineNo">1714</span>          throws IOException {<a name="line.1714"></a>
-<span class="sourceLineNo">1715</span>        observer.preEnableReplicationPeer(ctx, peerId);<a name="line.1715"></a>
+<span class="sourceLineNo">1715</span>        observer.postRemoveReplicationPeer(ctx, peerId);<a name="line.1715"></a>
 <span class="sourceLineNo">1716</span>      }<a name="line.1716"></a>
 <span class="sourceLineNo">1717</span>    });<a name="line.1717"></a>
 <span class="sourceLineNo">1718</span>  }<a name="line.1718"></a>
 <span class="sourceLineNo">1719</span><a name="line.1719"></a>
-<span class="sourceLineNo">1720</span>  public void postEnableReplicationPeer(final String peerId) throws IOException {<a name="line.1720"></a>
+<span class="sourceLineNo">1720</span>  public void preEnableReplicationPeer(final String peerId) throws IOException {<a name="line.1720"></a>
 <span class="sourceLineNo">1721</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1721"></a>
 <span class="sourceLineNo">1722</span>      @Override<a name="line.1722"></a>
 <span class="sourceLineNo">1723</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1723"></a>
 <span class="sourceLineNo">1724</span>          throws IOException {<a name="line.1724"></a>
-<span class="sourceLineNo">1725</span>        observer.postEnableReplicationPeer(ctx, peerId);<a name="line.1725"></a>
+<span class="sourceLineNo">1725</span>        observer.preEnableReplicationPeer(ctx, peerId);<a name="line.1725"></a>
 <span class="sourceLineNo">1726</span>      }<a name="line.1726"></a>
 <span class="sourceLineNo">1727</span>    });<a name="line.1727"></a>
 <span class="sourceLineNo">1728</span>  }<a name="line.1728"></a>
 <span class="sourceLineNo">1729</span><a name="line.1729"></a>
-<span class="sourceLineNo">1730</span>  public void preDisableReplicationPeer(final String peerId) throws IOException {<a name="line.1730"></a>
+<span class="sourceLineNo">1730</span>  public void postEnableReplicationPeer(final String peerId) throws IOException {<a name="line.1730"></a>
 <span class="sourceLineNo">1731</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1731"></a>
 <span class="sourceLineNo">1732</span>      @Override<a name="line.1732"></a>
 <span class="sourceLineNo">1733</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1733"></a>
 <span class="sourceLineNo">1734</span>          throws IOException {<a name="line.1734"></a>
-<span class="sourceLineNo">1735</span>        observer.preDisableReplicationPeer(ctx, peerId);<a name="line.1735"></a>
+<span class="sourceLineNo">1735</span>        observer.postEnableReplicationPeer(ctx, peerId);<a name="line.1735"></a>
 <span class="sourceLineNo">1736</span>      }<a name="line.1736"></a>
 <span class="sourceLineNo">1737</span>    });<a name="line.1737"></a>
 <span class="sourceLineNo">1738</span>  }<a name="line.1738"></a>
 <span class="sourceLineNo">1739</span><a name="line.1739"></a>
-<span class="sourceLineNo">1740</span>  public void postDisableReplicationPeer(final String peerId) throws IOException {<a name="line.1740"></a>
+<span class="sourceLineNo">1740</span>  public void preDisableReplicationPeer(final String peerId) throws IOException {<a name="line.1740"></a>
 <span class="sourceLineNo">1741</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1741"></a>
 <span class="sourceLineNo">1742</span>      @Override<a name="line.1742"></a>
 <span class="sourceLineNo">1743</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1743"></a>
 <span class="sourceLineNo">1744</span>          throws IOException {<a name="line.1744"></a>
-<span class="sourceLineNo">1745</span>        observer.postDisableReplicationPeer(ctx, peerId);<a name="line.1745"></a>
+<span class="sourceLineNo">1745</span>        observer.preDisableReplicationPeer(ctx, peerId);<a name="line.1745"></a>
 <span class="sourceLineNo">1746</span>      }<a name="line.1746"></a>
 <span class="sourceLineNo">1747</span>    });<a name="line.1747"></a>
 <span class="sourceLineNo">1748</span>  }<a name="line.1748"></a>
 <span class="sourceLineNo">1749</span><a name="line.1749"></a>
-<span class="sourceLineNo">1750</span>  public void preGetReplicationPeerConfig(final String peerId) throws IOException {<a name="line.1750"></a>
+<span class="sourceLineNo">1750</span>  public void postDisableReplicationPeer(final String peerId) throws IOException {<a name="line.1750"></a>
 <span class="sourceLineNo">1751</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1751"></a>
 <span class="sourceLineNo">1752</span>      @Override<a name="line.1752"></a>
 <span class="sourceLineNo">1753</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1753"></a>
 <span class="sourceLineNo">1754</span>          throws IOException {<a name="line.1754"></a>
-<span class="sourceLineNo">1755</span>        observer.preGetReplicationPeerConfig(ctx, peerId);<a name="line.1755"></a>
+<span class="sourceLineNo">1755</span>        observer

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html
index f6e5737..7c465b8 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html
@@ -25,341 +25,370 @@
 <span class="sourceLineNo">017</span> */<a name="line.17"></a>
 <span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.quotas;<a name="line.18"></a>
 <span class="sourceLineNo">019</span><a name="line.19"></a>
-<span class="sourceLineNo">020</span>import java.util.ArrayList;<a name="line.20"></a>
-<span class="sourceLineNo">021</span>import java.util.List;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.util.concurrent.TimeUnit;<a name="line.22"></a>
-<span class="sourceLineNo">023</span><a name="line.23"></a>
-<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.TableName;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota;<a name="line.30"></a>
-<span class="sourceLineNo">031</span><a name="line.31"></a>
-<span class="sourceLineNo">032</span>@InterfaceAudience.Public<a name="line.32"></a>
-<span class="sourceLineNo">033</span>public class QuotaSettingsFactory {<a name="line.33"></a>
-<span class="sourceLineNo">034</span>  static class QuotaGlobalsSettingsBypass extends QuotaSettings {<a name="line.34"></a>
-<span class="sourceLineNo">035</span>    private final boolean bypassGlobals;<a name="line.35"></a>
-<span class="sourceLineNo">036</span><a name="line.36"></a>
-<span class="sourceLineNo">037</span>    QuotaGlobalsSettingsBypass(final String userName, final TableName tableName,<a name="line.37"></a>
-<span class="sourceLineNo">038</span>      final String namespace, final boolean bypassGlobals) {<a name="line.38"></a>
-<span class="sourceLineNo">039</span>      super(userName, tableName, namespace);<a name="line.39"></a>
-<span class="sourceLineNo">040</span>      this.bypassGlobals = bypassGlobals;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>    }<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span>    @Override<a name="line.43"></a>
-<span class="sourceLineNo">044</span>    public QuotaType getQuotaType() {<a name="line.44"></a>
-<span class="sourceLineNo">045</span>      return QuotaType.GLOBAL_BYPASS;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>    }<a name="line.46"></a>
-<span class="sourceLineNo">047</span><a name="line.47"></a>
-<span class="sourceLineNo">048</span>    @Override<a name="line.48"></a>
-<span class="sourceLineNo">049</span>    protected void setupSetQuotaRequest(SetQuotaRequest.Builder builder) {<a name="line.49"></a>
-<span class="sourceLineNo">050</span>      builder.setBypassGlobals(bypassGlobals);<a name="line.50"></a>
-<span class="sourceLineNo">051</span>    }<a name="line.51"></a>
-<span class="sourceLineNo">052</span><a name="line.52"></a>
-<span class="sourceLineNo">053</span>    @Override<a name="line.53"></a>
-<span class="sourceLineNo">054</span>    public String toString() {<a name="line.54"></a>
-<span class="sourceLineNo">055</span>      return "GLOBAL_BYPASS =&gt; " + bypassGlobals;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>    }<a name="line.56"></a>
-<span class="sourceLineNo">057</span>  }<a name="line.57"></a>
-<span class="sourceLineNo">058</span><a name="line.58"></a>
-<span class="sourceLineNo">059</span>  /* ==========================================================================<a name="line.59"></a>
-<span class="sourceLineNo">060</span>   *  QuotaSettings from the Quotas object<a name="line.60"></a>
-<span class="sourceLineNo">061</span>   */<a name="line.61"></a>
-<span class="sourceLineNo">062</span>  static List&lt;QuotaSettings&gt; fromUserQuotas(final String userName, final Quotas quotas) {<a name="line.62"></a>
-<span class="sourceLineNo">063</span>    return fromQuotas(userName, null, null, quotas);<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>  static List&lt;QuotaSettings&gt; fromUserQuotas(final String userName, final TableName tableName,<a name="line.66"></a>
-<span class="sourceLineNo">067</span>      final Quotas quotas) {<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    return fromQuotas(userName, tableName, null, quotas);<a name="line.68"></a>
-<span class="sourceLineNo">069</span>  }<a name="line.69"></a>
+<span class="sourceLineNo">020</span>import java.io.IOException;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import java.util.ArrayList;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.util.List;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.util.concurrent.TimeUnit;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.TableName;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.26"></a>
+<span class="sourceLineNo">027</span><a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota;<a name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>@InterfaceAudience.Public<a name="line.34"></a>
+<span class="sourceLineNo">035</span>public class QuotaSettingsFactory {<a name="line.35"></a>
+<span class="sourceLineNo">036</span>  static class QuotaGlobalsSettingsBypass extends QuotaSettings {<a name="line.36"></a>
+<span class="sourceLineNo">037</span>    private final boolean bypassGlobals;<a name="line.37"></a>
+<span class="sourceLineNo">038</span><a name="line.38"></a>
+<span class="sourceLineNo">039</span>    QuotaGlobalsSettingsBypass(final String userName, final TableName tableName,<a name="line.39"></a>
+<span class="sourceLineNo">040</span>      final String namespace, final boolean bypassGlobals) {<a name="line.40"></a>
+<span class="sourceLineNo">041</span>      super(userName, tableName, namespace);<a name="line.41"></a>
+<span class="sourceLineNo">042</span>      this.bypassGlobals = bypassGlobals;<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>    @Override<a name="line.45"></a>
+<span class="sourceLineNo">046</span>    public QuotaType getQuotaType() {<a name="line.46"></a>
+<span class="sourceLineNo">047</span>      return QuotaType.GLOBAL_BYPASS;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>    }<a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span>    @Override<a name="line.50"></a>
+<span class="sourceLineNo">051</span>    protected void setupSetQuotaRequest(SetQuotaRequest.Builder builder) {<a name="line.51"></a>
+<span class="sourceLineNo">052</span>      builder.setBypassGlobals(bypassGlobals);<a name="line.52"></a>
+<span class="sourceLineNo">053</span>    }<a name="line.53"></a>
+<span class="sourceLineNo">054</span><a name="line.54"></a>
+<span class="sourceLineNo">055</span>    @Override<a name="line.55"></a>
+<span class="sourceLineNo">056</span>    public String toString() {<a name="line.56"></a>
+<span class="sourceLineNo">057</span>      return "GLOBAL_BYPASS =&gt; " + bypassGlobals;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    }<a name="line.58"></a>
+<span class="sourceLineNo">059</span><a name="line.59"></a>
+<span class="sourceLineNo">060</span>    protected boolean getBypass() {<a name="line.60"></a>
+<span class="sourceLineNo">061</span>      return bypassGlobals;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>    }<a name="line.62"></a>
+<span class="sourceLineNo">063</span><a name="line.63"></a>
+<span class="sourceLineNo">064</span>    @Override<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    protected QuotaGlobalsSettingsBypass merge(QuotaSettings newSettings) throws IOException {<a name="line.65"></a>
+<span class="sourceLineNo">066</span>      if (newSettings instanceof QuotaGlobalsSettingsBypass) {<a name="line.66"></a>
+<span class="sourceLineNo">067</span>        QuotaGlobalsSettingsBypass other = (QuotaGlobalsSettingsBypass) newSettings;<a name="line.67"></a>
+<span class="sourceLineNo">068</span><a name="line.68"></a>
+<span class="sourceLineNo">069</span>        validateQuotaTarget(other);<a name="line.69"></a>
 <span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span>  static List&lt;QuotaSettings&gt; fromUserQuotas(final String userName, final String namespace,<a name="line.71"></a>
-<span class="sourceLineNo">072</span>      final Quotas quotas) {<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    return fromQuotas(userName, null, namespace, quotas);<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>  static List&lt;QuotaSettings&gt; fromTableQuotas(final TableName tableName, final Quotas quotas) {<a name="line.76"></a>
-<span class="sourceLineNo">077</span>    return fromQuotas(null, tableName, null, quotas);<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>  static List&lt;QuotaSettings&gt; fromNamespaceQuotas(final String namespace, final Quotas quotas) {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    return fromQuotas(null, null, namespace, quotas);<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>  private static List&lt;QuotaSettings&gt; fromQuotas(final String userName, final TableName tableName,<a name="line.84"></a>
-<span class="sourceLineNo">085</span>      final String namespace, final Quotas quotas) {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    List&lt;QuotaSettings&gt; settings = new ArrayList&lt;&gt;();<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    if (quotas.hasThrottle()) {<a name="line.87"></a>
-<span class="sourceLineNo">088</span>      settings.addAll(fromThrottle(userName, tableName, namespace, quotas.getThrottle()));<a name="line.88"></a>
-<span class="sourceLineNo">089</span>    }<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    if (quotas.getBypassGlobals() == true) {<a name="line.90"></a>
-<span class="sourceLineNo">091</span>      settings.add(new QuotaGlobalsSettingsBypass(userName, tableName, namespace, true));<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    }<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    if (quotas.hasSpace()) {<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      settings.add(fromSpace(tableName, namespace, quotas.getSpace()));<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    }<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    return settings;<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>  private static List&lt;QuotaSettings&gt; fromThrottle(final String userName, final TableName tableName,<a name="line.99"></a>
-<span class="sourceLineNo">100</span>      final String namespace, final QuotaProtos.Throttle throttle) {<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    List&lt;QuotaSettings&gt; settings = new ArrayList&lt;&gt;();<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    if (throttle.hasReqNum()) {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.103"></a>
-<span class="sourceLineNo">104</span>          ThrottleType.REQUEST_NUMBER, throttle.getReqNum()));<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    }<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    if (throttle.hasReqSize()) {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.107"></a>
-<span class="sourceLineNo">108</span>          ThrottleType.REQUEST_SIZE, throttle.getReqSize()));<a name="line.108"></a>
+<span class="sourceLineNo">071</span>        if (getBypass() != other.getBypass()) {<a name="line.71"></a>
+<span class="sourceLineNo">072</span>          return other;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>        }<a name="line.73"></a>
+<span class="sourceLineNo">074</span>      }<a name="line.74"></a>
+<span class="sourceLineNo">075</span>      return this;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    }<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  }<a name="line.77"></a>
+<span class="sourceLineNo">078</span><a name="line.78"></a>
+<span class="sourceLineNo">079</span>  /* ==========================================================================<a name="line.79"></a>
+<span class="sourceLineNo">080</span>   *  QuotaSettings from the Quotas object<a name="line.80"></a>
+<span class="sourceLineNo">081</span>   */<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  static List&lt;QuotaSettings&gt; fromUserQuotas(final String userName, final Quotas quotas) {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    return fromQuotas(userName, null, null, quotas);<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  }<a name="line.84"></a>
+<span class="sourceLineNo">085</span><a name="line.85"></a>
+<span class="sourceLineNo">086</span>  static List&lt;QuotaSettings&gt; fromUserQuotas(final String userName, final TableName tableName,<a name="line.86"></a>
+<span class="sourceLineNo">087</span>      final Quotas quotas) {<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    return fromQuotas(userName, tableName, null, quotas);<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>  static List&lt;QuotaSettings&gt; fromUserQuotas(final String userName, final String namespace,<a name="line.91"></a>
+<span class="sourceLineNo">092</span>      final Quotas quotas) {<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    return fromQuotas(userName, null, namespace, quotas);<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>  static List&lt;QuotaSettings&gt; fromTableQuotas(final TableName tableName, final Quotas quotas) {<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    return fromQuotas(null, tableName, null, quotas);<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>  static List&lt;QuotaSettings&gt; fromNamespaceQuotas(final String namespace, final Quotas quotas) {<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    return fromQuotas(null, null, namespace, quotas);<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  }<a name="line.102"></a>
+<span class="sourceLineNo">103</span><a name="line.103"></a>
+<span class="sourceLineNo">104</span>  private static List&lt;QuotaSettings&gt; fromQuotas(final String userName, final TableName tableName,<a name="line.104"></a>
+<span class="sourceLineNo">105</span>      final String namespace, final Quotas quotas) {<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    List&lt;QuotaSettings&gt; settings = new ArrayList&lt;&gt;();<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    if (quotas.hasThrottle()) {<a name="line.107"></a>
+<span class="sourceLineNo">108</span>      settings.addAll(fromThrottle(userName, tableName, namespace, quotas.getThrottle()));<a name="line.108"></a>
 <span class="sourceLineNo">109</span>    }<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    if (throttle.hasWriteNum()) {<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.111"></a>
-<span class="sourceLineNo">112</span>          ThrottleType.WRITE_NUMBER, throttle.getWriteNum()));<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    }<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    if (throttle.hasWriteSize()) {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.115"></a>
-<span class="sourceLineNo">116</span>          ThrottleType.WRITE_SIZE, throttle.getWriteSize()));<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    }<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    if (throttle.hasReadNum()) {<a name="line.118"></a>
-<span class="sourceLineNo">119</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.119"></a>
-<span class="sourceLineNo">120</span>          ThrottleType.READ_NUMBER, throttle.getReadNum()));<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    if (throttle.hasReadSize()) {<a name="line.122"></a>
+<span class="sourceLineNo">110</span>    if (quotas.getBypassGlobals() == true) {<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      settings.add(new QuotaGlobalsSettingsBypass(userName, tableName, namespace, true));<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    }<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    if (quotas.hasSpace()) {<a name="line.113"></a>
+<span class="sourceLineNo">114</span>      settings.add(fromSpace(tableName, namespace, quotas.getSpace()));<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    }<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    return settings;<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>  private static List&lt;QuotaSettings&gt; fromThrottle(final String userName, final TableName tableName,<a name="line.119"></a>
+<span class="sourceLineNo">120</span>      final String namespace, final QuotaProtos.Throttle throttle) {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    List&lt;QuotaSettings&gt; settings = new ArrayList&lt;&gt;();<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    if (throttle.hasReqNum()) {<a name="line.122"></a>
 <span class="sourceLineNo">123</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.123"></a>
-<span class="sourceLineNo">124</span>          ThrottleType.READ_SIZE, throttle.getReadSize()));<a name="line.124"></a>
+<span class="sourceLineNo">124</span>          ThrottleType.REQUEST_NUMBER, throttle.getReqNum()));<a name="line.124"></a>
 <span class="sourceLineNo">125</span>    }<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    return settings;<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>  static QuotaSettings fromSpace(TableName table, String namespace, SpaceQuota protoQuota) {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    if ((table == null &amp;&amp; namespace == null) || (table != null &amp;&amp; namespace != null)) {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>      throw new IllegalArgumentException(<a name="line.131"></a>
-<span class="sourceLineNo">132</span>          "Can only construct SpaceLimitSettings for a table or namespace.");<a name="line.132"></a>
+<span class="sourceLineNo">126</span>    if (throttle.hasReqSize()) {<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.127"></a>
+<span class="sourceLineNo">128</span>          ThrottleType.REQUEST_SIZE, throttle.getReqSize()));<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    }<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    if (throttle.hasWriteNum()) {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.131"></a>
+<span class="sourceLineNo">132</span>          ThrottleType.WRITE_NUMBER, throttle.getWriteNum()));<a name="line.132"></a>
 <span class="sourceLineNo">133</span>    }<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    if (table != null) {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      return SpaceLimitSettings.fromSpaceQuota(table, protoQuota);<a name="line.135"></a>
-<span class="sourceLineNo">136</span>    } else {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      // namespace must be non-null<a name="line.137"></a>
-<span class="sourceLineNo">138</span>      return SpaceLimitSettings.fromSpaceQuota(namespace, protoQuota);<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    }<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  }<a name="line.140"></a>
-<span class="sourceLineNo">141</span><a name="line.141"></a>
-<span class="sourceLineNo">142</span>  /* ==========================================================================<a name="line.142"></a>
-<span class="sourceLineNo">143</span>   *  RPC Throttle<a name="line.143"></a>
-<span class="sourceLineNo">144</span>   */<a name="line.144"></a>
-<span class="sourceLineNo">145</span><a name="line.145"></a>
-<span class="sourceLineNo">146</span>  /**<a name="line.146"></a>
-<span class="sourceLineNo">147</span>   * Throttle the specified user.<a name="line.147"></a>
-<span class="sourceLineNo">148</span>   *<a name="line.148"></a>
-<span class="sourceLineNo">149</span>   * @param userName the user to throttle<a name="line.149"></a>
-<span class="sourceLineNo">150</span>   * @param type the type of throttling<a name="line.150"></a>
-<span class="sourceLineNo">151</span>   * @param limit the allowed number of request/data per timeUnit<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   * @param timeUnit the limit time unit<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * @return the quota settings<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   */<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  public static QuotaSettings throttleUser(final String userName, final ThrottleType type,<a name="line.155"></a>
-<span class="sourceLineNo">156</span>      final long limit, final TimeUnit timeUnit) {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    return throttle(userName, null, null, type, limit, timeUnit);<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>   * Throttle the specified user on the specified table.<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   *<a name="line.162"></a>
-<span class="sourceLineNo">163</span>   * @param userName the user to throttle<a name="line.163"></a>
-<span class="sourceLineNo">164</span>   * @param tableName the table to throttle<a name="line.164"></a>
-<span class="sourceLineNo">165</span>   * @param type the type of throttling<a name="line.165"></a>
-<span class="sourceLineNo">166</span>   * @param limit the allowed number of request/data per timeUnit<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   * @param timeUnit the limit time unit<a name="line.167"></a>
-<span class="sourceLineNo">168</span>   * @return the quota settings<a name="line.168"></a>
-<span class="sourceLineNo">169</span>   */<a name="line.169"></a>
-<span class="sourceLineNo">170</span>  public static QuotaSettings throttleUser(final String userName, final TableName tableName,<a name="line.170"></a>
-<span class="sourceLineNo">171</span>      final ThrottleType type, final long limit, final TimeUnit timeUnit) {<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    return throttle(userName, tableName, null, type, limit, timeUnit);<a name="line.172"></a>
-<span class="sourceLineNo">173</span>  }<a name="line.173"></a>
+<span class="sourceLineNo">134</span>    if (throttle.hasWriteSize()) {<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.135"></a>
+<span class="sourceLineNo">136</span>          ThrottleType.WRITE_SIZE, throttle.getWriteSize()));<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    }<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    if (throttle.hasReadNum()) {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.139"></a>
+<span class="sourceLineNo">140</span>          ThrottleType.READ_NUMBER, throttle.getReadNum()));<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    }<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    if (throttle.hasReadSize()) {<a name="line.142"></a>
+<span class="sourceLineNo">143</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.143"></a>
+<span class="sourceLineNo">144</span>          ThrottleType.READ_SIZE, throttle.getReadSize()));<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    }<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    return settings;<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>  static QuotaSettings fromSpace(TableName table, String namespace, SpaceQuota protoQuota) {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    if (protoQuota == null) {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      return null;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    }<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    if ((table == null &amp;&amp; namespace == null) || (table != null &amp;&amp; namespace != null)) {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>      throw new IllegalArgumentException(<a name="line.154"></a>
+<span class="sourceLineNo">155</span>          "Can only construct SpaceLimitSettings for a table or namespace.");<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    }<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    if (table != null) {<a name="line.157"></a>
+<span class="sourceLineNo">158</span>      if (protoQuota.getRemove()) {<a name="line.158"></a>
+<span class="sourceLineNo">159</span>        return new SpaceLimitSettings(table);<a name="line.159"></a>
+<span class="sourceLineNo">160</span>      }<a name="line.160"></a>
+<span class="sourceLineNo">161</span>      return SpaceLimitSettings.fromSpaceQuota(table, protoQuota);<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    } else {<a name="line.162"></a>
+<span class="sourceLineNo">163</span>      if (protoQuota.getRemove()) {<a name="line.163"></a>
+<span class="sourceLineNo">164</span>        return new SpaceLimitSettings(namespace);<a name="line.164"></a>
+<span class="sourceLineNo">165</span>      }<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      // namespace must be non-null<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      return SpaceLimitSettings.fromSpaceQuota(namespace, protoQuota);<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    }<a name="line.168"></a>
+<span class="sourceLineNo">169</span>  }<a name="line.169"></a>
+<span class="sourceLineNo">170</span><a name="line.170"></a>
+<span class="sourceLineNo">171</span>  /* ==========================================================================<a name="line.171"></a>
+<span class="sourceLineNo">172</span>   *  RPC Throttle<a name="line.172"></a>
+<span class="sourceLineNo">173</span>   */<a name="line.173"></a>
 <span class="sourceLineNo">174</span><a name="line.174"></a>
 <span class="sourceLineNo">175</span>  /**<a name="line.175"></a>
-<span class="sourceLineNo">176</span>   * Throttle the specified user on the specified namespace.<a name="line.176"></a>
+<span class="sourceLineNo">176</span>   * Throttle the specified user.<a name="line.176"></a>
 <span class="sourceLineNo">177</span>   *<a name="line.177"></a>
 <span class="sourceLineNo">178</span>   * @param userName the user to throttle<a name="line.178"></a>
-<span class="sourceLineNo">179</span>   * @param namespace the namespace to throttle<a name="line.179"></a>
-<span class="sourceLineNo">180</span>   * @param type the type of throttling<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   * @param limit the allowed number of request/data per timeUnit<a name="line.181"></a>
-<span class="sourceLineNo">182</span>   * @param timeUnit the limit time unit<a name="line.182"></a>
-<span class="sourceLineNo">183</span>   * @return the quota settings<a name="line.183"></a>
-<span class="sourceLineNo">184</span>   */<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  public static QuotaSettings throttleUser(final String userName, final String namespace,<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      final ThrottleType type, final long limit, final TimeUnit timeUnit) {<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    return throttle(userName, null, namespace, type, limit, timeUnit);<a name="line.187"></a>
-<span class="sourceLineNo">188</span>  }<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>  /**<a name="line.190"></a>
-<span class="sourceLineNo">191</span>   * Remove the throttling for the specified user.<a name="line.191"></a>
-<span class="sourceLineNo">192</span>   *<a name="line.192"></a>
-<span class="sourceLineNo">193</span>   * @param userName the user<a name="line.193"></a>
-<span class="sourceLineNo">194</span>   * @return the quota settings<a name="line.194"></a>
-<span class="sourceLineNo">195</span>   */<a name="line.195"></a>
-<span class="sourceLineNo">196</span>  public static QuotaSettings unthrottleUser(final String userName) {<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    return throttle(userName, null, null, null, 0, null);<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  }<a name="line.198"></a>
-<span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>  /**<a name="line.200"></a>
-<span class="sourceLineNo">201</span>   * Remove the throttling for the specified user on the specified table.<a name="line.201"></a>
-<span class="sourceLineNo">202</span>   *<a name="line.202"></a>
-<span class="sourceLineNo">203</span>   * @param userName the user<a name="line.203"></a>
-<span class="sourceLineNo">204</span>   * @param tableName the table<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   * @return the quota settings<a name="line.205"></a>
-<span class="sourceLineNo">206</span>   */<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  public static QuotaSettings unthrottleUser(final String userName, final TableName tableName) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    return throttle(userName, tableName, null, null, 0, null);<a name="line.208"></a>
-<span class="sourceLineNo">209</span>  }<a name="line.209"></a>
-<span class="sourceLineNo">210</span><a name="line.210"></a>
-<span class="sourceLineNo">211</span>  /**<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   * Remove the throttling for the specified user on the specified namespace.<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   *<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   * @param userName the user<a name="line.214"></a>
-<span class="sourceLineNo">215</span>   * @param namespace the namespace<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   * @return the quota settings<a name="line.216"></a>
-<span class="sourceLineNo">217</span>   */<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  public static QuotaSettings unthrottleUser(final String userName, final String namespace) {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    return throttle(userName, null, namespace, null, 0, null);<a name="line.219"></a>
-<span class="sourceLineNo">220</span>  }<a name="line.220"></a>
-<span class="sourceLineNo">221</span><a name="line.221"></a>
-<span class="sourceLineNo">222</span>  /**<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   * Throttle the specified table.<a name="line.223"></a>
-<span class="sourceLineNo">224</span>   *<a name="line.224"></a>
-<span class="sourceLineNo">225</span>   * @param tableName the table to throttle<a name="line.225"></a>
-<span class="sourceLineNo">226</span>   * @param type the type of throttling<a name="line.226"></a>
-<span class="sourceLineNo">227</span>   * @param limit the allowed number of request/data per timeUnit<a name="line.227"></a>
-<span class="sourceLineNo">228</span>   * @param timeUnit the limit time unit<a name="line.228"></a>
-<span class="sourceLineNo">229</span>   * @return the quota settings<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   */<a name="line.230"></a>
-<span class="sourceLineNo">231</span>  public static QuotaSettings throttleTable(final TableName tableName, final ThrottleType type,<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      final long limit, final TimeUnit timeUnit) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    return throttle(null, tableName, null, type, limit, timeUnit);<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>   * Remove the throttling for the specified table.<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   *<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   * @param tableName the table<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * @return the quota settings<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   */<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  public static QuotaSettings unthrottleTable(final TableName tableName) {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    return throttle(null, tableName, null, null, 0, null);<a name="line.243"></a>
-<span class="sourceLineNo">244</span>  }<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span>  /**<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   * Throttle the specified namespace.<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   *<a name="line.248"></a>
-<span class="sourceLineNo">249</span>   * @param namespace the namespace to throttle<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   * @param type the type of throttling<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   * @param limit the allowed number of request/data per timeUnit<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * @param timeUnit the limit time unit<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   * @return the quota settings<a name="line.253"></a>
-<span class="sourceLineNo">254</span>   */<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  public static QuotaSettings throttleNamespace(final String namespace, final ThrottleType type,<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      final long limit, final TimeUnit timeUnit) {<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    return throttle(null, null, namespace, type, limit, timeUnit);<a name="line.257"></a>
-<span class="sourceLineNo">258</span>  }<a name="line.258"></a>
-<span class="sourceLineNo">259</span><a name="line.259"></a>
-<span class="sourceLineNo">260</span>  /**<a name="line.260"></a>
-<span class="sourceLineNo">261</span>   * Remove the throttling for the specified namespace.<a name="line.261"></a>
-<span class="sourceLineNo">262</span>   *<a name="line.262"></a>
-<span class="sourceLineNo">263</span>   * @param namespace the namespace<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   * @return the quota settings<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   */<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  public static QuotaSettings unthrottleNamespace(final String namespace) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    return throttle(null, null, namespace, null, 0, null);<a name="line.267"></a>
-<span class="sourceLineNo">268</span>  }<a name="line.268"></a>
-<span class="sourceLineNo">269</span><a name="line.269"></a>
-<span class="sourceLineNo">270</span>  /* Throttle helper */<a name="line.270"></a>
-<span class="sourceLineNo">271</span>  private static QuotaSettings throttle(final String userName, final TableName tableName,<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      final String namespace, final ThrottleType type, final long limit,<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      final TimeUnit timeUnit) {<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    QuotaProtos.ThrottleRequest.Builder builder = QuotaProtos.ThrottleRequest.newBuilder();<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    if (type != null) {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      builder.setType(ProtobufUtil.toProtoThrottleType(type));<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    }<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    if (timeUnit != null) {<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      builder.setTimedQuota(ProtobufUtil.toTimedQuota(limit, timeUnit, QuotaScope.MACHINE));<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    }<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    return new ThrottleSettings(userName, tableName, namespace, builder.build());<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>   *  Global Settings<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>   * Set the "bypass global settings" for the specified user<a name="line.289"></a>
-<span class="sourceLineNo">290</span>   *<a name="line.290"></a>
-<span class="sourceLineNo">291</span>   * @param userName the user to throttle<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   * @param bypassGlobals true if the global settings should be bypassed<a name="line.292"></a>
+<span class="sourceLineNo">179</span>   * @param type the type of throttling<a name="line.179"></a>
+<span class="sourceLineNo">180</span>   * @param limit the allowed number of request/data per timeUnit<a name="line.180"></a>
+<span class="sourceLineNo">181</span>   * @param timeUnit the limit time unit<a name="line.181"></a>
+<span class="sourceLineNo">182</span>   * @return the quota settings<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   */<a name="line.183"></a>
+<span class="sourceLineNo">184</span>  public static QuotaSettings throttleUser(final String userName, final ThrottleType type,<a name="line.184"></a>
+<span class="sourceLineNo">185</span>      final long limit, final TimeUnit timeUnit) {<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    return throttle(userName, null, null, type, limit, timeUnit);<a name="line.186"></a>
+<span class="sourceLineNo">187</span>  }<a name="line.187"></a>
+<span class="sourceLineNo">188</span><a name="line.188"></a>
+<span class="sourceLineNo">189</span>  /**<a name="line.189"></a>
+<span class="sourceLineNo">190</span>   * Throttle the specified user on the specified table.<a name="line.190"></a>
+<span class="sourceLineNo">191</span>   *<a name="line.191"></a>
+<span class="sourceLineNo">192</span>   * @param userName the user to throttle<a name="line.192"></a>
+<span class="sourceLineNo">193</span>   * @param tableName the table to throttle<a name="line.193"></a>
+<span class="sourceLineNo">194</span>   * @param type the type of throttling<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   * @param limit the allowed number of request/data per timeUnit<a name="line.195"></a>
+<span class="sourceLineNo">196</span>   * @param timeUnit the limit time unit<a name="line.196"></a>
+<span class="sourceLineNo">197</span>   * @return the quota settings<a name="line.197"></a>
+<span class="sourceLineNo">198</span>   */<a name="line.198"></a>
+<span class="sourceLineNo">199</span>  public static QuotaSettings throttleUser(final String userName, final TableName tableName,<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      final ThrottleType type, final long limit, final TimeUnit timeUnit) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    return throttle(userName, tableName, null, type, limit, timeUnit);<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>   * Throttle the specified user on the specified namespace.<a name="line.205"></a>
+<span class="sourceLineNo">206</span>   *<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   * @param userName the user to throttle<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   * @param namespace the namespace to throttle<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   * @param type the type of throttling<a name="line.209"></a>
+<span class="sourceLineNo">210</span>   * @param limit the allowed number of request/data per timeUnit<a name="line.210"></a>
+<span class="sourceLineNo">211</span>   * @param timeUnit the limit time unit<a name="line.211"></a>
+<span class="sourceLineNo">212</span>   * @return the quota settings<a name="line.212"></a>
+<span class="sourceLineNo">213</span>   */<a name="line.213"></a>
+<span class="sourceLineNo">214</span>  public static QuotaSettings throttleUser(final String userName, final String namespace,<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      final ThrottleType type, final long limit, final TimeUnit timeUnit) {<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    return throttle(userName, null, namespace, type, limit, timeUnit);<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>   * Remove the throttling for the specified user.<a name="line.220"></a>
+<span class="sourceLineNo">221</span>   *<a name="line.221"></a>
+<span class="sourceLineNo">222</span>   * @param userName the user<a name="line.222"></a>
+<span class="sourceLineNo">223</span>   * @return the quota settings<a name="line.223"></a>
+<span class="sourceLineNo">224</span>   */<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  public static QuotaSettings unthrottleUser(final String userName) {<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    return throttle(userName, null, null, null, 0, null);<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>   * Remove the throttling for the specified user on the specified table.<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   *<a name="line.231"></a>
+<span class="sourceLineNo">232</span>   * @param userName the user<a name="line.232"></a>
+<span class="sourceLineNo">233</span>   * @param tableName the table<a name="line.233"></a>
+<span class="sourceLineNo">234</span>   * @return the quota settings<a name="line.234"></a>
+<span class="sourceLineNo">235</span>   */<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  public static QuotaSettings unthrottleUser(final String userName, final TableName tableName) {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    return throttle(userName, tableName, null, null, 0, null);<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>   * Remove the throttling for the specified user on the specified namespace.<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   *<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * @param userName the user<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   * @param namespace the namespace<a name="line.244"></a>
+<span class="sourceLineNo">245</span>   * @return the quota settings<a name="line.245"></a>
+<span class="sourceLineNo">246</span>   */<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  public static QuotaSettings unthrottleUser(final String userName, final String namespace) {<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    return throttle(userName, null, namespace, null, 0, null);<a name="line.248"></a>
+<span class="sourceLineNo">249</span>  }<a name="line.249"></a>
+<span class="sourceLineNo">250</span><a name="line.250"></a>
+<span class="sourceLineNo">251</span>  /**<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   * Throttle the specified table.<a name="line.252"></a>
+<span class="sourceLineNo">253</span>   *<a name="line.253"></a>
+<span class="sourceLineNo">254</span>   * @param tableName the table to throttle<a name="line.254"></a>
+<span class="sourceLineNo">255</span>   * @param type the type of throttling<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   * @param limit the allowed number of request/data per timeUnit<a name="line.256"></a>
+<span class="sourceLineNo">257</span>   * @param timeUnit the limit time unit<a name="line.257"></a>
+<span class="sourceLineNo">258</span>   * @return the quota settings<a name="line.258"></a>
+<span class="sourceLineNo">259</span>   */<a name="line.259"></a>
+<span class="sourceLineNo">260</span>  public static QuotaSettings throttleTable(final TableName tableName, final ThrottleType type,<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      final long limit, final TimeUnit timeUnit) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span>    return throttle(null, tableName, null, type, limit, timeUnit);<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  }<a name="line.263"></a>
+<span class="sourceLineNo">264</span><a name="line.264"></a>
+<span class="sourceLineNo">265</span>  /**<a name="line.265"></a>
+<span class="sourceLineNo">266</span>   * Remove the throttling for the specified table.<a name="line.266"></a>
+<span class="sourceLineNo">267</span>   *<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   * @param tableName the table<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   * @return the quota settings<a name="line.269"></a>
+<span class="sourceLineNo">270</span>   */<a name="line.270"></a>
+<span class="sourceLineNo">271</span>  public static QuotaSettings unthrottleTable(final TableName tableName) {<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    return throttle(null, tableName, null, null, 0, null);<a name="line.272"></a>
+<span class="sourceLineNo">273</span>  }<a name="line.273"></a>
+<span class="sourceLineNo">274</span><a name="line.274"></a>
+<span class="sourceLineNo">275</span>  /**<a name="line.275"></a>
+<span class="sourceLineNo">276</span>   * Throttle the specified namespace.<a name="line.276"></a>
+<span class="sourceLineNo">277</span>   *<a name="line.277"></a>
+<span class="sourceLineNo">278</span>   * @param namespace the namespace to throttle<a name="line.278"></a>
+<span class="sourceLineNo">279</span>   * @param type the type of throttling<a name="line.279"></a>
+<span class="sourceLineNo">280</span>   * @param limit the allowed number of request/data per timeUnit<a name="line.280"></a>
+<span class="sourceLineNo">281</span>   * @param timeUnit the limit time unit<a name="line.281"></a>
+<span class="sourceLineNo">282</span>   * @return the quota settings<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   */<a name="line.283"></a>
+<span class="sourceLineNo">284</span>  public static QuotaSettings throttleNamespace(final String namespace, final ThrottleType type,<a name="line.284"></a>
+<span class="sourceLineNo">285</span>      final long limit, final TimeUnit timeUnit) {<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    return throttle(null, null, namespace, type, limit, timeUnit);<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 the throttling for the specified namespace.<a name="line.290"></a>
+<span class="sourceLineNo">291</span>   *<a name="line.291"></a>
+<span class="sourceLineNo">292</span>   * @param namespace the namespace<a name="line.292"></a>
 <span class="sourceLineNo">293</span>   * @return the quota settings<a name="line.293"></a>
 <span class="sourceLineNo">294</span>   */<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  public static QuotaSettings bypassGlobals(final String userName, final boolean bypassGlobals) {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    return new QuotaGlobalsSettingsBypass(userName, null, null, bypassGlobals);<a name="line.296"></a>
+<span class="sourceLineNo">295</span>  public static QuotaSettings unthrottleNamespace(final String namespace) {<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    return throttle(null, null, namespace, null, 0, null);<a name="line.296"></a>
 <span class="sourceLineNo">297</span>  }<a name="line.297"></a>
 <span class="sourceLineNo">298</span><a name="line.298"></a>
-<span class="sourceLineNo">299</span>  /* ==========================================================================<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   *  FileSystem Space Settings<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   */<a name="line.301"></a>
-<span class="sourceLineNo">302</span><a name="line.302"></a>
-<span class="sourceLineNo">303</span>  /**<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   * Creates a {@link QuotaSettings} object to limit the FileSystem space usage for the given table<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   * to the given size in bytes. When the space usage is exceeded by the table, the provided<a name="line.305"></a>
-<span class="sourceLineNo">306</span>   * {@link SpaceViolationPolicy} is enacted on the table.<a name="line.306"></a>
-<span class="sourceLineNo">307</span>   *<a name="line.307"></a>
-<span class="sourceLineNo">308</span>   * @param tableName The name of the table on which the quota should be applied.<a name="line.308"></a>
-<span class="sourceLineNo">309</span>   * @param sizeLimit The limit of a table's size in bytes.<a name="line.309"></a>
-<span class="sourceLineNo">310</span>   * @param violationPolicy The action to take when the quota is exceeded.<a name="line.310"></a>
-<span class="sourceLineNo">311</span>   * @return An {@link QuotaSettings} object.<a name="line.311"></a>
-<span class="sourceLineNo">312</span>   */<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  public static QuotaSettings limitTableSpace(<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      final TableName tableName, long sizeLimit, final SpaceViolationPolicy violationPolicy) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    return new SpaceLimitSettings(tableName, sizeLimit, violationPolicy);<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>   * Creates a {@link QuotaSettings} object to remove the FileSystem space quota for the given<a name="line.319"></a>
-<span class="sourceLineNo">320</span>   * table.<a name="line.320"></a>
-<span class="sourceLineNo">321</span>   *<a name="line.321"></a>
-<span class="sourceLineNo">322</span>   * @param tableName The name of the table to remove the quota for.<a name="line.322"></a>
-<span class="sourceLineNo">323</span>   * @return A {@link QuotaSettings} object.<a name="line.323"></a>
-<span class="sourceLineNo">324</span>   */<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  public static QuotaSettings removeTableSpaceLimit(TableName tableName) {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    return new SpaceLimitSettings(tableName);<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  }<a name="line.327"></a>
-<span class="sourceLineNo">328</span><a name="line.328"></a>
-<span class="sourceLineNo">329</span>  /**<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * Creates a {@link QuotaSettings} object to limit the FileSystem space usage for the given<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   * namespace to the given size in bytes. When the space usage is exceeded by all tables in the<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   * namespace, the provided {@link SpaceViolationPolicy} is enacted on all tables in the namespace.<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   *<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * @param namespace The namespace on which the quota should be applied.<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * @param sizeLimit The limit of the namespace's size in bytes.<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * @param violationPolicy The action to take when the the quota is exceeded.<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   * @return An {@link QuotaSettings} object.<a name="line.337"></a>
-<span class="sourceLineNo">338</span>   */<a name="line.338"></a>
-<span class="sourceLineNo">339</span>  public static QuotaSettings limitNamespaceSpace(<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      final String namespace, long sizeLimit, final SpaceViolationPolicy violationPolicy) {<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    return new SpaceLimitSettings(namespace, sizeLimit, violationPolicy);<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>   * Creates a {@link QuotaSettings} object to remove the FileSystem space quota for the given<a name="line.345"></a>
-<span class="sourceLineNo">346</span>   * namespace.<a name="line.346"></a>
-<span class="sourceLineNo">347</span>   *<a name="line.347"></a>
-<span class="sourceLineNo">348</span>   * @param namespace The namespace to remove the quota on.<a name="line.348"></a>
-<span class="sourceLineNo">349</span>   * @return A {@link QuotaSettings} object.<a name="line.349"></a>
-<span class="sourceLineNo">350</span>   */<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  public static QuotaSettings removeNamespaceSpaceLimit(String namespace) {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    return new SpaceLimitSettings(namespace);<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">299</span>  /* Throttle helper */<a name="line.299"></a>
+<span class="sourceLineNo">300</span>  private static QuotaSettings throttle(final String userName, final TableName tableName,<a name="line.300"></a>
+<span class="sourceLineNo">301</span>      final String namespace, final ThrottleType type, final long limit,<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      final TimeUnit timeUnit) {<a name="line.302"></a>
+<span class="sourceLineNo">303</span>    QuotaProtos.ThrottleRequest.Builder builder = QuotaProtos.ThrottleRequest.newBuilder();<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    if (type != null) {<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      builder.setType(ProtobufUtil.toProtoThrottleType(type));<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    }<a name="line.306"></a>
+<span class="sourceLineNo">307</span>    if (timeUnit != null) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span>      builder.setTimedQuota(ProtobufUtil.toTimedQuota(limit, timeUnit, QuotaScope.MACHINE));<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    }<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    return new ThrottleSettings(userName, tableName, namespace, builder.build());<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  }<a name="line.311"></a>
+<span class="sourceLineNo">312</span><a name="line.312"></a>
+<span class="sourceLineNo">313</span>  /* ==========================================================================<a name="line.313"></a>
+<span class="sourceLineNo">314</span>   *  Global Settings<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>   * Set the "bypass global settings" for the specified user<a name="line.318"></a>
+<span class="sourceLineNo">319</span>   *<a name="line.319"></a>
+<span class="sourceLineNo">320</span>   * @param userName the user to throttle<a name="line.320"></a>
+<span class="sourceLineNo">321</span>   * @param bypassGlobals true if the global settings should be bypassed<a name="line.321"></a>
+<span class="sourceLineNo">322</span>   * @return the quota settings<a name="line.322"></a>
+<span class="sourceLineNo">323</span>   */<a name="line.323"></a>
+<span class="sourceLineNo">324</span>  public static QuotaSettings bypassGlobals(final String userName, final boolean bypassGlobals) {<a name="line.324"></a>
+<span class="sourceLineNo">325</span>    return new QuotaGlobalsSettingsBypass(userName, null, null, bypassGlobals);<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>   *  FileSystem Space Settings<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>   * Creates a {@link QuotaSettings} object to limit the FileSystem space usage for the given table<a name="line.333"></a>
+<span class="sourceLineNo">334</span>   * to the given size in bytes. When the space usage is exceeded by the table, the provided<a name="line.334"></a>
+<span class="sourceLineNo">335</span>   * {@link SpaceViolationPolicy} is enacted on the table.<a name="line.335"></a>
+<span class="sourceLineNo">336</span>   *<a name="line.336"></a>
+<span class="sourceLineNo">337</span>   * @param tableName The name of the table on which the quota should be applied.<a name="line.337"></a>
+<span class="sourceLineNo">338</span>   * @param sizeLimit The limit of a table's size in bytes.<a name="line.338"></a>
+<span class="sourceLineNo">339</span>   * @param violationPolicy The action to take when the quota is exceeded.<a name="line.339"></a>
+<span class="sourceLineNo">340</span>   * @return An {@link QuotaSettings} object.<a name="line.340"></a>
+<span class="sourceLineNo">341</span>   */<a name="line.341"></a>
+<span class="sourceLineNo">342</span>  public static QuotaSettings limitTableSpace(<a name="line.342"></a>
+<span class="sourceLineNo">343</span>      final TableName tableName, long sizeLimit, final SpaceViolationPolicy violationPolicy) {<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    return new SpaceLimitSettings(tableName, sizeLimit, violationPolicy);<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>   * Creates a {@link QuotaSettings} object to remove the FileSystem space quota for the given<a name="line.348"></a>
+<span class="sourceLineNo">349</span>   * table.<a name="line.349"></a>
+<span class="sourceLineNo">350</span>   *<a name="line.350"></a>
+<span class="sourceLineNo">351</span>   * @param tableName The name of the table to remove the quota for.<a name="line.351"></a>
+<span class="sourceLineNo">352</span>   * @return A {@link QuotaSettings} object.<a name="line.352"></a>
+<span class="sourceLineNo">353</span>   */<a name="line.353"></a>
+<span class="sourceLineNo">354</span>  public static QuotaSettings removeTableSpaceLimit(TableName tableName) {<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    return new SpaceLimitSettings(tableName);<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>   * Creates a {@link QuotaSettings} object to limit the FileSystem space usage for the given<a name="line.359"></a>
+<span class="sourceLineNo">360</span>   * namespace to the given size in bytes. When the space usage is exceeded by all tables in the<a name="line.360"></a>
+<span class="sourceLineNo">361</span>   * namespace, the provided {@link SpaceViolationPolicy} is enacted on all tables in the namespace.<a name="line.361"></a>
+<span class="sourceLineNo">362</span>   *<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   * @param namespace The namespace on which the quota should be applied.<a name="line.363"></a>
+<span class="sourceLineNo">364</span>   * @param sizeLimit The limit of the namespace's size in bytes.<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   * @param violationPolicy The action to take when the the quota is exceeded.<a name="line.365"></a>
+<span class="sourceLineNo">366</span>   * @return An {@link QuotaSettings} object.<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   */<a name="line.367"></a>
+<span class="sourceLineNo">368</span>  public static QuotaSettings limitNamespaceSpace(<a name="line.368"></a>
+<span class="sourceLineNo">369</span>      final String namespace, long sizeLimit, final SpaceViolationPolicy violationPolicy) {<a name="line.369"></a>
+<span class="sourceLineNo">370</span>    return new SpaceLimitSettings(namespace, sizeLimit, violationPolicy);<a name="line.370"></a>
+<span class="sourceLineNo">371</span>  }<a name="line.371"></a>
+<span class="sourceLineNo">372</span><a name="line.372"></a>
+<span class="sourceLineNo">373</span>  /**<a name="line.373"></a>
+<span class="sourceLineNo">374</span>   * Creates a {@link QuotaSettings} object to remove the FileSystem space quota for the given<a name="line.374"></a>
+<span class="sourceLineNo">375</span>   * namespace.<a name="line.375"></a>
+<span class="sourceLineNo">376</span>   *<a name="line.376"></a>
+<span class="sourceLineNo">377</span>   * @param namespace The namespace to remove the quota on.<a name="line.377"></a>
+<span class="sourceLineNo">378</span>   * @return A {@link QuotaSettings} object.<a name="line.378"></a>
+<span class="sourceLineNo">379</span>   */<a name="line.379"></a>
+<span class="sourceLineNo">380</span>  public static QuotaSettings removeNamespaceSpaceLimit(String namespace) {<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    return new SpaceLimitSettings(namespace);<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>
 
 
 


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

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


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

Branch: refs/heads/asf-site
Commit: e6bd07743385509beb983762e7346c535070c708
Parents: d4d7b02
Author: jenkins <bu...@apache.org>
Authored: Sun Sep 24 15:13:07 2017 +0000
Committer: jenkins <bu...@apache.org>
Committed: Sun Sep 24 15:13:07 2017 +0000

----------------------------------------------------------------------
 acid-semantics.html                             |     4 +-
 apache_hbase_reference_guide.pdf                |     4 +-
 apidocs/index-all.html                          |     4 +
 .../apache/hadoop/hbase/client/CompactType.html |     4 +-
 .../client/security/SecurityCapability.html     |     4 +-
 .../hadoop/hbase/quotas/QuotaSettings.html      |    18 +-
 .../hbase/quotas/QuotaSettingsFactory.html      |    34 +-
 .../apache/hadoop/hbase/quotas/QuotaType.html   |     4 +-
 .../hadoop/hbase/quotas/ThrottleType.html       |     4 +-
 .../hbase/quotas/class-use/QuotaSettings.html   |    36 +-
 .../hadoop/hbase/quotas/QuotaSettings.html      |   291 +-
 .../hbase/quotas/QuotaSettingsFactory.html      |   673 +-
 book.html                                       |     2 +-
 bulk-loads.html                                 |     4 +-
 checkstyle-aggregate.html                       | 18974 +++++++++--------
 checkstyle.rss                                  |    20 +-
 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                |     1 +
 devapidocs/allclasses-noframe.html              |     1 +
 devapidocs/constant-values.html                 |     6 +-
 devapidocs/index-all.html                       |   162 +-
 .../hadoop/hbase/class-use/TableName.html       |    59 +-
 .../hadoop/hbase/client/package-tree.html       |    28 +-
 .../hbase/coprocessor/MasterObserver.html       |   186 +-
 .../class-use/MasterCoprocessorEnvironment.html |    60 +-
 .../coprocessor/class-use/ObserverContext.html  |    60 +-
 .../ExampleMasterObserverWithMetrics.html       |     2 +-
 .../hadoop/hbase/executor/package-tree.html     |     2 +-
 .../hadoop/hbase/filter/package-tree.html       |     8 +-
 .../hadoop/hbase/io/hfile/package-tree.html     |     8 +-
 .../hadoop/hbase/mapreduce/package-tree.html    |     4 +-
 ...terCoprocessorHost.CoprocessorOperation.html |    10 +-
 ...ssorHost.CoprocessorOperationWithResult.html |    10 +-
 .../hbase/master/MasterCoprocessorHost.html     |   172 +-
 .../MasterRpcServices.BalanceSwitchMode.html    |     4 +-
 .../hadoop/hbase/master/package-tree.html       |     2 +-
 .../hadoop/hbase/monitoring/package-tree.html   |     2 +-
 .../org/apache/hadoop/hbase/package-tree.html   |    16 +-
 .../hadoop/hbase/procedure2/package-tree.html   |     2 +-
 .../hbase/quotas/FixedIntervalRateLimiter.html  |     4 +-
 .../hbase/quotas/GlobalQuotaSettings.html       |   557 +
 .../quotas/MasterQuotaManager.NamedLock.html    |    10 +-
 .../MasterQuotaManager.SetQuotaOperations.html  |    52 +-
 ...rQuotaManager.SizeSnapshotWithTimestamp.html |    18 +-
 .../hadoop/hbase/quotas/MasterQuotaManager.html |   231 +-
 .../hbase/quotas/MasterSpaceQuotaObserver.html  |     2 +-
 .../hadoop/hbase/quotas/QuotaSettings.html      |   125 +-
 ...tingsFactory.QuotaGlobalsSettingsBypass.html |    65 +-
 .../hbase/quotas/QuotaSettingsFactory.html      |    52 +-
 .../hadoop/hbase/quotas/SpaceLimitSettings.html |   113 +-
 .../hbase/quotas/SpaceViolationPolicy.html      |     4 +-
 .../hadoop/hbase/quotas/ThrottleSettings.html   |    76 +-
 .../quotas/class-use/GlobalQuotaSettings.html   |   426 +
 .../hbase/quotas/class-use/QuotaSettings.html   |    91 +-
 ...tingsFactory.QuotaGlobalsSettingsBypass.html |    42 +-
 .../hbase/quotas/class-use/QuotaType.html       |     6 +-
 .../quotas/class-use/ThrottleSettings.html      |     4 +
 .../hbase/quotas/class-use/ThrottleType.html    |    13 +
 .../hadoop/hbase/quotas/package-frame.html      |     1 +
 .../hadoop/hbase/quotas/package-summary.html    |    81 +-
 .../hadoop/hbase/quotas/package-tree.html       |     7 +-
 .../apache/hadoop/hbase/quotas/package-use.html |   113 +-
 .../hadoop/hbase/regionserver/package-tree.html |    14 +-
 .../regionserver/querymatcher/package-tree.html |     2 +-
 .../hbase/regionserver/wal/package-tree.html    |     2 +-
 .../replication/regionserver/package-tree.html  |     2 +-
 .../hbase/rsgroup/RSGroupAdminEndpoint.html     |     2 +-
 .../hbase/security/access/AccessController.html |   118 +-
 .../CoprocessorWhitelistMasterObserver.html     |     2 +-
 .../hbase/security/access/package-tree.html     |     2 +-
 .../hadoop/hbase/security/package-tree.html     |     4 +-
 .../visibility/VisibilityController.html        |     2 +-
 .../hadoop/hbase/thrift/package-tree.html       |     2 +-
 .../apache/hadoop/hbase/util/package-tree.html  |    10 +-
 .../apache/hadoop/hbase/wal/package-tree.html   |     2 +-
 devapidocs/overview-tree.html                   |     1 +
 .../org/apache/hadoop/hbase/Version.html        |     6 +-
 .../hbase/coprocessor/MasterObserver.html       |   742 +-
 ...terCoprocessorHost.CoprocessorOperation.html |   940 +-
 ...ssorHost.CoprocessorOperationWithResult.html |   940 +-
 ...MasterCoprocessorHost.MasterEnvironment.html |   940 +-
 .../hbase/master/MasterCoprocessorHost.html     |   940 +-
 .../hbase/quotas/GlobalQuotaSettings.html       |   401 +
 .../quotas/MasterQuotaManager.NamedLock.html    |  1061 +-
 .../MasterQuotaManager.SetQuotaOperations.html  |  1061 +-
 ...rQuotaManager.SizeSnapshotWithTimestamp.html |  1061 +-
 .../hadoop/hbase/quotas/MasterQuotaManager.html |  1061 +-
 .../hadoop/hbase/quotas/QuotaSettings.html      |   291 +-
 ...tingsFactory.QuotaGlobalsSettingsBypass.html |   673 +-
 .../hbase/quotas/QuotaSettingsFactory.html      |   673 +-
 .../QuotaTableUtil.NamespaceQuotasVisitor.html  |    18 +-
 .../quotas/QuotaTableUtil.QuotasVisitor.html    |    18 +-
 .../QuotaTableUtil.TableQuotasVisitor.html      |    18 +-
 .../QuotaTableUtil.UserQuotasVisitor.html       |    18 +-
 .../hadoop/hbase/quotas/QuotaTableUtil.html     |    18 +-
 .../hadoop/hbase/quotas/SpaceLimitSettings.html |   291 +-
 .../hadoop/hbase/quotas/ThrottleSettings.html   |   227 +-
 .../access/AccessController.OpType.html         |   368 +-
 .../hbase/security/access/AccessController.html |   368 +-
 export_control.html                             |     4 +-
 hbase-annotations/dependencies.html             |     4 +-
 hbase-annotations/dependency-convergence.html   |     4 +-
 hbase-annotations/dependency-info.html          |     4 +-
 hbase-annotations/dependency-management.html    |     4 +-
 hbase-annotations/index.html                    |     4 +-
 hbase-annotations/integration.html              |     4 +-
 hbase-annotations/issue-tracking.html           |     4 +-
 hbase-annotations/license.html                  |     4 +-
 hbase-annotations/mail-lists.html               |     4 +-
 hbase-annotations/plugin-management.html        |     4 +-
 hbase-annotations/plugins.html                  |     4 +-
 hbase-annotations/project-info.html             |     4 +-
 hbase-annotations/project-summary.html          |     4 +-
 hbase-annotations/source-repository.html        |     4 +-
 hbase-annotations/team-list.html                |     4 +-
 hbase-build-configuration/dependencies.html     |     4 +-
 .../dependency-convergence.html                 |     4 +-
 hbase-build-configuration/dependency-info.html  |     4 +-
 .../dependency-management.html                  |     4 +-
 .../hbase-archetypes/dependencies.html          |     4 +-
 .../dependency-convergence.html                 |     4 +-
 .../hbase-archetypes/dependency-info.html       |     4 +-
 .../hbase-archetypes/dependency-management.html |     4 +-
 .../hbase-archetype-builder/dependencies.html   |     4 +-
 .../dependency-convergence.html                 |     4 +-
 .../dependency-info.html                        |     4 +-
 .../dependency-management.html                  |     4 +-
 .../hbase-archetype-builder/index.html          |     4 +-
 .../hbase-archetype-builder/integration.html    |     4 +-
 .../hbase-archetype-builder/issue-tracking.html |     4 +-
 .../hbase-archetype-builder/license.html        |     4 +-
 .../hbase-archetype-builder/mail-lists.html     |     4 +-
 .../plugin-management.html                      |     4 +-
 .../hbase-archetype-builder/plugins.html        |     4 +-
 .../hbase-archetype-builder/project-info.html   |     4 +-
 .../project-summary.html                        |     4 +-
 .../source-repository.html                      |     4 +-
 .../hbase-archetype-builder/team-list.html      |     4 +-
 .../hbase-client-project/checkstyle.html        |     4 +-
 .../hbase-client-project/dependencies.html      |     4 +-
 .../dependency-convergence.html                 |     4 +-
 .../hbase-client-project/dependency-info.html   |     4 +-
 .../dependency-management.html                  |     4 +-
 .../hbase-client-project/index.html             |     4 +-
 .../hbase-client-project/integration.html       |     4 +-
 .../hbase-client-project/issue-tracking.html    |     4 +-
 .../hbase-client-project/license.html           |     4 +-
 .../hbase-client-project/mail-lists.html        |     4 +-
 .../hbase-client-project/plugin-management.html |     4 +-
 .../hbase-client-project/plugins.html           |     4 +-
 .../hbase-client-project/project-info.html      |     4 +-
 .../hbase-client-project/project-reports.html   |     4 +-
 .../hbase-client-project/project-summary.html   |     4 +-
 .../hbase-client-project/source-repository.html |     4 +-
 .../hbase-client-project/team-list.html         |     4 +-
 .../hbase-shaded-client-project/checkstyle.html |     4 +-
 .../dependencies.html                           |     4 +-
 .../dependency-convergence.html                 |     4 +-
 .../dependency-info.html                        |     4 +-
 .../dependency-management.html                  |     4 +-
 .../hbase-shaded-client-project/index.html      |     4 +-
 .../integration.html                            |     4 +-
 .../issue-tracking.html                         |     4 +-
 .../hbase-shaded-client-project/license.html    |     4 +-
 .../hbase-shaded-client-project/mail-lists.html |     4 +-
 .../plugin-management.html                      |     4 +-
 .../hbase-shaded-client-project/plugins.html    |     4 +-
 .../project-info.html                           |     4 +-
 .../project-reports.html                        |     4 +-
 .../project-summary.html                        |     4 +-
 .../source-repository.html                      |     4 +-
 .../hbase-shaded-client-project/team-list.html  |     4 +-
 .../hbase-archetypes/index.html                 |     4 +-
 .../hbase-archetypes/integration.html           |     4 +-
 .../hbase-archetypes/issue-tracking.html        |     4 +-
 .../hbase-archetypes/license.html               |     4 +-
 .../hbase-archetypes/mail-lists.html            |     4 +-
 .../hbase-archetypes/plugin-management.html     |     4 +-
 .../hbase-archetypes/plugins.html               |     4 +-
 .../hbase-archetypes/project-info.html          |     4 +-
 .../hbase-archetypes/project-summary.html       |     4 +-
 .../hbase-archetypes/source-repository.html     |     4 +-
 .../hbase-archetypes/team-list.html             |     4 +-
 .../hbase-spark/checkstyle.html                 |     4 +-
 .../hbase-spark/dependencies.html               |     4 +-
 .../hbase-spark/dependency-convergence.html     |     4 +-
 .../hbase-spark/dependency-info.html            |     4 +-
 .../hbase-spark/dependency-management.html      |     4 +-
 .../hbase-spark/index.html                      |     4 +-
 .../hbase-spark/integration.html                |     4 +-
 .../hbase-spark/issue-tracking.html             |     4 +-
 .../hbase-spark/license.html                    |     4 +-
 .../hbase-spark/mail-lists.html                 |     4 +-
 .../hbase-spark/plugin-management.html          |     4 +-
 .../hbase-spark/plugins.html                    |     4 +-
 .../hbase-spark/project-info.html               |     4 +-
 .../hbase-spark/project-reports.html            |     4 +-
 .../hbase-spark/project-summary.html            |     4 +-
 .../hbase-spark/source-repository.html          |     4 +-
 .../hbase-spark/team-list.html                  |     4 +-
 hbase-build-configuration/index.html            |     4 +-
 hbase-build-configuration/integration.html      |     4 +-
 hbase-build-configuration/issue-tracking.html   |     4 +-
 hbase-build-configuration/license.html          |     4 +-
 hbase-build-configuration/mail-lists.html       |     4 +-
 .../plugin-management.html                      |     4 +-
 hbase-build-configuration/plugins.html          |     4 +-
 hbase-build-configuration/project-info.html     |     4 +-
 hbase-build-configuration/project-summary.html  |     4 +-
 .../source-repository.html                      |     4 +-
 hbase-build-configuration/team-list.html        |     4 +-
 hbase-shaded-check-invariants/checkstyle.html   |     4 +-
 hbase-shaded-check-invariants/dependencies.html |     4 +-
 .../dependency-convergence.html                 |     4 +-
 .../dependency-info.html                        |     4 +-
 .../dependency-management.html                  |     4 +-
 hbase-shaded-check-invariants/index.html        |     4 +-
 hbase-shaded-check-invariants/integration.html  |     4 +-
 .../issue-tracking.html                         |     4 +-
 hbase-shaded-check-invariants/license.html      |     4 +-
 hbase-shaded-check-invariants/mail-lists.html   |     4 +-
 .../plugin-management.html                      |     4 +-
 hbase-shaded-check-invariants/plugins.html      |     4 +-
 hbase-shaded-check-invariants/project-info.html |     4 +-
 .../project-reports.html                        |     4 +-
 .../project-summary.html                        |     4 +-
 .../source-repository.html                      |     4 +-
 hbase-shaded-check-invariants/team-list.html    |     4 +-
 index.html                                      |     4 +-
 integration.html                                |     4 +-
 issue-tracking.html                             |     4 +-
 license.html                                    |     4 +-
 mail-lists.html                                 |     4 +-
 metrics.html                                    |     4 +-
 old_news.html                                   |     4 +-
 plugin-management.html                          |     4 +-
 plugins.html                                    |     4 +-
 poweredbyhbase.html                             |     4 +-
 project-info.html                               |     4 +-
 project-reports.html                            |     4 +-
 project-summary.html                            |     4 +-
 pseudo-distributed.html                         |     4 +-
 replication.html                                |     4 +-
 resources.html                                  |     4 +-
 source-repository.html                          |     4 +-
 sponsors.html                                   |     4 +-
 supportingprojects.html                         |     4 +-
 team-list.html                                  |     4 +-
 testdevapidocs/allclasses-frame.html            |     3 +
 testdevapidocs/allclasses-noframe.html          |     3 +
 testdevapidocs/index-all.html                   |    60 +-
 .../hadoop/hbase/backup/package-tree.html       |     2 +-
 .../TestMasterObserver.CPMasterObserver.html    |   150 +-
 .../hbase/coprocessor/TestMasterObserver.html   |    42 +-
 .../hadoop/hbase/io/hfile/package-tree.html     |     2 +-
 .../org/apache/hadoop/hbase/package-tree.html   |    10 +-
 .../hadoop/hbase/procedure/package-tree.html    |     8 +-
 ...Chore.ExpectedRegionSizeSummationAnswer.html |     4 +-
 .../hbase/quotas/TestGlobalQuotaSettings.html   |   375 +
 .../hbase/quotas/TestMasterQuotaManager.html    |     4 +-
 .../hadoop/hbase/quotas/TestQuotaAdmin.html     |    64 +-
 .../hadoop/hbase/quotas/TestQuotaFilter.html    |     4 +-
 .../quotas/TestQuotaGlobalsSettingsBypass.html  |   315 +
 .../hbase/quotas/TestQuotaObserverChore.html    |     4 +-
 .../hadoop/hbase/quotas/TestQuotaThrottle.html  |    12 +-
 .../hbase/quotas/TestSpaceLimitSettings.html    |    42 +-
 .../hbase/quotas/TestTablesWithQuotas.html      |     4 +-
 .../hbase/quotas/TestThrottleSettings.html      |   313 +
 .../class-use/TestGlobalQuotaSettings.html      |   125 +
 .../TestQuotaGlobalsSettingsBypass.html         |   125 +
 .../quotas/class-use/TestThrottleSettings.html  |   125 +
 .../hadoop/hbase/quotas/package-frame.html      |     3 +
 .../hadoop/hbase/quotas/package-summary.html    |    22 +-
 .../hadoop/hbase/quotas/package-tree.html       |     3 +
 .../hadoop/hbase/regionserver/package-tree.html |     4 +-
 .../access/TestWithDisabledAuthorization.html   |    70 +-
 .../apache/hadoop/hbase/test/package-tree.html  |     2 +-
 .../apache/hadoop/hbase/wal/package-tree.html   |     2 +-
 testdevapidocs/overview-tree.html               |     3 +
 .../TestMasterObserver.CPMasterObserver.html    |  1552 +-
 .../hbase/coprocessor/TestMasterObserver.html   |  1552 +-
 .../hbase/quotas/TestGlobalQuotaSettings.html   |   194 +
 .../hadoop/hbase/quotas/TestQuotaAdmin.html     |   757 +-
 .../quotas/TestQuotaGlobalsSettingsBypass.html  |   174 +
 .../hadoop/hbase/quotas/TestQuotaThrottle.html  |   169 +-
 .../hbase/quotas/TestSpaceLimitSettings.html    |   221 +-
 .../hbase/quotas/TestThrottleSettings.html      |   170 +
 .../access/TestWithDisabledAuthorization.html   |  1990 +-
 293 files changed, 24292 insertions(+), 20289 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/acid-semantics.html
----------------------------------------------------------------------
diff --git a/acid-semantics.html b/acid-semantics.html
index b83e981..2a29cbd 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="20170923" />
+    <meta name="Date-Revision-yyyymmdd" content="20170924" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Apache HBase (TM) ACID Properties
@@ -606,7 +606,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-09-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-09-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/apache_hbase_reference_guide.pdf
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdf b/apache_hbase_reference_guide.pdf
index af71a6d..8b0ac7d 100644
--- a/apache_hbase_reference_guide.pdf
+++ b/apache_hbase_reference_guide.pdf
@@ -5,8 +5,8 @@
 /Author (Apache HBase Team)
 /Creator (Asciidoctor PDF 1.5.0.alpha.15, based on Prawn 2.2.2)
 /Producer (Apache HBase Team)
-/ModDate (D:20170923144648+00'00')
-/CreationDate (D:20170923144648+00'00')
+/ModDate (D:20170924144647+00'00')
+/CreationDate (D:20170924144647+00'00')
 >>
 endobj
 2 0 obj

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/apidocs/index-all.html
----------------------------------------------------------------------
diff --git a/apidocs/index-all.html b/apidocs/index-all.html
index 0c42d6f..4db238f 100644
--- a/apidocs/index-all.html
+++ b/apidocs/index-all.html
@@ -893,6 +893,10 @@
 <dd>
 <div class="block">Returns a classpath string built from the content of the "tmpjars" value in <code>conf</code>.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/QuotaSettings.html#buildFromProto-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest-">buildFromProto(MasterProtos.SetQuotaRequest)</a></span> - Static method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></dt>
+<dd>
+<div class="block">Converts the protocol buffer request into a QuotaSetting POJO.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/client/RemoteHTable.html#buildModelFromPut-org.apache.hadoop.hbase.client.Put-">buildModelFromPut(Put)</a></span> - Method in class org.apache.hadoop.hbase.rest.client.<a href="org/apache/hadoop/hbase/rest/client/RemoteHTable.html" title="class in org.apache.hadoop.hbase.rest.client">RemoteHTable</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/client/RemoteHTable.html#buildMultiRowSpec-byte:A:A-int-">buildMultiRowSpec(byte[][], int)</a></span> - Method in class org.apache.hadoop.hbase.rest.client.<a href="org/apache/hadoop/hbase/rest/client/RemoteHTable.html" title="class in org.apache.hadoop.hbase.rest.client">RemoteHTable</a></dt>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/apidocs/org/apache/hadoop/hbase/client/security/SecurityCapability.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/security/SecurityCapability.html b/apidocs/org/apache/hadoop/hbase/client/security/SecurityCapability.html
index c50e7c4..661311c 100644
--- a/apidocs/org/apache/hadoop/hbase/client/security/SecurityCapability.html
+++ b/apidocs/org/apache/hadoop/hbase/client/security/SecurityCapability.html
@@ -282,7 +282,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/client/security/SecurityCapability.html" title="enum in org.apache.hadoop.hbase.client.security">SecurityCapability</a>[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/client/security/SecurityCapability.html#line.26">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/client/security/SecurityCapability.html" title="enum in org.apache.hadoop.hbase.client.security">SecurityCapability</a>[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/client/security/SecurityCapability.html#line.61">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:
@@ -302,7 +302,7 @@ for (SecurityCapability c : SecurityCapability.values())
 <ul class="blockList">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/client/security/SecurityCapability.html" title="enum in org.apache.hadoop.hbase.client.security">SecurityCapability</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/client/security/SecurityCapability.html#line.26">valueOf</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/client/security/SecurityCapability.html" title="enum in org.apache.hadoop.hbase.client.security">SecurityCapability</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/client/security/SecurityCapability.html#line.61">valueOf</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/apidocs/org/apache/hadoop/hbase/quotas/QuotaSettings.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/quotas/QuotaSettings.html b/apidocs/org/apache/hadoop/hbase/quotas/QuotaSettings.html
index b4a7996..51ddabc 100644
--- a/apidocs/org/apache/hadoop/hbase/quotas/QuotaSettings.html
+++ b/apidocs/org/apache/hadoop/hbase/quotas/QuotaSettings.html
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.28">QuotaSettings</a>
+public abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.33">QuotaSettings</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -207,7 +207,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>QuotaSettings</h4>
-<pre>protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.33">QuotaSettings</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+<pre>protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.38">QuotaSettings</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                         <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</pre>
 </li>
@@ -226,7 +226,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getQuotaType</h4>
-<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas">QuotaType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.40">getQuotaType</a>()</pre>
+<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas">QuotaType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.45">getQuotaType</a>()</pre>
 </li>
 </ul>
 <a name="getUserName--">
@@ -235,7 +235,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getUserName</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.42">getUserName</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.47">getUserName</a>()</pre>
 </li>
 </ul>
 <a name="getTableName--">
@@ -244,7 +244,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>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/quotas/QuotaSettings.html#line.46">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/quotas/QuotaSettings.html#line.51">getTableName</a>()</pre>
 </li>
 </ul>
 <a name="getNamespace--">
@@ -253,7 +253,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getNamespace</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.50">getNamespace</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.55">getNamespace</a>()</pre>
 </li>
 </ul>
 <a name="ownerToString--">
@@ -262,7 +262,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>ownerToString</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.83">ownerToString</a>()</pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.138">ownerToString</a>()</pre>
 </li>
 </ul>
 <a name="sizeToString-long-">
@@ -271,7 +271,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>sizeToString</h4>
-<pre>protected static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.103">sizeToString</a>(long&nbsp;size)</pre>
+<pre>protected static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.158">sizeToString</a>(long&nbsp;size)</pre>
 </li>
 </ul>
 <a name="timeToString-java.util.concurrent.TimeUnit-">
@@ -280,7 +280,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>timeToString</h4>
-<pre>protected static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.112">timeToString</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;timeUnit)</pre>
+<pre>protected static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html#line.167">timeToString</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;timeUnit)</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/apidocs/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html b/apidocs/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html
index 55b5ff7..ada40ca 100644
--- a/apidocs/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html
+++ b/apidocs/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.33">QuotaSettingsFactory</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.35">QuotaSettingsFactory</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -293,7 +293,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>QuotaSettingsFactory</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.33">QuotaSettingsFactory</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.35">QuotaSettingsFactory</a>()</pre>
 </li>
 </ul>
 </li>
@@ -310,7 +310,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>throttleUser</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.155">throttleUser</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.184">throttleUser</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                                          <a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottleType</a>&nbsp;type,
                                          long&nbsp;limit,
                                          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;timeUnit)</pre>
@@ -332,7 +332,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>throttleUser</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.170">throttleUser</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.199">throttleUser</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                                          <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/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottleType</a>&nbsp;type,
                                          long&nbsp;limit,
@@ -356,7 +356,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>throttleUser</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.185">throttleUser</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.214">throttleUser</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                                          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                                          <a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottleType</a>&nbsp;type,
                                          long&nbsp;limit,
@@ -380,7 +380,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>unthrottleUser</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.196">unthrottleUser</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.225">unthrottleUser</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName)</pre>
 <div class="block">Remove the throttling for the specified user.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -396,7 +396,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>unthrottleUser</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.207">unthrottleUser</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.236">unthrottleUser</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                                            <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <div class="block">Remove the throttling for the specified user on the specified table.</div>
 <dl>
@@ -414,7 +414,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>unthrottleUser</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.218">unthrottleUser</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.247">unthrottleUser</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                                            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</pre>
 <div class="block">Remove the throttling for the specified user on the specified namespace.</div>
 <dl>
@@ -432,7 +432,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>throttleTable</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.231">throttleTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.260">throttleTable</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/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottleType</a>&nbsp;type,
                                           long&nbsp;limit,
                                           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;timeUnit)</pre>
@@ -454,7 +454,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>unthrottleTable</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.242">unthrottleTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.271">unthrottleTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <div class="block">Remove the throttling for the specified table.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -470,7 +470,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>throttleNamespace</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.255">throttleNamespace</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.284">throttleNamespace</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                                               <a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottleType</a>&nbsp;type,
                                               long&nbsp;limit,
                                               <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;timeUnit)</pre>
@@ -492,7 +492,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>unthrottleNamespace</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.266">unthrottleNamespace</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.295">unthrottleNamespace</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</pre>
 <div class="block">Remove the throttling for the specified namespace.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -508,7 +508,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>bypassGlobals</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.295">bypassGlobals</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.324">bypassGlobals</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                                           boolean&nbsp;bypassGlobals)</pre>
 <div class="block">Set the "bypass global settings" for the specified user</div>
 <dl>
@@ -526,7 +526,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>limitTableSpace</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.313">limitTableSpace</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.342">limitTableSpace</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                             long&nbsp;sizeLimit,
                                             <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html" title="enum in org.apache.hadoop.hbase.quotas">SpaceViolationPolicy</a>&nbsp;violationPolicy)</pre>
 <div class="block">Creates a <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><code>QuotaSettings</code></a> object to limit the FileSystem space usage for the given table
@@ -548,7 +548,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>removeTableSpaceLimit</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.325">removeTableSpaceLimit</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.354">removeTableSpaceLimit</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <div class="block">Creates a <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><code>QuotaSettings</code></a> object to remove the FileSystem space quota for the given
  table.</div>
 <dl>
@@ -565,7 +565,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>limitNamespaceSpace</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.339">limitNamespaceSpace</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.368">limitNamespaceSpace</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                                                 long&nbsp;sizeLimit,
                                                 <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html" title="enum in org.apache.hadoop.hbase.quotas">SpaceViolationPolicy</a>&nbsp;violationPolicy)</pre>
 <div class="block">Creates a <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><code>QuotaSettings</code></a> object to limit the FileSystem space usage for the given
@@ -587,7 +587,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>removeNamespaceSpaceLimit</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.351">removeNamespaceSpaceLimit</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#line.380">removeNamespaceSpaceLimit</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</pre>
 <div class="block">Creates a <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><code>QuotaSettings</code></a> object to remove the FileSystem space quota for the given
  namespace.</div>
 <dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/apidocs/org/apache/hadoop/hbase/quotas/QuotaType.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/quotas/QuotaType.html b/apidocs/org/apache/hadoop/hbase/quotas/QuotaType.html
index fd63e7e..de25961 100644
--- a/apidocs/org/apache/hadoop/hbase/quotas/QuotaType.html
+++ b/apidocs/org/apache/hadoop/hbase/quotas/QuotaType.html
@@ -246,7 +246,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/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas">QuotaType</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaType.html#line.14">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas">QuotaType</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaType.html#line.30">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:
@@ -266,7 +266,7 @@ for (QuotaType c : QuotaType.values())
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas">QuotaType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaType.html#line.14">valueOf</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas">QuotaType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/QuotaType.html#line.30">valueOf</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/apidocs/org/apache/hadoop/hbase/quotas/ThrottleType.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/quotas/ThrottleType.html b/apidocs/org/apache/hadoop/hbase/quotas/ThrottleType.html
index 1eebccb..9cf6747 100644
--- a/apidocs/org/apache/hadoop/hbase/quotas/ThrottleType.html
+++ b/apidocs/org/apache/hadoop/hbase/quotas/ThrottleType.html
@@ -300,7 +300,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/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottleType</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottleType.html#line.44">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottleType</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottleType.html#line.14">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:
@@ -320,7 +320,7 @@ for (ThrottleType c : ThrottleType.values())
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottleType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottleType.html#line.44">valueOf</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottleType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottleType.html#line.14">valueOf</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/apidocs/org/apache/hadoop/hbase/quotas/class-use/QuotaSettings.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/quotas/class-use/QuotaSettings.html b/apidocs/org/apache/hadoop/hbase/quotas/class-use/QuotaSettings.html
index f921dc8..9ccbea6 100644
--- a/apidocs/org/apache/hadoop/hbase/quotas/class-use/QuotaSettings.html
+++ b/apidocs/org/apache/hadoop/hbase/quotas/class-use/QuotaSettings.html
@@ -151,12 +151,18 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuotaSettings.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#buildFromProto-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest-">buildFromProto</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest&nbsp;request)</code>
+<div class="block">Converts the protocol buffer request into a QuotaSetting POJO.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#bypassGlobals-java.lang.String-boolean-">bypassGlobals</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
              boolean&nbsp;bypassGlobals)</code>
 <div class="block">Set the "bypass global settings" for the specified user</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#limitNamespaceSpace-java.lang.String-long-org.apache.hadoop.hbase.quotas.SpaceViolationPolicy-">limitNamespaceSpace</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                    long&nbsp;sizeLimit,
@@ -165,7 +171,7 @@
  namespace to the given size in bytes.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#limitTableSpace-org.apache.hadoop.hbase.TableName-long-org.apache.hadoop.hbase.quotas.SpaceViolationPolicy-">limitTableSpace</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                long&nbsp;sizeLimit,
@@ -174,25 +180,25 @@
  to the given size in bytes.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaRetriever.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaRetriever.html#next--">next</a></span>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#removeNamespaceSpaceLimit-java.lang.String-">removeNamespaceSpaceLimit</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</code>
 <div class="block">Creates a <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><code>QuotaSettings</code></a> object to remove the FileSystem space quota for the given
  namespace.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#removeTableSpaceLimit-org.apache.hadoop.hbase.TableName-">removeTableSpaceLimit</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Creates a <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><code>QuotaSettings</code></a> object to remove the FileSystem space quota for the given
  table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#throttleNamespace-java.lang.String-org.apache.hadoop.hbase.quotas.ThrottleType-long-java.util.concurrent.TimeUnit-">throttleNamespace</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                  <a href="../../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottleType</a>&nbsp;type,
@@ -201,7 +207,7 @@
 <div class="block">Throttle the specified namespace.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#throttleTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.ThrottleType-long-java.util.concurrent.TimeUnit-">throttleTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
              <a href="../../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottleType</a>&nbsp;type,
@@ -210,7 +216,7 @@
 <div class="block">Throttle the specified table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#throttleUser-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.ThrottleType-long-java.util.concurrent.TimeUnit-">throttleUser</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
@@ -220,7 +226,7 @@
 <div class="block">Throttle the specified user on the specified namespace.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#throttleUser-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.ThrottleType-long-java.util.concurrent.TimeUnit-">throttleUser</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
             <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
@@ -230,7 +236,7 @@
 <div class="block">Throttle the specified user on the specified table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#throttleUser-java.lang.String-org.apache.hadoop.hbase.quotas.ThrottleType-long-java.util.concurrent.TimeUnit-">throttleUser</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
             <a href="../../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottleType</a>&nbsp;type,
@@ -239,32 +245,32 @@
 <div class="block">Throttle the specified user.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#unthrottleNamespace-java.lang.String-">unthrottleNamespace</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</code>
 <div class="block">Remove the throttling for the specified namespace.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#unthrottleTable-org.apache.hadoop.hbase.TableName-">unthrottleTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Remove the throttling for the specified table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#unthrottleUser-java.lang.String-">unthrottleUser</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName)</code>
 <div class="block">Remove the throttling for the specified user.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#unthrottleUser-java.lang.String-java.lang.String-">unthrottleUser</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</code>
 <div class="block">Remove the throttling for the specified user on the specified namespace.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#unthrottleUser-java.lang.String-org.apache.hadoop.hbase.TableName-">unthrottleUser</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
               <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/quotas/class-use/GlobalQuotaSettings.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/class-use/GlobalQuotaSettings.html b/devapidocs/org/apache/hadoop/hbase/quotas/class-use/GlobalQuotaSettings.html
new file mode 100644
index 0000000..b31acb7
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/class-use/GlobalQuotaSettings.html
@@ -0,0 +1,426 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.hadoop.hbase.quotas.GlobalQuotaSettings (Apache HBase 3.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.hadoop.hbase.quotas.GlobalQuotaSettings (Apache HBase 3.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">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/quotas/class-use/GlobalQuotaSettings.html" target="_top">Frames</a></li>
+<li><a href="GlobalQuotaSettings.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.hadoop.hbase.quotas.GlobalQuotaSettings" class="title">Uses of Class<br>org.apache.hadoop.hbase.quotas.GlobalQuotaSettings</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</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.coprocessor">org.apache.hadoop.hbase.coprocessor</a></td>
+<td class="colLast">
+<div class="block">Table of Contents</div>
+</td>
+</tr>
+<tr class="rowColor">
+<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="altColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.quotas">org.apache.hadoop.hbase.quotas</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.security.access">org.apache.hadoop.hbase.security.access</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.coprocessor">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a> in <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/package-summary.html">org.apache.hadoop.hbase.coprocessor</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/package-summary.html">org.apache.hadoop.hbase.coprocessor</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>default void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetNamespaceQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+                     <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
+<div class="block">Called after the quota for the namespace is stored.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>default void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetTableQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+                 <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                 <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
+<div class="block">Called after the quota for the table is stored.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>default void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+                <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
+<div class="block">Called after the quota for the user is stored.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>default void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+                <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
+<div class="block">Called after the quota for the user on the specified namespace is stored.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>default void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+                <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/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
+<div class="block">Called after the quota for the user on the specified table is stored.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>default void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetNamespaceQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+                    <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
+<div class="block">Called before the quota for the namespace is stored.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>default void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetTableQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+                <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
+<div class="block">Called before the quota for the table is stored.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>default void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+               <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
+<div class="block">Called before the quota for the user is stored.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>default void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+               <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
+<div class="block">Called before the quota for the user on the specified namespace is stored.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>default void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+               <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/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
+<div class="block">Called before the quota for the user on the specified table is stored.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.hadoop.hbase.master">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a> in <a href="../../../../../../org/apache/hadoop/hbase/master/package-summary.html">org.apache.hadoop.hbase.master</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/master/package-summary.html">org.apache.hadoop.hbase.master</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postSetNamespaceQuota-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetNamespaceQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+                     <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postSetTableQuota-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetTableQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+                 <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postSetUserQuota-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
+                <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postSetUserQuota-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
+                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+                <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postSetUserQuota-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
+                <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+                <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preSetNamespaceQuota-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetNamespaceQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+                    <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preSetTableQuota-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetTableQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+                <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preSetUserQuota-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
+               <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preSetUserQuota-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+               <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preSetUserQuota-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
+               <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+               <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.hadoop.hbase.quotas">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a> in <a href="../../../../../../org/apache/hadoop/hbase/quotas/package-summary.html">org.apache.hadoop.hbase.quotas</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/quotas/package-summary.html">org.apache.hadoop.hbase.quotas</a> that return <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</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/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MasterQuotaManager.SetQuotaOperations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#fetch--">fetch</a></span>()</code>
+<div class="block">Fetches the current quota settings for the subject.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a></code></td>
+<td class="colLast"><span class="typeNameLabel">GlobalQuotaSettings.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#merge-org.apache.hadoop.hbase.quotas.QuotaSettings-">merge</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;other)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/quotas/package-summary.html">org.apache.hadoop.hbase.quotas</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterQuotaManager.SetQuotaOperations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#postApply-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postApply</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotaPojo)</code>
+<div class="block">Performs some action after <a href="../../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#update-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-"><code>MasterQuotaManager.SetQuotaOperations.update(GlobalQuotaSettings)</code></a> with the resulting quota
+ from the request action for the subject.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterQuotaManager.SetQuotaOperations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#preApply-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preApply</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotaPojo)</code>
+<div class="block">Performs some action before <a href="../../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#update-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-"><code>MasterQuotaManager.SetQuotaOperations.update(GlobalQuotaSettings)</code></a> with the current quota
+ for the subject.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterQuotaManager.SetQuotaOperations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.SetQuotaOperations.html#update-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">update</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotaPojo)</code>
+<div class="block">Persist the given quota for the subject.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.hadoop.hbase.security.access">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a> in <a href="../../../../../../org/apache/hadoop/hbase/security/access/package-summary.html">org.apache.hadoop.hbase.security.access</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/security/access/package-summary.html">org.apache.hadoop.hbase.security.access</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">AccessController.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetNamespaceQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+                    <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">AccessController.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetTableQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+                <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">AccessController.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+               <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">AccessController.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+               <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">AccessController.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+               <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/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">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/quotas/class-use/GlobalQuotaSettings.html" target="_top">Frames</a></li>
+<li><a href="GlobalQuotaSettings.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/quotas/class-use/QuotaSettings.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/class-use/QuotaSettings.html b/devapidocs/org/apache/hadoop/hbase/quotas/class-use/QuotaSettings.html
index 404b1d1..78ca29c 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/class-use/QuotaSettings.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/class-use/QuotaSettings.html
@@ -170,16 +170,23 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a></span></code>
+<div class="block">An object which captures all quotas types (throttle or space) for a subject (user, table, or
+ namespace).</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) static class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettingsFactory.QuotaGlobalsSettingsBypass</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html" title="class in org.apache.hadoop.hbase.quotas">SpaceLimitSettings</a></span></code>
 <div class="block">A <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><code>QuotaSettings</code></a> implementation for configuring filesystem-use quotas.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/ThrottleSettings.html" title="class in org.apache.hadoop.hbase.quotas">ThrottleSettings</a></span></code>&nbsp;</td>
 </tr>
@@ -220,18 +227,24 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuotaSettings.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#buildFromProto-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest-">buildFromProto</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest&nbsp;request)</code>
+<div class="block">Converts the protocol buffer request into a QuotaSetting POJO.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#bypassGlobals-java.lang.String-boolean-">bypassGlobals</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
              boolean&nbsp;bypassGlobals)</code>
 <div class="block">Set the "bypass global settings" for the specified user</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#fromSpace-org.apache.hadoop.hbase.TableName-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota-">fromSpace</a></span>(<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/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
          org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota&nbsp;protoQuota)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#limitNamespaceSpace-java.lang.String-long-org.apache.hadoop.hbase.quotas.SpaceViolationPolicy-">limitNamespaceSpace</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                    long&nbsp;sizeLimit,
@@ -240,7 +253,7 @@
  namespace to the given size in bytes.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#limitTableSpace-org.apache.hadoop.hbase.TableName-long-org.apache.hadoop.hbase.quotas.SpaceViolationPolicy-">limitTableSpace</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                long&nbsp;sizeLimit,
@@ -249,29 +262,40 @@
  to the given size in bytes.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpaceLimitSettings.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#merge-org.apache.hadoop.hbase.quotas.QuotaSettings-">merge</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;newSettings)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
+<td class="colFirst"><code>(package private) abstract <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuotaSettings.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#merge-org.apache.hadoop.hbase.quotas.QuotaSettings-">merge</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;newSettings)</code>
+<div class="block">Merges the provided settings with <code>this</code> and returns a new settings
+ object to the caller if the merged settings differ from the original.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaRetriever.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaRetriever.html#next--">next</a></span>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaRetriever.Iter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaRetriever.Iter.html#next--">next</a></span>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#removeNamespaceSpaceLimit-java.lang.String-">removeNamespaceSpaceLimit</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</code>
 <div class="block">Creates a <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><code>QuotaSettings</code></a> object to remove the FileSystem space quota for the given
  namespace.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#removeTableSpaceLimit-org.apache.hadoop.hbase.TableName-">removeTableSpaceLimit</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Creates a <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><code>QuotaSettings</code></a> object to remove the FileSystem space quota for the given
  table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#throttle-java.lang.String-org.apache.hadoop.hbase.TableName-java.lang.String-org.apache.hadoop.hbase.quotas.ThrottleType-long-java.util.concurrent.TimeUnit-">throttle</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
         <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
@@ -280,7 +304,7 @@
         long&nbsp;limit,
         <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;timeUnit)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#throttleNamespace-java.lang.String-org.apache.hadoop.hbase.quotas.ThrottleType-long-java.util.concurrent.TimeUnit-">throttleNamespace</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                  <a href="../../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottleType</a>&nbsp;type,
@@ -289,7 +313,7 @@
 <div class="block">Throttle the specified namespace.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#throttleTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.ThrottleType-long-java.util.concurrent.TimeUnit-">throttleTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
              <a href="../../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottleType</a>&nbsp;type,
@@ -298,7 +322,7 @@
 <div class="block">Throttle the specified table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#throttleUser-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.ThrottleType-long-java.util.concurrent.TimeUnit-">throttleUser</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
@@ -308,7 +332,7 @@
 <div class="block">Throttle the specified user on the specified namespace.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#throttleUser-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.ThrottleType-long-java.util.concurrent.TimeUnit-">throttleUser</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
             <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
@@ -318,7 +342,7 @@
 <div class="block">Throttle the specified user on the specified table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#throttleUser-java.lang.String-org.apache.hadoop.hbase.quotas.ThrottleType-long-java.util.concurrent.TimeUnit-">throttleUser</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
             <a href="../../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottleType</a>&nbsp;type,
@@ -327,32 +351,32 @@
 <div class="block">Throttle the specified user.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#unthrottleNamespace-java.lang.String-">unthrottleNamespace</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</code>
 <div class="block">Remove the throttling for the specified namespace.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#unthrottleTable-org.apache.hadoop.hbase.TableName-">unthrottleTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Remove the throttling for the specified table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#unthrottleUser-java.lang.String-">unthrottleUser</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName)</code>
 <div class="block">Remove the throttling for the specified user.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#unthrottleUser-java.lang.String-java.lang.String-">unthrottleUser</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</code>
 <div class="block">Remove the throttling for the specified user on the specified namespace.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html#unthrottleUser-java.lang.String-org.apache.hadoop.hbase.TableName-">unthrottleUser</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
               <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
@@ -428,6 +452,35 @@
 <div class="block">Convert a QuotaSettings to a protocol buffer SetQuotaRequest.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/quotas/ThrottleSettings.html" title="class in org.apache.hadoop.hbase.quotas">ThrottleSettings</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ThrottleSettings.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/ThrottleSettings.html#merge-org.apache.hadoop.hbase.quotas.QuotaSettings-">merge</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;other)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettingsFactory.QuotaGlobalsSettingsBypass</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.QuotaGlobalsSettingsBypass.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html#merge-org.apache.hadoop.hbase.quotas.QuotaSettings-">merge</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;newSettings)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpaceLimitSettings.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#merge-org.apache.hadoop.hbase.quotas.QuotaSettings-">merge</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;newSettings)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>(package private) abstract <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuotaSettings.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#merge-org.apache.hadoop.hbase.quotas.QuotaSettings-">merge</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;newSettings)</code>
+<div class="block">Merges the provided settings with <code>this</code> and returns a new settings
+ object to the caller if the merged settings differ from the original.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a></code></td>
+<td class="colLast"><span class="typeNameLabel">GlobalQuotaSettings.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#merge-org.apache.hadoop.hbase.quotas.QuotaSettings-">merge</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;other)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>(package private) void</code></td>
+<td class="colLast"><span class="typeNameLabel">QuotaSettings.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#validateQuotaTarget-org.apache.hadoop.hbase.quotas.QuotaSettings-">validateQuotaTarget</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;mergee)</code>
+<div class="block">Validates that settings being merged into <code>this</code> is targeting the same "subject", e.g.</div>
+</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/quotas/class-use/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/class-use/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html b/devapidocs/org/apache/hadoop/hbase/quotas/class-use/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html
index 88fb740..e574e85 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/class-use/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/class-use/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html
@@ -72,7 +72,47 @@
 <div class="header">
 <h2 title="Uses of Class org.apache.hadoop.hbase.quotas.QuotaSettingsFactory.QuotaGlobalsSettingsBypass" class="title">Uses of Class<br>org.apache.hadoop.hbase.quotas.QuotaSettingsFactory.QuotaGlobalsSettingsBypass</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.hadoop.hbase.quotas.QuotaSettingsFactory.QuotaGlobalsSettingsBypass</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettingsFactory.QuotaGlobalsSettingsBypass</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.quotas">org.apache.hadoop.hbase.quotas</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.quotas">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettingsFactory.QuotaGlobalsSettingsBypass</a> in <a href="../../../../../../org/apache/hadoop/hbase/quotas/package-summary.html">org.apache.hadoop.hbase.quotas</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/quotas/package-summary.html">org.apache.hadoop.hbase.quotas</a> that return <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettingsFactory.QuotaGlobalsSettingsBypass</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettingsFactory.QuotaGlobalsSettingsBypass</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuotaSettingsFactory.QuotaGlobalsSettingsBypass.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html#merge-org.apache.hadoop.hbase.quotas.QuotaSettings-">merge</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;newSettings)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/quotas/class-use/QuotaType.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/class-use/QuotaType.html b/devapidocs/org/apache/hadoop/hbase/quotas/class-use/QuotaType.html
index c22511e..ec8731b 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/class-use/QuotaType.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/class-use/QuotaType.html
@@ -132,12 +132,16 @@
 <td class="colLast"><span class="typeNameLabel">QuotaSettings.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#getQuotaType--">getQuotaType</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas">QuotaType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">GlobalQuotaSettings.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#getQuotaType--">getQuotaType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas">QuotaType</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas">QuotaType</a>[]</code></td>
 <td class="colLast"><span class="typeNameLabel">QuotaType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html#values--">values</a></span>()</code>
 <div class="block">Returns an array containing the constants of this enum type, in

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/quotas/class-use/ThrottleSettings.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/class-use/ThrottleSettings.html b/devapidocs/org/apache/hadoop/hbase/quotas/class-use/ThrottleSettings.html
index 5226cc1..85f1dc5 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/class-use/ThrottleSettings.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/class-use/ThrottleSettings.html
@@ -110,6 +110,10 @@
               <a href="../../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottleType</a>&nbsp;type,
               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.TimedQuota&nbsp;timedQuota)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/quotas/ThrottleSettings.html" title="class in org.apache.hadoop.hbase.quotas">ThrottleSettings</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ThrottleSettings.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/ThrottleSettings.html#merge-org.apache.hadoop.hbase.quotas.QuotaSettings-">merge</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;other)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/quotas/class-use/ThrottleType.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/class-use/ThrottleType.html b/devapidocs/org/apache/hadoop/hbase/quotas/class-use/ThrottleType.html
index 661b3b3..9d82ca5 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/class-use/ThrottleType.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/class-use/ThrottleType.html
@@ -122,6 +122,19 @@ the order they are declared.</div>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/quotas/package-summary.html">org.apache.hadoop.hbase.quotas</a> that return types with arguments of type <a href="../../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottleType</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/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottleType</a>,org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.TimedQuota&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">GlobalQuotaSettings.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html#buildThrottleQuotas-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Throttle-">buildThrottleQuotas</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Throttle&nbsp;proto)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
 <caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/quotas/package-summary.html">org.apache.hadoop.hbase.quotas</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottleType</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/quotas/package-frame.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/package-frame.html b/devapidocs/org/apache/hadoop/hbase/quotas/package-frame.html
index c28815b..af86446 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/package-frame.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/package-frame.html
@@ -33,6 +33,7 @@
 <li><a href="DefaultOperationQuota.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">DefaultOperationQuota</a></li>
 <li><a href="FileSystemUtilizationChore.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">FileSystemUtilizationChore</a></li>
 <li><a href="FixedIntervalRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">FixedIntervalRateLimiter</a></li>
+<li><a href="GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">GlobalQuotaSettings</a></li>
 <li><a href="MasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">MasterQuotaManager</a></li>
 <li><a href="MasterQuotaManager.NamedLock.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">MasterQuotaManager.NamedLock</a></li>
 <li><a href="MasterQuotaManager.SizeSnapshotWithTimestamp.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">MasterQuotaManager.SizeSnapshotWithTimestamp</a></li>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/security/access/AccessController.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/access/AccessController.html b/devapidocs/org/apache/hadoop/hbase/security/access/AccessController.html
index 4c43167..76345a3 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/access/AccessController.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/access/AccessController.html
@@ -1213,9 +1213,9 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 </tr>
 <tr id="i117" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetNamespaceQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetNamespaceQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-                    org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+                    <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called before the quota for the namespace is stored.</div>
 </td>
 </tr>
@@ -1229,35 +1229,35 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 </tr>
 <tr id="i119" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetTableQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetTableQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-                org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+                <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called before the quota for the table is stored.</div>
 </td>
 </tr>
 <tr id="i120" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
-               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+               <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called before the quota for the user is stored.</div>
 </td>
 </tr>
 <tr id="i121" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+               <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called before the quota for the user on the specified namespace is stored.</div>
 </td>
 </tr>
 <tr id="i122" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>
+               <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)</code>
 <div class="block">Called before the quota for the user on the specified table is stored.</div>
 </td>
 </tr>
@@ -1451,7 +1451,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postAddColumnFamily</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postAddReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postAddRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postAssign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/
 MasterObserver.html#postBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postBalance</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-boolean-">postBalanceRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-boolean-">postBalanceSwitch</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postClearDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postClone
 Snapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedAddColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postCompletedAddColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">postCompletedDeleteColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDeleteTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.h
 base.TableName-">postCompletedDisableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedEnableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postCompletedModifyColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTable
 Action-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedTruncateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postCreateNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/
 MasterObserver.html#postCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCreateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">postDeleteSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDisableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDisableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableReplicationPee
 r-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postEnableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postEnableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postGetLocks</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postGetNamespaceDescriptor</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postGetReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/
 hbase/coprocessor/MasterObserver.html#postListDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postListDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postListReplicationPeers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">postListSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.master.locking.LockProcedure-boolean-">postLockHeartbeat</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext
 -org.apache.hadoop.hbase.client.RegionInfo:A-">postMergeRegions</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postMergeRegionsCommitAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postModifyColumnFamily</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMove-org.apache.hadoop.hbase.coprocessor.ObserverCont
 ext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">postMove</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">postMoveServersAndTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postRegionOffline</a>, 
 <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.procedure2.LockType-java.lang.String-">postRequestLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hba
 se.client.TableDescriptor-">postRestoreSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postRollBackMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postRollBackSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetNamespaceQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.prot
 obuf.generated.QuotaProtos.Quotas-">postSetTableQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSnapshot-org.a
 pache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTableFlush</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">postUnassign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postUpdateReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddColu
 mnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preAddColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preDeleteColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.
 html#preDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">preGetTableNames</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preListDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">preListNamespaceDescriptors</a>, <a href="../../../../../../org/apach
 e/hadoop/hbase/coprocessor/MasterObserver.html#preMasterInitialization-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preMasterInitialization</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-java.util.List-">preMergeRegionsCommitAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preModifyColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterO
 bserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAfterPONRAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preSplitRegionAfterPONRAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionBeforePONRAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-byte:A-java.util.List-">preSplitRegionBeforePONRAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTableAction-org.apache.hadoop.hbase.coprocessor.Observe
 rContext-org.apache.hadoop.hbase.TableName-">preTruncateTableAction</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postAddColumnFamily</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postAddReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postAddRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postAssign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/
 MasterObserver.html#postBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postBalance</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-boolean-">postBalanceRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-boolean-">postBalanceSwitch</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postClearDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postClone
 Snapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedAddColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postCompletedAddColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">postCompletedDeleteColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDeleteTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.h
 base.TableName-">postCompletedDisableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedEnableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postCompletedModifyColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTable
 Action-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedTruncateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postCreateNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/
 MasterObserver.html#postCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCreateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">postDeleteSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDisableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDisableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableReplicationPee
 r-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postEnableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postEnableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postGetLocks</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postGetNamespaceDescriptor</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postGetReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/
 hbase/coprocessor/MasterObserver.html#postListDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postListDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postListReplicationPeers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">postListSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.master.locking.LockProcedure-boolean-">postLockHeartbeat</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext
 -org.apache.hadoop.hbase.client.RegionInfo:A-">postMergeRegions</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postMergeRegionsCommitAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postModifyColumnFamily</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMove-org.apache.hadoop.hbase.coprocessor.ObserverCont
 ext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">postMove</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">postMoveServersAndTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postRegionOffline</a>, 
 <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.procedure2.LockType-java.lang.String-">postRequestLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hba
 se.client.TableDescriptor-">postRestoreSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postRollBackMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postRollBackSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetNamespaceQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 postSetTableQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.gen
 erated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTableFlush</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">postUnassign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postUpdateReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase
 .TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preAddColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preDeleteColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.
 hadoop.hbase.TableName-">preDisableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">preGetTableNames</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preListDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">preListNamespaceDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMasterInitialization-org.apache.hadoop.h
 base.coprocessor.ObserverContext-">preMasterInitialization</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-java.util.List-">preMergeRegionsCommitAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preModifyColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.
 apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAfterPONRAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preSplitRegionAfterPONRAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionBeforePONRAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-byte:A-java.util.List-">preSplitRegionBeforePONRAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTableAction</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.coprocessor.RegionObserver">
@@ -4492,7 +4492,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 </dl>
 </li>
 </ul>
-<a name="preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
@@ -4500,23 +4500,23 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <h4>preSetUserQuota</h4>
 <pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessController.html#line.2587">preSetUserQuota</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
-                            org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+                            <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)
                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">MasterObserver</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">MasterObserver</a></code></span></div>
 <div class="block">Called before the quota for the user is stored.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>ctx</code> - the environment to interact with the framework and master</dd>
 <dd><code>userName</code> - the name of user</dd>
-<dd><code>quotas</code> - the quota settings</dd>
+<dd><code>quotas</code> - the current quota for the user</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>
 </li>
 </ul>
-<a name="preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
@@ -4525,92 +4525,92 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessController.html#line.2593">preSetUserQuota</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                             <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-                            org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+                            <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)
                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">MasterObserver</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">MasterObserver</a></code></span></div>
 <div class="block">Called before the quota for the user on the specified table is stored.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>ctx</code> - the environment to interact with the framework and master</dd>
 <dd><code>userName</code> - the name of user</dd>
 <dd><code>tableName</code> - the name of the table</dd>
-<dd><code>quotas</code> - the quota settings</dd>
+<dd><code>quotas</code> - the current quota for the user on the table</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>
 </li>
 </ul>
-<a name="preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>preSetUserQuota</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessController.html#line.2599">preSetUserQuota</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessController.html#line.2600">preSetUserQuota</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-                            org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+                            <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)
                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">MasterObserver</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">MasterObserver</a></code></span></div>
 <div class="block">Called before the quota for the user on the specified namespace is stored.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>ctx</code> - the environment to interact with the framework and master</dd>
 <dd><code>userName</code> - the name of user</dd>
 <dd><code>namespace</code> - the name of the namespace</dd>
-<dd><code>quotas</code> - the quota settings</dd>
+<dd><code>quotas</code> - the current quota for the user on the namespace</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>
 </li>
 </ul>
-<a name="preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>preSetTableQuota</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessController.html#line.2605">preSetTableQuota</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessController.html#line.2607">preSetTableQuota</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                              <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
-                             org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+                             <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">MasterObserver</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">MasterObserver</a></code></span></div>
 <div class="block">Called before the quota for the table is stored.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetTableQuota</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetTableQuota</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>ctx</code> - the environment to interact with the framework and master</dd>
 <dd><code>tableName</code> - the name of the table</dd>
-<dd><code>quotas</code> - the quota settings</dd>
+<dd><code>quotas</code> - the current quota for the table</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>
 </li>
 </ul>
-<a name="preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>preSetNamespaceQuota</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessController.html#line.2611">preSetNamespaceQuota</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessController.html#line.2613">preSetNamespaceQuota</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-                                 org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+                                 <a href="../../../../../../org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a>&nbsp;quotas)
                           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">MasterObserver</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">MasterObserver</a></code></span></div>
 <div class="block">Called before the quota for the namespace is stored.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetNamespaceQuota</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetNamespaceQuota</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>ctx</code> - the environment to interact with the framework and master</dd>
 <dd><code>namespace</code> - the name of the namespace</dd>
-<dd><code>quotas</code> - the quota settings</dd>
+<dd><code>quotas</code> - the current quota for the namespace</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>
@@ -4622,7 +4622,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <ul class="blockList">
 <li class="blockList">
 <h4>postCreateReplicationEndPoint</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationEndpoint.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationEndpoint</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessController.html#line.2617">postCreateReplicationEndPoint</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionServerCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionServerCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationEndpoint.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationEndpoint</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessController.html#line.2619">postCreateReplicationEndPoint</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionServerCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionServerCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                                          <a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationEndpoint.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationEndpoint</a>&nbsp;endpoint)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionServerObserver.html#postCreateReplicationEndPoint-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.replication.ReplicationEndpoint-">RegionServerObserver</a></code></span></div>
 <div class="block">This will be called after the replication endpoint is instantiated.</div>
@@ -4643,7 +4643,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <ul class="blockList">
 <li class="blockList">
 <h4>preReplicateLogEntries</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessController.html#line.2623">preReplicateLogEntries</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionServerCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionServerCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessController.html#line.2625">preReplicateLogEntries</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionServerCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionServerCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WALEntry&gt;&nbsp;entries,
                                    <a href="../../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a>&nbsp;cells)
                             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -4667,7 +4667,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <ul class="blockList">
 <li class="blockList">
 <h4>postReplicateLogEntries</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessController.html#line.2629">postReplicateLogEntries</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionServerCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionServerCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessController.html#line.2631">postReplicateLogEntries</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionServerCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionServerCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WALEntry&gt;&nbsp;entries,
                                     <a href="../../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a>&nbsp;cells)
                              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -4691,7 +4691,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <ul class="blockList">
 <li class="blockList">
 <h4>preClearCompactionQueues</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessController.html#line.2634">preClearCompactionQueues</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionServerCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionServerCoprocessorEnvironment</a>&gt;&nbsp;ctx)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessController.html#line.2636">preClearCompactionQueues</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionServerCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionServerCoprocessorEnvironment</a>&gt;&nbsp;ctx)
                               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionServerObserver.html#preClearCompactionQueues-org.apache.hadoop.hbase.coprocessor.ObserverContext-">RegionServerObserver</a></code></span></div>
 <div class="block">This will be called before clearing compaction queues</div>
@@ -4711,7 +4711,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <ul class="blockList">
 <li class="blockList">
 <h4>preMoveServersAndTables</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessController.html#line.2640">preMoveServersAndTables</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessController.html#line.2642">preMoveServersAndTables</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;servers,
                                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tables,
                                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;targetGroup)
@@ -4736,7 +4736,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <ul class="blockList">
 <li class="blockList">
 <h4>preMoveServers</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessController.html#line.2646">preMoveServers</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessController.html#line.2648">preMoveServers</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;servers,
                            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;targetGroup)
                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -4760,7 +4760,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <ul class="blockList">
 <li class="blockList">
 <h4>preMoveTables</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessController.html#line.2652">preMoveTables</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessController.html#line.2654">preMoveTables</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tables,
                           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;targetGroup)
                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -4784,7 +4784,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <ul class="blockList">
 <li class="blockList">
 <h4>preAddRSGroup</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessController.html#line.2658">preAddRSGroup</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessController.html#line.2660">preAddRSGroup</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">MasterObserver</a></code></span></div>
@@ -4806,7 +4806,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <ul class="blockList">
 <li class="blockList">
 <h4>preRemoveRSGroup</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessController.html#line.2664">preRemoveRSGroup</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessController.html#line.2666">preRemoveRSGroup</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">MasterObserver</a></code></span></div>
@@ -4828,7 +4828,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <ul class="blockList">
 <li class="blockList">
 <h4>preBalanceRSGroup</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessController.html#line.2670">preBalanceRSGroup</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessController.html#line.2672">preBalanceRSGroup</a>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;gro

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html b/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html
index badc626..e45fe50 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html
@@ -841,9 +841,9 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 </tr>
 <tr id="i51" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetNamespaceQuota</a></span>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetNamespaceQuota</a></span>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-                     org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+                     org.apache.hadoop.hbase.quotas.GlobalQuotaSettings&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr id="i52" class="altColor">
 <td class="colFirst"><code>void</code></td>
@@ -853,29 +853,29 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 </tr>
 <tr id="i53" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetTableQuota</a></span>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetTableQuota</a></span>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                  org.apache.hadoop.hbase.TableName&nbsp;tableName,
-                 org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+                 org.apache.hadoop.hbase.quotas.GlobalQuotaSettings&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr id="i54" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a></span>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a></span>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
-                org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+                org.apache.hadoop.hbase.quotas.GlobalQuotaSettings&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr id="i55" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a></span>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a></span>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-                org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+                org.apache.hadoop.hbase.quotas.GlobalQuotaSettings&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr id="i56" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a></span>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a></span>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                 org.apache.hadoop.hbase.TableName&nbsp;tableName,
-                org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+                org.apache.hadoop.hbase.quotas.GlobalQuotaSettings&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr id="i57" class="rowColor">
 <td class="colFirst"><code>void</code></td>
@@ -1256,9 +1256,9 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 </tr>
 <tr id="i132" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetNamespaceQuota</a></span>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetNamespaceQuota</a></span>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-                    org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+                    org.apache.hadoop.hbase.quotas.GlobalQuotaSettings&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr id="i133" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
@@ -1268,29 +1268,29 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 </tr>
 <tr id="i134" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetTableQuota</a></span>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetTableQuota</a></span>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                 org.apache.hadoop.hbase.TableName&nbsp;tableName,
-                org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+                org.apache.hadoop.hbase.quotas.GlobalQuotaSettings&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr id="i135" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a></span>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
-               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+               org.apache.hadoop.hbase.quotas.GlobalQuotaSettings&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr id="i136" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a></span>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+               org.apache.hadoop.hbase.quotas.GlobalQuotaSettings&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr id="i137" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a></span>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a></span>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                org.apache.hadoop.hbase.TableName&nbsp;tableName,
-               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)</code>&nbsp;</td>
+               org.apache.hadoop.hbase.quotas.GlobalQuotaSettings&nbsp;quotas)</code>&nbsp;</td>
 </tr>
 <tr id="i138" class="altColor">
 <td class="colFirst"><code>void</code></td>
@@ -4740,7 +4740,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 </dl>
 </li>
 </ul>
-<a name="preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
@@ -4748,7 +4748,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 <h4>preSetUserQuota</h4>
 <pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1261">preSetUserQuota</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
-                            org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+                            org.apache.hadoop.hbase.quotas.GlobalQuotaSettings&nbsp;quotas)
                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -4758,7 +4758,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 </dl>
 </li>
 </ul>
-<a name="postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
@@ -4766,7 +4766,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 <h4>postSetUserQuota</h4>
 <pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1266">postSetUserQuota</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
-                             org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+                             org.apache.hadoop.hbase.quotas.GlobalQuotaSettings&nbsp;quotas)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -4776,7 +4776,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 </dl>
 </li>
 </ul>
-<a name="preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
@@ -4785,7 +4785,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 <pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1271">preSetUserQuota</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                             org.apache.hadoop.hbase.TableName&nbsp;tableName,
-                            org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+                            org.apache.hadoop.hbase.quotas.GlobalQuotaSettings&nbsp;quotas)
                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -4795,16 +4795,16 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 </dl>
 </li>
 </ul>
-<a name="postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>postSetUserQuota</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1276">postSetUserQuota</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1277">postSetUserQuota</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                              org.apache.hadoop.hbase.TableName&nbsp;tableName,
-                             org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+                             org.apache.hadoop.hbase.quotas.GlobalQuotaSettings&nbsp;quotas)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -4814,16 +4814,16 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 </dl>
 </li>
 </ul>
-<a name="preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>preSetUserQuota</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1281">preSetUserQuota</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1283">preSetUserQuota</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-                            org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+                            org.apache.hadoop.hbase.quotas.GlobalQuotaSettings&nbsp;quotas)
                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -4833,16 +4833,16 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 </dl>
 </li>
 </ul>
-<a name="postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>postSetUserQuota</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1286">postSetUserQuota</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1289">postSetUserQuota</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-                             org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+                             org.apache.hadoop.hbase.quotas.GlobalQuotaSettings&nbsp;quotas)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -4852,15 +4852,15 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 </dl>
 </li>
 </ul>
-<a name="preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>preSetTableQuota</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1291">preSetTableQuota</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1295">preSetTableQuota</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                              org.apache.hadoop.hbase.TableName&nbsp;tableName,
-                             org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+                             org.apache.hadoop.hbase.quotas.GlobalQuotaSettings&nbsp;quotas)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -4870,15 +4870,15 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 </dl>
 </li>
 </ul>
-<a name="postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>postSetTableQuota</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1296">postSetTableQuota</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1300">postSetTableQuota</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                               org.apache.hadoop.hbase.TableName&nbsp;tableName,
-                              org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+                              org.apache.hadoop.hbase.quotas.GlobalQuotaSettings&nbsp;quotas)
                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -4888,15 +4888,15 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 </dl>
 </li>
 </ul>
-<a name="preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>preSetNamespaceQuota</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1301">preSetNamespaceQuota</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1305">preSetNamespaceQuota</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-                                 org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+                                 org.apache.hadoop.hbase.quotas.GlobalQuotaSettings&nbsp;quotas)
                           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -4906,15 +4906,15 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 </dl>
 </li>
 </ul>
-<a name="postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">
+<a name="postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>postSetNamespaceQuota</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1306">postSetNamespaceQuota</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1310">postSetNamespaceQuota</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                                   <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
-                                  org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas&nbsp;quotas)
+                                  org.apache.hadoop.hbase.quotas.GlobalQuotaSettings&nbsp;quotas)
                            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -4930,7 +4930,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>preMoveServersAndTables</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1311">preMoveServersAndTables</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1315">preMoveServersAndTables</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.hadoop.hbase.net.Address&gt;&nbsp;servers,
                                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.hadoop.hbase.TableName&gt;&nbsp;tables,
                                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;targetGroup)
@@ -4949,7 +4949,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>postMoveServersAndTables</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1316">postMoveServersAndTables</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1320">postMoveServersAndTables</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                                      <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.hadoop.hbase.net.Address&gt;&nbsp;servers,
                                      <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.hadoop.hbase.TableName&gt;&nbsp;tables,
                                      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;targetGroup)
@@ -4968,7 +4968,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>preMoveServers</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1321">preMoveServers</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1325">preMoveServers</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.hadoop.hbase.net.Address&gt;&nbsp;servers,
                            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;targetGroup)
                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -4986,7 +4986,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>postMoveServers</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1326">postMoveServers</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1330">postMoveServers</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.hadoop.hbase.net.Address&gt;&nbsp;servers,
                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;targetGroup)
                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -5004,7 +5004,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>preMoveTables</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1331">preMoveTables</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1335">preMoveTables</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.hadoop.hbase.TableName&gt;&nbsp;tables,
                           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;targetGroupGroup)
                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -5022,7 +5022,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>postMoveTables</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1336">postMoveTables</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1340">postMoveTables</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.hadoop.hbase.TableName&gt;&nbsp;tables,
                            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;targetGroup)
                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -5040,7 +5040,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>preAddRSGroup</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1341">preAddRSGroup</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1345">preAddRSGroup</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -5057,7 +5057,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>postAddRSGroup</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1346">postAddRSGroup</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1350">postAddRSGroup</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -5074,7 +5074,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>preRemoveRSGroup</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1351">preRemoveRSGroup</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1355">preRemoveRSGroup</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -5091,7 +5091,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>postRemoveRSGroup</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1356">postRemoveRSGroup</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1360">postRemoveRSGroup</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -5108,7 +5108,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>preBalanceRSGroup</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1361">preBalanceRSGroup</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1365">preBalanceRSGroup</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;groupName)
                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -5125,7 +5125,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>postBalanceRSGroup</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1366">postBalanceRSGroup</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1370">postBalanceRSGroup</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;groupName,
                                boolean&nbsp;balancerRan)
                         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -5143,7 +5143,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>preRequestLock</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1371">preRequestLock</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1375">preRequestLock</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                            org.apache.hadoop.hbase.TableName&nbsp;tableName,
                            org.apache.hadoop.hbase.client.RegionInfo[]&nbsp;regionInfos,
@@ -5164,7 +5164,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>postRequestLock</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1378">postRequestLock</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1382">postRequestLock</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                             org.apache.hadoop.hbase.TableName&nbsp;tableName,
                             org.apache.hadoop.hbase.client.RegionInfo[]&nbsp;regionInfos,
@@ -5185,7 +5185,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>preLockHeartbeat</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1385">preLockHeartbeat</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1389">preLockHeartbeat</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                              org.apache.hadoop.hbase.master.locking.LockProcedure&nbsp;proc,
                              boolean&nbsp;keepAlive)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -5203,7 +5203,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>postLockHeartbeat</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1391">postLockHeartbeat</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1395">postLockHeartbeat</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                               org.apache.hadoop.hbase.master.locking.LockProcedure&nbsp;proc,
                               boolean&nbsp;keepAlive)
                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -5221,7 +5221,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>preAndPostForQueueLockAndHeartbeatLockCalled</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1396">preAndPostForQueueLockAndHeartbeatLockCalled</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1400">preAndPostForQueueLockAndHeartbeatLockCalled</a>()</pre>
 </li>
 </ul>
 <a name="preSplitRegion-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">
@@ -5230,7 +5230,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>preSplitRegion</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1402">preSplitRegion</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;c,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1406">preSplitRegion</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;c,
                            org.apache.hadoop.hbase.TableName&nbsp;tableName,
                            byte[]&nbsp;splitRow)
                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -5248,7 +5248,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>preSplitRegionAction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1409">preSplitRegionAction</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;c,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1413">preSplitRegionAction</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;c,
                                  org.apache.hadoop.hbase.TableName&nbsp;tableName,
                                  byte[]&nbsp;splitRow)
                           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -5266,7 +5266,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>postCompletedSplitRegionAction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1416">postCompletedSplitRegionAction</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;c,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1420">postCompletedSplitRegionAction</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;c,
                                            org.apache.hadoop.hbase.client.RegionInfo&nbsp;regionInfoA,
                                            org.apache.hadoop.hbase.client.RegionInfo&nbsp;regionInfoB)
                                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -5284,7 +5284,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>preSplitRegionBeforePONRAction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1423">preSplitRegionBeforePONRAction</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1427">preSplitRegionBeforePONRAction</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                                            byte[]&nbsp;splitKey,
                                            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.client.Mutation&gt;&nbsp;metaEntries)
                                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -5302,7 +5302,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>preSplitRegionAfterPONRAction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1430">preSplitRegionAfterPONRAction</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1434">preSplitRegionAfterPONRAction</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx)
                                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -5318,7 +5318,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>postRollBackSplitRegionAction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1435">postRollBackSplitRegionAction</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1439">postRollBackSplitRegionAction</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx)
                                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -5334,7 +5334,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>preMergeRegionsAction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1440">preMergeRegionsAction</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1444">preMergeRegionsAction</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                                   org.apache.hadoop.hbase.client.RegionInfo[]&nbsp;regionsToMerge)
                            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -5351,7 +5351,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>postCompletedMergeRegionsAction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1446">postCompletedMergeRegionsAction</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;c,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1450">postCompletedMergeRegionsAction</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;c,
                                             org.apache.hadoop.hbase.client.RegionInfo[]&nbsp;regionsToMerge,
                                             org.apache.hadoop.hbase.client.RegionInfo&nbsp;mergedRegion)
                                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -5369,7 +5369,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>preMergeRegionsCommitAction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1453">preMergeRegionsCommitAction</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1457">preMergeRegionsCommitAction</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                                         org.apache.hadoop.hbase.client.RegionInfo[]&nbsp;regionsToMerge,
                                         <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.client.Mutation&gt;&nbsp;metaEntries)
                                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -5387,7 +5387,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>postMergeRegionsCommitAction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1460">postMergeRegionsCommitAction</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1464">postMergeRegionsCommitAction</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                                          org.apache.hadoop.hbase.client.RegionInfo[]&nbsp;regionsToMerge,
                                          org.apache.hadoop.hbase.client.RegionInfo&nbsp;mergedRegion)
                                   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -5405,7 +5405,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>postRollBackMergeRegionsAction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1467">postRollBackMergeRegionsAction</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html#line.1471">postRollBackMergeRegionsAction</a>(org.apache.hadoop.hbase.coprocessor.ObserverContext&lt;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment&gt;&nbsp;ctx,
                                            org.apache.hadoop.hbase.client.RegionInfo[]&nbsp;regionsToMerge)
                                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html b/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html
index 7208827..cbed73b 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html
@@ -336,7 +336,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>UTIL</h4>
-<pre>private static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1473">UTIL</a></pre>
+<pre>private static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1477">UTIL</a></pre>
 </li>
 </ul>
 <a name="TEST_SNAPSHOT">
@@ -345,7 +345,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>TEST_SNAPSHOT</h4>
-<pre>private static&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1474">TEST_SNAPSHOT</a></pre>
+<pre>private static&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1478">TEST_SNAPSHOT</a></pre>
 </li>
 </ul>
 <a name="TEST_CLONE">
@@ -354,7 +354,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>TEST_CLONE</h4>
-<pre>private static&nbsp;org.apache.hadoop.hbase.TableName <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1475">TEST_CLONE</a></pre>
+<pre>private static&nbsp;org.apache.hadoop.hbase.TableName <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1479">TEST_CLONE</a></pre>
 </li>
 </ul>
 <a name="TEST_FAMILY">
@@ -363,7 +363,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>TEST_FAMILY</h4>
-<pre>private static&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1476">TEST_FAMILY</a></pre>
+<pre>private static&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1480">TEST_FAMILY</a></pre>
 </li>
 </ul>
 <a name="TEST_FAMILY2">
@@ -372,7 +372,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>TEST_FAMILY2</h4>
-<pre>private static&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1477">TEST_FAMILY2</a></pre>
+<pre>private static&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1481">TEST_FAMILY2</a></pre>
 </li>
 </ul>
 <a name="name">
@@ -381,7 +381,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>name</h4>
-<pre>public&nbsp;org.junit.rules.TestName <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1478">name</a></pre>
+<pre>public&nbsp;org.junit.rules.TestName <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1482">name</a></pre>
 </li>
 </ul>
 </li>
@@ -415,7 +415,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setupBeforeClass</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1481">setupBeforeClass</a>()
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1485">setupBeforeClass</a>()
                              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -429,7 +429,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>tearDownAfterClass</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1490">tearDownAfterClass</a>()
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1494">tearDownAfterClass</a>()
                                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -443,7 +443,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testStarted</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1495">testStarted</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1499">testStarted</a>()
                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -457,7 +457,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testTableOperations</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1515">testTableOperations</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1519">testTableOperations</a>()
                          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -471,7 +471,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testSnapshotOperations</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1692">testSnapshotOperations</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1696">testSnapshotOperations</a>()
                             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -485,7 +485,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testNamespaceOperations</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1754">testNamespaceOperations</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1758">testNamespaceOperations</a>()
                              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -499,7 +499,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>modifyTableSync</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1845">modifyTableSync</a>(org.apache.hadoop.hbase.client.Admin&nbsp;admin,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1849">modifyTableSync</a>(org.apache.hadoop.hbase.client.Admin&nbsp;admin,
                              org.apache.hadoop.hbase.TableName&nbsp;tableName,
                              org.apache.hadoop.hbase.HTableDescriptor&nbsp;htd)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -515,7 +515,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testRegionTransitionOperations</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1859">testRegionTransitionOperations</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1863">testRegionTransitionOperations</a>()
                                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -529,7 +529,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testTableDescriptorsEnumeration</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1949">testTableDescriptorsEnumeration</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1953">testTableDescriptorsEnumeration</a>()
                                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -543,7 +543,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testTableNamesEnumeration</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1967">testTableNamesEnumeration</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1971">testTableNamesEnumeration</a>()
                                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -557,7 +557,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testAbortProcedureOperation</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1983">testAbortProcedureOperation</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1987">testAbortProcedureOperation</a>()
                                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -571,7 +571,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testGetProceduresOperation</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.1999">testGetProceduresOperation</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.2003">testGetProceduresOperation</a>()
                                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -585,7 +585,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testGetLocksOperation</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.2015">testGetLocksOperation</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.2019">testGetLocksOperation</a>()
                            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -599,7 +599,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteTable</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.2030">deleteTable</a>(org.apache.hadoop.hbase.client.Admin&nbsp;admin,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.2034">deleteTable</a>(org.apache.hadoop.hbase.client.Admin&nbsp;admin,
                          org.apache.hadoop.hbase.TableName&nbsp;tableName)
                   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
@@ -614,7 +614,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>testQueueLockAndLockHeartbeatOperations</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.2040">testQueueLockAndLockHeartbeatOperations</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html#line.2044">testQueueLockAndLockHeartbeatOperations</a>()
                                              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>

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

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


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html
index bddf8ca..d171636 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaSettings.html
@@ -25,111 +25,194 @@
 <span class="sourceLineNo">017</span> */<a name="line.17"></a>
 <span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.quotas;<a name="line.18"></a>
 <span class="sourceLineNo">019</span><a name="line.19"></a>
-<span class="sourceLineNo">020</span>import java.util.concurrent.TimeUnit;<a name="line.20"></a>
-<span class="sourceLineNo">021</span><a name="line.21"></a>
-<span class="sourceLineNo">022</span>import org.apache.hadoop.hbase.TableName;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.25"></a>
+<span class="sourceLineNo">020</span>import java.io.IOException;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import java.util.Objects;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.util.concurrent.TimeUnit;<a name="line.22"></a>
+<span class="sourceLineNo">023</span><a name="line.23"></a>
+<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.TableName;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.25"></a>
 <span class="sourceLineNo">026</span><a name="line.26"></a>
-<span class="sourceLineNo">027</span>@InterfaceAudience.Public<a name="line.27"></a>
-<span class="sourceLineNo">028</span>public abstract class QuotaSettings {<a name="line.28"></a>
-<span class="sourceLineNo">029</span>  private final String userName;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>  private final String namespace;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>  private final TableName tableName;<a name="line.31"></a>
-<span class="sourceLineNo">032</span><a name="line.32"></a>
-<span class="sourceLineNo">033</span>  protected QuotaSettings(final String userName, final TableName tableName,<a name="line.33"></a>
-<span class="sourceLineNo">034</span>      final String namespace) {<a name="line.34"></a>
-<span class="sourceLineNo">035</span>    this.userName = userName;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>    this.namespace = namespace;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>    this.tableName = tableName;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>  }<a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span>  public abstract QuotaType getQuotaType();<a name="line.40"></a>
-<span class="sourceLineNo">041</span><a name="line.41"></a>
-<span class="sourceLineNo">042</span>  public String getUserName() {<a name="line.42"></a>
-<span class="sourceLineNo">043</span>    return userName;<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>  public TableName getTableName() {<a name="line.46"></a>
-<span class="sourceLineNo">047</span>    return tableName;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>  }<a name="line.48"></a>
-<span class="sourceLineNo">049</span><a name="line.49"></a>
-<span class="sourceLineNo">050</span>  public String getNamespace() {<a name="line.50"></a>
-<span class="sourceLineNo">051</span>    return namespace;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>  }<a name="line.52"></a>
-<span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span>  /**<a name="line.54"></a>
-<span class="sourceLineNo">055</span>   * Convert a QuotaSettings to a protocol buffer SetQuotaRequest.<a name="line.55"></a>
-<span class="sourceLineNo">056</span>   * This is used internally by the Admin client to serialize the quota settings<a name="line.56"></a>
-<span class="sourceLineNo">057</span>   * and send them to the master.<a name="line.57"></a>
-<span class="sourceLineNo">058</span>   */<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  @InterfaceAudience.Private<a name="line.59"></a>
-<span class="sourceLineNo">060</span>  public static SetQuotaRequest buildSetQuotaRequestProto(final QuotaSettings settings) {<a name="line.60"></a>
-<span class="sourceLineNo">061</span>    SetQuotaRequest.Builder builder = SetQuotaRequest.newBuilder();<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    if (settings.getUserName() != null) {<a name="line.62"></a>
-<span class="sourceLineNo">063</span>      builder.setUserName(settings.getUserName());<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    }<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    if (settings.getTableName() != null) {<a name="line.65"></a>
-<span class="sourceLineNo">066</span>      builder.setTableName(ProtobufUtil.toProtoTableName(settings.getTableName()));<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    }<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    if (settings.getNamespace() != null) {<a name="line.68"></a>
-<span class="sourceLineNo">069</span>      builder.setNamespace(settings.getNamespace());<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    }<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    settings.setupSetQuotaRequest(builder);<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    return builder.build();<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  }<a name="line.73"></a>
-<span class="sourceLineNo">074</span><a name="line.74"></a>
-<span class="sourceLineNo">075</span>  /**<a name="line.75"></a>
-<span class="sourceLineNo">076</span>   * Called by toSetQuotaRequestProto()<a name="line.76"></a>
-<span class="sourceLineNo">077</span>   * the subclass should implement this method to set the specific SetQuotaRequest<a name="line.77"></a>
-<span class="sourceLineNo">078</span>   * properties.<a name="line.78"></a>
-<span class="sourceLineNo">079</span>   */<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  @InterfaceAudience.Private<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  protected abstract void setupSetQuotaRequest(SetQuotaRequest.Builder builder);<a name="line.81"></a>
-<span class="sourceLineNo">082</span><a name="line.82"></a>
-<span class="sourceLineNo">083</span>  protected String ownerToString() {<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    StringBuilder builder = new StringBuilder();<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    if (userName != null) {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      builder.append("USER =&gt; '");<a name="line.86"></a>
-<span class="sourceLineNo">087</span>      builder.append(userName);<a name="line.87"></a>
-<span class="sourceLineNo">088</span>      builder.append("', ");<a name="line.88"></a>
-<span class="sourceLineNo">089</span>    }<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    if (tableName != null) {<a name="line.90"></a>
-<span class="sourceLineNo">091</span>      builder.append("TABLE =&gt; '");<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      builder.append(tableName.toString());<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      builder.append("', ");<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    }<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    if (namespace != null) {<a name="line.95"></a>
-<span class="sourceLineNo">096</span>      builder.append("NAMESPACE =&gt; '");<a name="line.96"></a>
-<span class="sourceLineNo">097</span>      builder.append(namespace);<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      builder.append("', ");<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    }<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    return builder.toString();<a name="line.100"></a>
-<span class="sourceLineNo">101</span>  }<a name="line.101"></a>
-<span class="sourceLineNo">102</span><a name="line.102"></a>
-<span class="sourceLineNo">103</span>  protected static String sizeToString(final long size) {<a name="line.103"></a>
-<span class="sourceLineNo">104</span>    if (size &gt;= (1L &lt;&lt; 50)) return String.format("%dP", size / (1L &lt;&lt; 50));<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    if (size &gt;= (1L &lt;&lt; 40)) return String.format("%dT", size / (1L &lt;&lt; 40));<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    if (size &gt;= (1L &lt;&lt; 30)) return String.format("%dG", size / (1L &lt;&lt; 30));<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    if (size &gt;= (1L &lt;&lt; 20)) return String.format("%dM", size / (1L &lt;&lt; 20));<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    if (size &gt;= (1L &lt;&lt; 10)) return String.format("%dK", size / (1L &lt;&lt; 10));<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    return String.format("%dB", size);<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>  protected static String timeToString(final TimeUnit timeUnit) {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    switch (timeUnit) {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      case NANOSECONDS:  return "nsec";<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      case MICROSECONDS: return "usec";<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      case MILLISECONDS: return "msec";<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      case SECONDS:      return "sec";<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      case MINUTES:      return "min";<a name="line.118"></a>
-<span class="sourceLineNo">119</span>      case HOURS:        return "hour";<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      case DAYS:         return "day";<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    throw new RuntimeException("Invalid TimeUnit " + timeUnit);<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">027</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.quotas.QuotaSettingsFactory.QuotaGlobalsSettingsBypass;<a name="line.30"></a>
+<span class="sourceLineNo">031</span><a name="line.31"></a>
+<span class="sourceLineNo">032</span>@InterfaceAudience.Public<a name="line.32"></a>
+<span class="sourceLineNo">033</span>public abstract class QuotaSettings {<a name="line.33"></a>
+<span class="sourceLineNo">034</span>  private final String userName;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>  private final String namespace;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>  private final TableName tableName;<a name="line.36"></a>
+<span class="sourceLineNo">037</span><a name="line.37"></a>
+<span class="sourceLineNo">038</span>  protected QuotaSettings(final String userName, final TableName tableName,<a name="line.38"></a>
+<span class="sourceLineNo">039</span>      final String namespace) {<a name="line.39"></a>
+<span class="sourceLineNo">040</span>    this.userName = userName;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>    this.namespace = namespace;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>    this.tableName = tableName;<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>  public abstract QuotaType getQuotaType();<a name="line.45"></a>
+<span class="sourceLineNo">046</span><a name="line.46"></a>
+<span class="sourceLineNo">047</span>  public String getUserName() {<a name="line.47"></a>
+<span class="sourceLineNo">048</span>    return userName;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>  }<a name="line.49"></a>
+<span class="sourceLineNo">050</span><a name="line.50"></a>
+<span class="sourceLineNo">051</span>  public TableName getTableName() {<a name="line.51"></a>
+<span class="sourceLineNo">052</span>    return tableName;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>  }<a name="line.53"></a>
+<span class="sourceLineNo">054</span><a name="line.54"></a>
+<span class="sourceLineNo">055</span>  public String getNamespace() {<a name="line.55"></a>
+<span class="sourceLineNo">056</span>    return namespace;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  }<a name="line.57"></a>
+<span class="sourceLineNo">058</span><a name="line.58"></a>
+<span class="sourceLineNo">059</span>  /**<a name="line.59"></a>
+<span class="sourceLineNo">060</span>   * Converts the protocol buffer request into a QuotaSetting POJO. Arbitrarily<a name="line.60"></a>
+<span class="sourceLineNo">061</span>   * enforces that the request only contain one "limit", despite the message<a name="line.61"></a>
+<span class="sourceLineNo">062</span>   * allowing multiple. The public API does not allow such use of the message.<a name="line.62"></a>
+<span class="sourceLineNo">063</span>   *<a name="line.63"></a>
+<span class="sourceLineNo">064</span>   * @param request The protocol buffer request.<a name="line.64"></a>
+<span class="sourceLineNo">065</span>   * @return A {@link QuotaSettings} POJO.<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 static QuotaSettings buildFromProto(SetQuotaRequest request) {<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    String username = null;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    if (request.hasUserName()) {<a name="line.70"></a>
+<span class="sourceLineNo">071</span>      username = request.getUserName();<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    }<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    TableName tableName = null;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    if (request.hasTableName()) {<a name="line.74"></a>
+<span class="sourceLineNo">075</span>      tableName = ProtobufUtil.toTableName(request.getTableName());<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    }<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    String namespace = null;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    if (request.hasNamespace()) {<a name="line.78"></a>
+<span class="sourceLineNo">079</span>      namespace = request.getNamespace();<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    }<a name="line.80"></a>
+<span class="sourceLineNo">081</span>    if (request.hasBypassGlobals()) {<a name="line.81"></a>
+<span class="sourceLineNo">082</span>      // Make sure we don't have either of the two below limits also included<a name="line.82"></a>
+<span class="sourceLineNo">083</span>      if (request.hasSpaceLimit() || request.hasThrottle()) {<a name="line.83"></a>
+<span class="sourceLineNo">084</span>        throw new IllegalStateException(<a name="line.84"></a>
+<span class="sourceLineNo">085</span>            "SetQuotaRequest has multiple limits: " + TextFormat.shortDebugString(request));<a name="line.85"></a>
+<span class="sourceLineNo">086</span>      }<a name="line.86"></a>
+<span class="sourceLineNo">087</span>      return new QuotaGlobalsSettingsBypass(<a name="line.87"></a>
+<span class="sourceLineNo">088</span>          username, tableName, namespace, request.getBypassGlobals());<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    } else if (request.hasSpaceLimit()) {<a name="line.89"></a>
+<span class="sourceLineNo">090</span>      // Make sure we don't have the below limit as well<a name="line.90"></a>
+<span class="sourceLineNo">091</span>      if (request.hasThrottle()) {<a name="line.91"></a>
+<span class="sourceLineNo">092</span>        throw new IllegalStateException(<a name="line.92"></a>
+<span class="sourceLineNo">093</span>            "SetQuotaRequests has multiple limits: " + TextFormat.shortDebugString(request));<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      }<a name="line.94"></a>
+<span class="sourceLineNo">095</span>      // Sanity check on the pb received.<a name="line.95"></a>
+<span class="sourceLineNo">096</span>      if (!request.getSpaceLimit().hasQuota()) {<a name="line.96"></a>
+<span class="sourceLineNo">097</span>        throw new IllegalArgumentException(<a name="line.97"></a>
+<span class="sourceLineNo">098</span>            "SpaceLimitRequest is missing the expected SpaceQuota.");<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      }<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      return QuotaSettingsFactory.fromSpace(<a name="line.100"></a>
+<span class="sourceLineNo">101</span>          tableName, namespace, request.getSpaceLimit().getQuota());<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    } else if (request.hasThrottle()) {<a name="line.102"></a>
+<span class="sourceLineNo">103</span>      return new ThrottleSettings(username, tableName, namespace, request.getThrottle());<a name="line.103"></a>
+<span class="sourceLineNo">104</span>    } else {<a name="line.104"></a>
+<span class="sourceLineNo">105</span>      throw new IllegalStateException("Unhandled SetRequestRequest state");<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    }<a name="line.106"></a>
+<span class="sourceLineNo">107</span>  }<a name="line.107"></a>
+<span class="sourceLineNo">108</span><a name="line.108"></a>
+<span class="sourceLineNo">109</span>  /**<a name="line.109"></a>
+<span class="sourceLineNo">110</span>   * Convert a QuotaSettings to a protocol buffer SetQuotaRequest.<a name="line.110"></a>
+<span class="sourceLineNo">111</span>   * This is used internally by the Admin client to serialize the quota settings<a name="line.111"></a>
+<span class="sourceLineNo">112</span>   * and send them to the master.<a name="line.112"></a>
+<span class="sourceLineNo">113</span>   */<a name="line.113"></a>
+<span class="sourceLineNo">114</span>  @InterfaceAudience.Private<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  public static SetQuotaRequest buildSetQuotaRequestProto(final QuotaSettings settings) {<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    SetQuotaRequest.Builder builder = SetQuotaRequest.newBuilder();<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    if (settings.getUserName() != null) {<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      builder.setUserName(settings.getUserName());<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    }<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    if (settings.getTableName() != null) {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>      builder.setTableName(ProtobufUtil.toProtoTableName(settings.getTableName()));<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    }<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    if (settings.getNamespace() != null) {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>      builder.setNamespace(settings.getNamespace());<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    }<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    settings.setupSetQuotaRequest(builder);<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    return builder.build();<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>   * Called by toSetQuotaRequestProto()<a name="line.131"></a>
+<span class="sourceLineNo">132</span>   * the subclass should implement this method to set the specific SetQuotaRequest<a name="line.132"></a>
+<span class="sourceLineNo">133</span>   * properties.<a name="line.133"></a>
+<span class="sourceLineNo">134</span>   */<a name="line.134"></a>
+<span class="sourceLineNo">135</span>  @InterfaceAudience.Private<a name="line.135"></a>
+<span class="sourceLineNo">136</span>  protected abstract void setupSetQuotaRequest(SetQuotaRequest.Builder builder);<a name="line.136"></a>
+<span class="sourceLineNo">137</span><a name="line.137"></a>
+<span class="sourceLineNo">138</span>  protected String ownerToString() {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    StringBuilder builder = new StringBuilder();<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    if (userName != null) {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>      builder.append("USER =&gt; '");<a name="line.141"></a>
+<span class="sourceLineNo">142</span>      builder.append(userName);<a name="line.142"></a>
+<span class="sourceLineNo">143</span>      builder.append("', ");<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    }<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    if (tableName != null) {<a name="line.145"></a>
+<span class="sourceLineNo">146</span>      builder.append("TABLE =&gt; '");<a name="line.146"></a>
+<span class="sourceLineNo">147</span>      builder.append(tableName.toString());<a name="line.147"></a>
+<span class="sourceLineNo">148</span>      builder.append("', ");<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    }<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    if (namespace != null) {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      builder.append("NAMESPACE =&gt; '");<a name="line.151"></a>
+<span class="sourceLineNo">152</span>      builder.append(namespace);<a name="line.152"></a>
+<span class="sourceLineNo">153</span>      builder.append("', ");<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    }<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    return builder.toString();<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>  protected static String sizeToString(final long size) {<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    if (size &gt;= (1L &lt;&lt; 50)) return String.format("%dP", size / (1L &lt;&lt; 50));<a name="line.159"></a>
+<span class="sourceLineNo">160</span>    if (size &gt;= (1L &lt;&lt; 40)) return String.format("%dT", size / (1L &lt;&lt; 40));<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    if (size &gt;= (1L &lt;&lt; 30)) return String.format("%dG", size / (1L &lt;&lt; 30));<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    if (size &gt;= (1L &lt;&lt; 20)) return String.format("%dM", size / (1L &lt;&lt; 20));<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    if (size &gt;= (1L &lt;&lt; 10)) return String.format("%dK", size / (1L &lt;&lt; 10));<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    return String.format("%dB", size);<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>  protected static String timeToString(final TimeUnit timeUnit) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    switch (timeUnit) {<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      case NANOSECONDS:  return "nsec";<a name="line.169"></a>
+<span class="sourceLineNo">170</span>      case MICROSECONDS: return "usec";<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      case MILLISECONDS: return "msec";<a name="line.171"></a>
+<span class="sourceLineNo">172</span>      case SECONDS:      return "sec";<a name="line.172"></a>
+<span class="sourceLineNo">173</span>      case MINUTES:      return "min";<a name="line.173"></a>
+<span class="sourceLineNo">174</span>      case HOURS:        return "hour";<a name="line.174"></a>
+<span class="sourceLineNo">175</span>      case DAYS:         return "day";<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    }<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    throw new RuntimeException("Invalid TimeUnit " + timeUnit);<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>  /**<a name="line.180"></a>
+<span class="sourceLineNo">181</span>   * Merges the provided settings with {@code this} and returns a new settings<a name="line.181"></a>
+<span class="sourceLineNo">182</span>   * object to the caller if the merged settings differ from the original.<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   *<a name="line.183"></a>
+<span class="sourceLineNo">184</span>   * @param newSettings The new settings to merge in.<a name="line.184"></a>
+<span class="sourceLineNo">185</span>   * @return The merged {@link QuotaSettings} object or null if the quota should be deleted.<a name="line.185"></a>
+<span class="sourceLineNo">186</span>   */<a name="line.186"></a>
+<span class="sourceLineNo">187</span>  abstract QuotaSettings merge(QuotaSettings newSettings) throws IOException;<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>   * Validates that settings being merged into {@code this} is targeting the same "subject", e.g.<a name="line.190"></a>
+<span class="sourceLineNo">191</span>   * user, table, namespace.<a name="line.191"></a>
+<span class="sourceLineNo">192</span>   *<a name="line.192"></a>
+<span class="sourceLineNo">193</span>   * @param mergee The quota settings to be merged into {@code this}.<a name="line.193"></a>
+<span class="sourceLineNo">194</span>   * @throws IllegalArgumentException if the subjects are not equal.<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   */<a name="line.195"></a>
+<span class="sourceLineNo">196</span>  void validateQuotaTarget(QuotaSettings mergee) {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    if (!Objects.equals(getUserName(), mergee.getUserName())) {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>      throw new IllegalArgumentException("Mismatched user names on settings to merge");<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    }<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    if (!Objects.equals(getTableName(), mergee.getTableName())) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      throw new IllegalArgumentException("Mismatched table names on settings to merge");<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    }<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    if (!Objects.equals(getNamespace(), mergee.getNamespace())) {<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      throw new IllegalArgumentException("Mismatched namespace on settings to merge");<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>
 
 
 


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html b/devapidocs/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html
index b97945c..206f7c7 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":9,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":9};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":9,"i5":9,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -175,6 +175,11 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
                   long&nbsp;sizeLimit,
                   <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html" title="enum in org.apache.hadoop.hbase.quotas">SpaceViolationPolicy</a>&nbsp;violationPolicy)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#SpaceLimitSettings-org.apache.hadoop.hbase.TableName-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceLimitRequest-">SpaceLimitSettings</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+                  org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceLimitRequest&nbsp;req)</code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -199,43 +204,56 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>private org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceLimitRequest</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#buildProtoFromQuota-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota-">buildProtoFromQuota</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota&nbsp;protoQuota)</code>
+<div class="block">Build a <code>QuotaProtos.SpaceLimitRequest</code> protobuf object from the given <code>QuotaProtos.SpaceQuota</code>.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>private org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceLimitRequest</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#buildProtoRemoveQuota--">buildProtoRemoveQuota</a></span>()</code>
 <div class="block">Builds a <code>QuotaProtos.SpaceQuota</code> protobuf object to remove a quota.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#equals-java.lang.Object-">equals</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>(package private) static <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html" title="class in org.apache.hadoop.hbase.quotas">SpaceLimitSettings</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#fromSpaceQuota-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota-">fromSpaceQuota</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota&nbsp;proto)</code>
 <div class="block">Constructs a <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html" title="class in org.apache.hadoop.hbase.quotas"><code>SpaceLimitSettings</code></a> from the provided protobuf message and namespace.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>(package private) static <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html" title="class in org.apache.hadoop.hbase.quotas">SpaceLimitSettings</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#fromSpaceQuota-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota-">fromSpaceQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
               org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota&nbsp;proto)</code>
 <div class="block">Constructs a <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html" title="class in org.apache.hadoop.hbase.quotas"><code>SpaceLimitSettings</code></a> from the provided protobuf message and tablename.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>(package private) org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceLimitRequest</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#getProto--">getProto</a></span>()</code>
 <div class="block">Returns a copy of the internal state of <code>this</code></div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas">QuotaType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#getQuotaType--">getQuotaType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#merge-org.apache.hadoop.hbase.quotas.QuotaSettings-">merge</a></span>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;newSettings)</code>
+<div class="block">Merges the provided settings with <code>this</code> and returns a new settings
+ object to the caller if the merged settings differ from the original.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#setupSetQuotaRequest-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest.Builder-">setupSetQuotaRequest</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest.Builder&nbsp;builder)</code>
 <div class="block">Called by toSetQuotaRequestProto()
@@ -243,11 +261,11 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
  properties.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>(package private) static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#validateProtoArguments-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota-">validateProtoArguments</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota&nbsp;proto)</code>
 <div class="block">Validates that the provided protobuf SpaceQuota has the necessary information to construct
@@ -260,7 +278,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#buildSetQuotaRequestProto-org.apache.hadoop.hbase.quotas.QuotaSettings-">buildSetQuotaRequestProto</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#getNamespace--">getNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#getTableName--">getTableName</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#getUserName--">getUserName</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#ownerToString--">ownerToString</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#sizeToString-long-">sizeToString</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#timeToString-java.util.concurrent.TimeUnit-">timeToString</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#buildFromProto-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest-">buildFromProto</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#buildSetQuotaRequestProto-org.apache.hadoop.hbase.quotas.QuotaSettings-">buildSetQuotaRequestProto</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#getNamespace--">getNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#getTableName--">getTableName</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#getUserName--">getUserName</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#ownerToString--">ownerToString</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#sizeToString-long-">sizeToString</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#timeT
 oString-java.util.concurrent.TimeUnit-">timeToString</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#validateQuotaTarget-org.apache.hadoop.hbase.quotas.QuotaSettings-">validateQuotaTarget</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -335,13 +353,24 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
 <a name="SpaceLimitSettings-java.lang.String-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>SpaceLimitSettings</h4>
 <pre><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#line.66">SpaceLimitSettings</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</pre>
 <div class="block">Constructs a <code>SpaceLimitSettings</code> to remove a space quota on the given <code>namespace</code>.</div>
 </li>
 </ul>
+<a name="SpaceLimitSettings-org.apache.hadoop.hbase.TableName-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceLimitRequest-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SpaceLimitSettings</h4>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#line.71">SpaceLimitSettings</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                   <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+                   org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceLimitRequest&nbsp;req)</pre>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ============ METHOD DETAIL ========== -->
@@ -350,13 +379,29 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
 <!--   -->
 </a>
 <h3>Method Detail</h3>
+<a name="buildProtoFromQuota-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>buildProtoFromQuota</h4>
+<pre>private&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceLimitRequest&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#line.82">buildProtoFromQuota</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota&nbsp;protoQuota)</pre>
+<div class="block">Build a <code>QuotaProtos.SpaceLimitRequest</code> protobuf object from the given <code>QuotaProtos.SpaceQuota</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>protoQuota</code> - The preconstructed SpaceQuota protobuf</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A protobuf request to change a space limit quota</dd>
+</dl>
+</li>
+</ul>
 <a name="buildProtoAddQuota-long-org.apache.hadoop.hbase.quotas.SpaceViolationPolicy-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>buildProtoAddQuota</h4>
-<pre>private&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceLimitRequest&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#line.78">buildProtoAddQuota</a>(long&nbsp;sizeLimit,
+<pre>private&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceLimitRequest&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#line.93">buildProtoAddQuota</a>(long&nbsp;sizeLimit,
                                                                                                            <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html" title="enum in org.apache.hadoop.hbase.quotas">SpaceViolationPolicy</a>&nbsp;violationPolicy)</pre>
 <div class="block">Builds a <code>QuotaProtos.SpaceQuota</code> protobuf object given the arguments.</div>
 <dl>
@@ -374,7 +419,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>buildProtoRemoveQuota</h4>
-<pre>private&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceLimitRequest&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#line.93">buildProtoRemoveQuota</a>()</pre>
+<pre>private&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceLimitRequest&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#line.106">buildProtoRemoveQuota</a>()</pre>
 <div class="block">Builds a <code>QuotaProtos.SpaceQuota</code> protobuf object to remove a quota.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -388,7 +433,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>getProto</h4>
-<pre>org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceLimitRequest&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#line.104">getProto</a>()</pre>
+<pre>org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceLimitRequest&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#line.117">getProto</a>()</pre>
 <div class="block">Returns a copy of the internal state of <code>this</code></div>
 </li>
 </ul>
@@ -398,7 +443,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>getQuotaType</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas">QuotaType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#line.109">getQuotaType</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas">QuotaType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#line.122">getQuotaType</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#getQuotaType--">getQuotaType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></dd>
@@ -411,7 +456,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>setupSetQuotaRequest</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#line.114">setupSetQuotaRequest</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest.Builder&nbsp;builder)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#line.127">setupSetQuotaRequest</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest.Builder&nbsp;builder)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#setupSetQuotaRequest-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest.Builder-">QuotaSettings</a></code></span></div>
 <div class="block">Called by toSetQuotaRequestProto()
  the subclass should implement this method to set the specific SetQuotaRequest
@@ -428,7 +473,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>fromSpaceQuota</h4>
-<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html" title="class in org.apache.hadoop.hbase.quotas">SpaceLimitSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#line.126">fromSpaceQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html" title="class in org.apache.hadoop.hbase.quotas">SpaceLimitSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#line.139">fromSpaceQuota</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                          org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota&nbsp;proto)</pre>
 <div class="block">Constructs a <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html" title="class in org.apache.hadoop.hbase.quotas"><code>SpaceLimitSettings</code></a> from the provided protobuf message and tablename.</div>
 <dl>
@@ -446,7 +491,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>fromSpaceQuota</h4>
-<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html" title="class in org.apache.hadoop.hbase.quotas">SpaceLimitSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#line.140">fromSpaceQuota</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html" title="class in org.apache.hadoop.hbase.quotas">SpaceLimitSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#line.153">fromSpaceQuota</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                                          org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota&nbsp;proto)</pre>
 <div class="block">Constructs a <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html" title="class in org.apache.hadoop.hbase.quotas"><code>SpaceLimitSettings</code></a> from the provided protobuf message and namespace.</div>
 <dl>
@@ -464,7 +509,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>validateProtoArguments</h4>
-<pre>static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#line.153">validateProtoArguments</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota&nbsp;proto)</pre>
+<pre>static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#line.166">validateProtoArguments</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota&nbsp;proto)</pre>
 <div class="block">Validates that the provided protobuf SpaceQuota has the necessary information to construct
  a <a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html" title="class in org.apache.hadoop.hbase.quotas"><code>SpaceLimitSettings</code></a>.</div>
 <dl>
@@ -479,7 +524,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>hashCode</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#line.163">hashCode</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#line.176">hashCode</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -492,7 +537,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>equals</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#line.168">equals</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#line.181">equals</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -502,16 +547,36 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#line.183">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#line.196">toString</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
 </dl>
 </li>
 </ul>
+<a name="merge-org.apache.hadoop.hbase.quotas.QuotaSettings-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>merge</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html#line.215">merge</a>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;newSettings)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#merge-org.apache.hadoop.hbase.quotas.QuotaSettings-">QuotaSettings</a></code></span></div>
+<div class="block">Merges the provided settings with <code>this</code> and returns a new settings
+ object to the caller if the merged settings differ from the original.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#merge-org.apache.hadoop.hbase.quotas.QuotaSettings-">merge</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>newSettings</code> - The new settings to merge in.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The merged <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><code>QuotaSettings</code></a> object or null if the quota should be deleted.</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html b/devapidocs/org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html
index a579d1e..e274efc 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html
@@ -273,7 +273,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/SpaceViolationPolicy.html" title="enum in org.apache.hadoop.hbase.quotas">SpaceViolationPolicy</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html#line.28">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html" title="enum in org.apache.hadoop.hbase.quotas">SpaceViolationPolicy</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html#line.45">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:
@@ -293,7 +293,7 @@ for (SpaceViolationPolicy c : SpaceViolationPolicy.values())
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html" title="enum in org.apache.hadoop.hbase.quotas">SpaceViolationPolicy</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html#line.28">valueOf</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html" title="enum in org.apache.hadoop.hbase.quotas">SpaceViolationPolicy</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html#line.45">valueOf</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/quotas/ThrottleSettings.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/ThrottleSettings.html b/devapidocs/org/apache/hadoop/hbase/quotas/ThrottleSettings.html
index 6121418..a998437 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/ThrottleSettings.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/ThrottleSettings.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
+var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -116,7 +116,7 @@ var activeTableTab = "activeTableTab";
 <br>
 <pre>@InterfaceAudience.Private
  @InterfaceStability.Evolving
-class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottleSettings.html#line.31">ThrottleSettings</a>
+class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottleSettings.html#line.34">ThrottleSettings</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></pre>
 </li>
 </ul>
@@ -137,7 +137,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>private org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.ThrottleRequest</code></td>
+<td class="colFirst"><code>(package private) org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.ThrottleRequest</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleSettings.html#proto">proto</a></span></code>&nbsp;</td>
 </tr>
 </table>
@@ -200,6 +200,13 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleSettings.html#getTimeUnit--">getTimeUnit</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleSettings.html" title="class in org.apache.hadoop.hbase.quotas">ThrottleSettings</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleSettings.html#merge-org.apache.hadoop.hbase.quotas.QuotaSettings-">merge</a></span>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;other)</code>
+<div class="block">Merges the provided settings with <code>this</code> and returns a new settings
+ object to the caller if the merged settings differ from the original.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleSettings.html#setupSetQuotaRequest-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest.Builder-">setupSetQuotaRequest</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest.Builder&nbsp;builder)</code>
 <div class="block">Called by toSetQuotaRequestProto()
@@ -207,17 +214,21 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
  properties.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleSettings.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleSettings.html#validateTimedQuota-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.TimedQuota-">validateTimedQuota</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.TimedQuota&nbsp;timedQuota)</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.quotas.QuotaSettings">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#buildSetQuotaRequestProto-org.apache.hadoop.hbase.quotas.QuotaSettings-">buildSetQuotaRequestProto</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#getNamespace--">getNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#getTableName--">getTableName</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#getUserName--">getUserName</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#ownerToString--">ownerToString</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#sizeToString-long-">sizeToString</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#timeToString-java.util.concurrent.TimeUnit-">timeToString</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#buildFromProto-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest-">buildFromProto</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#buildSetQuotaRequestProto-org.apache.hadoop.hbase.quotas.QuotaSettings-">buildSetQuotaRequestProto</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#getNamespace--">getNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#getTableName--">getTableName</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#getUserName--">getUserName</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#ownerToString--">ownerToString</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#sizeToString-long-">sizeToString</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#timeT
 oString-java.util.concurrent.TimeUnit-">timeToString</a>, <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#validateQuotaTarget-org.apache.hadoop.hbase.quotas.QuotaSettings-">validateQuotaTarget</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -246,7 +257,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
 <ul class="blockListLast">
 <li class="blockList">
 <h4>proto</h4>
-<pre>private final&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.ThrottleRequest <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottleSettings.html#line.32">proto</a></pre>
+<pre>final&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.ThrottleRequest <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottleSettings.html#line.35">proto</a></pre>
 </li>
 </ul>
 </li>
@@ -263,7 +274,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ThrottleSettings</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottleSettings.html#line.34">ThrottleSettings</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottleSettings.html#line.37">ThrottleSettings</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                  <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                  org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.ThrottleRequest&nbsp;proto)</pre>
@@ -283,7 +294,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>getThrottleType</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottleType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottleSettings.html#line.40">getThrottleType</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottleType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottleSettings.html#line.43">getThrottleType</a>()</pre>
 </li>
 </ul>
 <a name="getSoftLimit--">
@@ -292,7 +303,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>getSoftLimit</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottleSettings.html#line.44">getSoftLimit</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottleSettings.html#line.47">getSoftLimit</a>()</pre>
 </li>
 </ul>
 <a name="getTimeUnit--">
@@ -301,7 +312,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>getTimeUnit</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottleSettings.html#line.48">getTimeUnit</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottleSettings.html#line.51">getTimeUnit</a>()</pre>
 </li>
 </ul>
 <a name="getQuotaType--">
@@ -310,7 +321,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>getQuotaType</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas">QuotaType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottleSettings.html#line.54">getQuotaType</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas">QuotaType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottleSettings.html#line.57">getQuotaType</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#getQuotaType--">getQuotaType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></dd>
@@ -323,7 +334,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>setupSetQuotaRequest</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottleSettings.html#line.59">setupSetQuotaRequest</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest.Builder&nbsp;builder)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottleSettings.html#line.62">setupSetQuotaRequest</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest.Builder&nbsp;builder)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#setupSetQuotaRequest-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest.Builder-">QuotaSettings</a></code></span></div>
 <div class="block">Called by toSetQuotaRequestProto()
  the subclass should implement this method to set the specific SetQuotaRequest
@@ -340,20 +351,57 @@ extends <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottleSettings.html#line.64">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottleSettings.html#line.67">toString</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
 </dl>
 </li>
 </ul>
+<a name="merge-org.apache.hadoop.hbase.quotas.QuotaSettings-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>merge</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleSettings.html" title="class in org.apache.hadoop.hbase.quotas">ThrottleSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottleSettings.html#line.106">merge</a>(<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>&nbsp;other)
+                          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#merge-org.apache.hadoop.hbase.quotas.QuotaSettings-">QuotaSettings</a></code></span></div>
+<div class="block">Merges the provided settings with <code>this</code> and returns a new settings
+ object to the caller if the merged settings differ from the original.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html#merge-org.apache.hadoop.hbase.quotas.QuotaSettings-">merge</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>other</code> - The new settings to merge in.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The merged <a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><code>QuotaSettings</code></a> object or null if the quota should be deleted.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="validateTimedQuota-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.TimedQuota-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>validateTimedQuota</h4>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottleSettings.html#line.140">validateTimedQuota</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.TimedQuota&nbsp;timedQuota)
+                         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
 <a name="fromTimedQuota-java.lang.String-org.apache.hadoop.hbase.TableName-java.lang.String-org.apache.hadoop.hbase.quotas.ThrottleType-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.TimedQuota-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>fromTimedQuota</h4>
-<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleSettings.html" title="class in org.apache.hadoop.hbase.quotas">ThrottleSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottleSettings.html#line.102">fromTimedQuota</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
+<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleSettings.html" title="class in org.apache.hadoop.hbase.quotas">ThrottleSettings</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottleSettings.html#line.147">fromTimedQuota</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
                                        <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                                        <a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottleType</a>&nbsp;type,


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/src-html/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html
index 38b0f89..f3ea369 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html
@@ -76,136 +76,179 @@
 <span class="sourceLineNo">068</span>    proto = buildProtoRemoveQuota();<a name="line.68"></a>
 <span class="sourceLineNo">069</span>  }<a name="line.69"></a>
 <span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span>  /**<a name="line.71"></a>
-<span class="sourceLineNo">072</span>   * Builds a {@link SpaceQuota} protobuf object given the arguments.<a name="line.72"></a>
-<span class="sourceLineNo">073</span>   *<a name="line.73"></a>
-<span class="sourceLineNo">074</span>   * @param sizeLimit The size limit of the quota.<a name="line.74"></a>
-<span class="sourceLineNo">075</span>   * @param violationPolicy The action to take when the quota is exceeded.<a name="line.75"></a>
-<span class="sourceLineNo">076</span>   * @return The protobuf SpaceQuota representation.<a name="line.76"></a>
-<span class="sourceLineNo">077</span>   */<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  private SpaceLimitRequest buildProtoAddQuota(<a name="line.78"></a>
-<span class="sourceLineNo">079</span>      long sizeLimit, SpaceViolationPolicy violationPolicy) {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    return SpaceLimitRequest.newBuilder().setQuota(<a name="line.80"></a>
-<span class="sourceLineNo">081</span>        SpaceQuota.newBuilder()<a name="line.81"></a>
-<span class="sourceLineNo">082</span>            .setSoftLimit(sizeLimit)<a name="line.82"></a>
-<span class="sourceLineNo">083</span>            .setViolationPolicy(ProtobufUtil.toProtoViolationPolicy(violationPolicy))<a name="line.83"></a>
-<span class="sourceLineNo">084</span>            .build())<a name="line.84"></a>
-<span class="sourceLineNo">085</span>        .build();<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  }<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>  /**<a name="line.88"></a>
-<span class="sourceLineNo">089</span>   * Builds a {@link SpaceQuota} protobuf object to remove a quota.<a name="line.89"></a>
-<span class="sourceLineNo">090</span>   *<a name="line.90"></a>
+<span class="sourceLineNo">071</span>  SpaceLimitSettings(TableName tableName, String namespace, SpaceLimitRequest req) {<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    super(null, tableName, namespace);<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    proto = req;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  }<a name="line.74"></a>
+<span class="sourceLineNo">075</span><a name="line.75"></a>
+<span class="sourceLineNo">076</span>  /**<a name="line.76"></a>
+<span class="sourceLineNo">077</span>   * Build a {@link SpaceLimitRequest} protobuf object from the given {@link SpaceQuota}.<a name="line.77"></a>
+<span class="sourceLineNo">078</span>   *<a name="line.78"></a>
+<span class="sourceLineNo">079</span>   * @param protoQuota The preconstructed SpaceQuota protobuf<a name="line.79"></a>
+<span class="sourceLineNo">080</span>   * @return A protobuf request to change a space limit quota<a name="line.80"></a>
+<span class="sourceLineNo">081</span>   */<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  private SpaceLimitRequest buildProtoFromQuota(SpaceQuota protoQuota) {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    return SpaceLimitRequest.newBuilder().setQuota(protoQuota).build();<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  }<a name="line.84"></a>
+<span class="sourceLineNo">085</span><a name="line.85"></a>
+<span class="sourceLineNo">086</span>  /**<a name="line.86"></a>
+<span class="sourceLineNo">087</span>   * Builds a {@link SpaceQuota} protobuf object given the arguments.<a name="line.87"></a>
+<span class="sourceLineNo">088</span>   *<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   * @param sizeLimit The size limit of the quota.<a name="line.89"></a>
+<span class="sourceLineNo">090</span>   * @param violationPolicy The action to take when the quota is exceeded.<a name="line.90"></a>
 <span class="sourceLineNo">091</span>   * @return The protobuf SpaceQuota representation.<a name="line.91"></a>
 <span class="sourceLineNo">092</span>   */<a name="line.92"></a>
-<span class="sourceLineNo">093</span>  private SpaceLimitRequest buildProtoRemoveQuota() {<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    return SpaceLimitRequest.newBuilder().setQuota(<a name="line.94"></a>
-<span class="sourceLineNo">095</span>        SpaceQuota.newBuilder()<a name="line.95"></a>
-<span class="sourceLineNo">096</span>            .setRemove(true)<a name="line.96"></a>
-<span class="sourceLineNo">097</span>            .build())<a name="line.97"></a>
-<span class="sourceLineNo">098</span>        .build();<a name="line.98"></a>
+<span class="sourceLineNo">093</span>  private SpaceLimitRequest buildProtoAddQuota(<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      long sizeLimit, SpaceViolationPolicy violationPolicy) {<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    return buildProtoFromQuota(SpaceQuota.newBuilder()<a name="line.95"></a>
+<span class="sourceLineNo">096</span>            .setSoftLimit(sizeLimit)<a name="line.96"></a>
+<span class="sourceLineNo">097</span>            .setViolationPolicy(ProtobufUtil.toProtoViolationPolicy(violationPolicy))<a name="line.97"></a>
+<span class="sourceLineNo">098</span>            .build());<a name="line.98"></a>
 <span class="sourceLineNo">099</span>  }<a name="line.99"></a>
 <span class="sourceLineNo">100</span><a name="line.100"></a>
 <span class="sourceLineNo">101</span>  /**<a name="line.101"></a>
-<span class="sourceLineNo">102</span>   * Returns a copy of the internal state of &lt;code&gt;this&lt;/code&gt;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>   */<a name="line.103"></a>
-<span class="sourceLineNo">104</span>  SpaceLimitRequest getProto() {<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    return proto.toBuilder().build();<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  }<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>  @Override<a name="line.108"></a>
-<span class="sourceLineNo">109</span>  public QuotaType getQuotaType() {<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    return QuotaType.SPACE;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  }<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>  @Override<a name="line.113"></a>
-<span class="sourceLineNo">114</span>  protected void setupSetQuotaRequest(Builder builder) {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    // TableName/Namespace are serialized in QuotaSettings<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    builder.setSpaceLimit(proto);<a name="line.116"></a>
-<span class="sourceLineNo">117</span>  }<a name="line.117"></a>
-<span class="sourceLineNo">118</span><a name="line.118"></a>
-<span class="sourceLineNo">119</span>  /**<a name="line.119"></a>
-<span class="sourceLineNo">120</span>   * Constructs a {@link SpaceLimitSettings} from the provided protobuf message and tablename.<a name="line.120"></a>
-<span class="sourceLineNo">121</span>   *<a name="line.121"></a>
-<span class="sourceLineNo">122</span>   * @param tableName The target tablename for the limit.<a name="line.122"></a>
-<span class="sourceLineNo">123</span>   * @param proto The protobuf representation.<a name="line.123"></a>
-<span class="sourceLineNo">124</span>   * @return A QuotaSettings.<a name="line.124"></a>
-<span class="sourceLineNo">125</span>   */<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  static SpaceLimitSettings fromSpaceQuota(<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      final TableName tableName, final QuotaProtos.SpaceQuota proto) {<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    validateProtoArguments(proto);<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    return new SpaceLimitSettings(tableName, proto.getSoftLimit(),<a name="line.129"></a>
-<span class="sourceLineNo">130</span>        ProtobufUtil.toViolationPolicy(proto.getViolationPolicy()));<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>   * Constructs a {@link SpaceLimitSettings} from the provided protobuf message and namespace.<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   *<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   * @param namespace The target namespace for the limit.<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   * @param proto The protobuf representation.<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   * @return A QuotaSettings.<a name="line.138"></a>
-<span class="sourceLineNo">139</span>   */<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  static SpaceLimitSettings fromSpaceQuota(<a name="line.140"></a>
-<span class="sourceLineNo">141</span>      final String namespace, final QuotaProtos.SpaceQuota proto) {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    validateProtoArguments(proto);<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    return new SpaceLimitSettings(namespace, proto.getSoftLimit(),<a name="line.143"></a>
-<span class="sourceLineNo">144</span>        ProtobufUtil.toViolationPolicy(proto.getViolationPolicy()));<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>  /**<a name="line.147"></a>
-<span class="sourceLineNo">148</span>   * Validates that the provided protobuf SpaceQuota has the necessary information to construct<a name="line.148"></a>
-<span class="sourceLineNo">149</span>   * a {@link SpaceLimitSettings}.<a name="line.149"></a>
-<span class="sourceLineNo">150</span>   *<a name="line.150"></a>
-<span class="sourceLineNo">151</span>   * @param proto The protobuf message to validate.<a name="line.151"></a>
+<span class="sourceLineNo">102</span>   * Builds a {@link SpaceQuota} protobuf object to remove a quota.<a name="line.102"></a>
+<span class="sourceLineNo">103</span>   *<a name="line.103"></a>
+<span class="sourceLineNo">104</span>   * @return The protobuf SpaceQuota representation.<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   */<a name="line.105"></a>
+<span class="sourceLineNo">106</span>  private SpaceLimitRequest buildProtoRemoveQuota() {<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    return SpaceLimitRequest.newBuilder().setQuota(<a name="line.107"></a>
+<span class="sourceLineNo">108</span>        SpaceQuota.newBuilder()<a name="line.108"></a>
+<span class="sourceLineNo">109</span>            .setRemove(true)<a name="line.109"></a>
+<span class="sourceLineNo">110</span>            .build())<a name="line.110"></a>
+<span class="sourceLineNo">111</span>        .build();<a name="line.111"></a>
+<span class="sourceLineNo">112</span>  }<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>  /**<a name="line.114"></a>
+<span class="sourceLineNo">115</span>   * Returns a copy of the internal state of &lt;code&gt;this&lt;/code&gt;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>   */<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  SpaceLimitRequest getProto() {<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    return proto.toBuilder().build();<a name="line.118"></a>
+<span class="sourceLineNo">119</span>  }<a name="line.119"></a>
+<span class="sourceLineNo">120</span><a name="line.120"></a>
+<span class="sourceLineNo">121</span>  @Override<a name="line.121"></a>
+<span class="sourceLineNo">122</span>  public QuotaType getQuotaType() {<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    return QuotaType.SPACE;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>  }<a name="line.124"></a>
+<span class="sourceLineNo">125</span><a name="line.125"></a>
+<span class="sourceLineNo">126</span>  @Override<a name="line.126"></a>
+<span class="sourceLineNo">127</span>  protected void setupSetQuotaRequest(Builder builder) {<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    // TableName/Namespace are serialized in QuotaSettings<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    builder.setSpaceLimit(proto);<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  }<a name="line.130"></a>
+<span class="sourceLineNo">131</span><a name="line.131"></a>
+<span class="sourceLineNo">132</span>  /**<a name="line.132"></a>
+<span class="sourceLineNo">133</span>   * Constructs a {@link SpaceLimitSettings} from the provided protobuf message and tablename.<a name="line.133"></a>
+<span class="sourceLineNo">134</span>   *<a name="line.134"></a>
+<span class="sourceLineNo">135</span>   * @param tableName The target tablename for the limit.<a name="line.135"></a>
+<span class="sourceLineNo">136</span>   * @param proto The protobuf representation.<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   * @return A QuotaSettings.<a name="line.137"></a>
+<span class="sourceLineNo">138</span>   */<a name="line.138"></a>
+<span class="sourceLineNo">139</span>  static SpaceLimitSettings fromSpaceQuota(<a name="line.139"></a>
+<span class="sourceLineNo">140</span>      final TableName tableName, final QuotaProtos.SpaceQuota proto) {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    validateProtoArguments(proto);<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    return new SpaceLimitSettings(tableName, proto.getSoftLimit(),<a name="line.142"></a>
+<span class="sourceLineNo">143</span>        ProtobufUtil.toViolationPolicy(proto.getViolationPolicy()));<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  }<a name="line.144"></a>
+<span class="sourceLineNo">145</span><a name="line.145"></a>
+<span class="sourceLineNo">146</span>  /**<a name="line.146"></a>
+<span class="sourceLineNo">147</span>   * Constructs a {@link SpaceLimitSettings} from the provided protobuf message and namespace.<a name="line.147"></a>
+<span class="sourceLineNo">148</span>   *<a name="line.148"></a>
+<span class="sourceLineNo">149</span>   * @param namespace The target namespace for the limit.<a name="line.149"></a>
+<span class="sourceLineNo">150</span>   * @param proto The protobuf representation.<a name="line.150"></a>
+<span class="sourceLineNo">151</span>   * @return A QuotaSettings.<a name="line.151"></a>
 <span class="sourceLineNo">152</span>   */<a name="line.152"></a>
-<span class="sourceLineNo">153</span>  static void validateProtoArguments(final QuotaProtos.SpaceQuota proto) {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    if (!Objects.requireNonNull(proto).hasSoftLimit()) {<a name="line.154"></a>
-<span class="sourceLineNo">155</span>      throw new IllegalArgumentException("Cannot handle SpaceQuota without a soft limit");<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    }<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    if (!proto.hasViolationPolicy()) {<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      throw new IllegalArgumentException("Cannot handle SpaceQuota without a violation policy");<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    }<a name="line.159"></a>
-<span class="sourceLineNo">160</span>  }<a name="line.160"></a>
-<span class="sourceLineNo">161</span><a name="line.161"></a>
-<span class="sourceLineNo">162</span>  @Override<a name="line.162"></a>
-<span class="sourceLineNo">163</span>  public int hashCode() {<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    return Objects.hash(getTableName(), getNamespace(), proto);<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>  public boolean equals(Object o) {<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    if (o == this) {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      return true;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    }<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    if (!(o instanceof SpaceLimitSettings)) {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      return false;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    }<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    // o is non-null and an instance of SpaceLimitSettings<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    SpaceLimitSettings other = (SpaceLimitSettings) o;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    return Objects.equals(getTableName(), other.getTableName()) &amp;&amp;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>        Objects.equals(getNamespace(), other.getNamespace()) &amp;&amp;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>        Objects.equals(proto, other.proto);<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>  public String toString() {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    StringBuilder sb = new StringBuilder();<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    sb.append("TYPE =&gt; SPACE");<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    if (getTableName() != null) {<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      sb.append(", TABLE =&gt; ").append(getTableName());<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    }<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    if (getNamespace() != null) {<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      sb.append(", NAMESPACE =&gt; ").append(getNamespace());<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    }<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    if (proto.getQuota().getRemove()) {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      sb.append(", REMOVE =&gt; ").append(proto.getQuota().getRemove());<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    } else {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>      sb.append(", LIMIT =&gt; ").append(proto.getQuota().getSoftLimit());<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      sb.append(", VIOLATION_POLICY =&gt; ").append(proto.getQuota().getViolationPolicy());<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    }<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    return sb.toString();<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">153</span>  static SpaceLimitSettings fromSpaceQuota(<a name="line.153"></a>
+<span class="sourceLineNo">154</span>      final String namespace, final QuotaProtos.SpaceQuota proto) {<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    validateProtoArguments(proto);<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    return new SpaceLimitSettings(namespace, proto.getSoftLimit(),<a name="line.156"></a>
+<span class="sourceLineNo">157</span>        ProtobufUtil.toViolationPolicy(proto.getViolationPolicy()));<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>   * Validates that the provided protobuf SpaceQuota has the necessary information to construct<a name="line.161"></a>
+<span class="sourceLineNo">162</span>   * a {@link SpaceLimitSettings}.<a name="line.162"></a>
+<span class="sourceLineNo">163</span>   *<a name="line.163"></a>
+<span class="sourceLineNo">164</span>   * @param proto The protobuf message to validate.<a name="line.164"></a>
+<span class="sourceLineNo">165</span>   */<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  static void validateProtoArguments(final QuotaProtos.SpaceQuota proto) {<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    if (!Objects.requireNonNull(proto).hasSoftLimit()) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      throw new IllegalArgumentException("Cannot handle SpaceQuota without a soft limit");<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    }<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    if (!proto.hasViolationPolicy()) {<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      throw new IllegalArgumentException("Cannot handle SpaceQuota without a violation policy");<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    }<a name="line.172"></a>
+<span class="sourceLineNo">173</span>  }<a name="line.173"></a>
+<span class="sourceLineNo">174</span><a name="line.174"></a>
+<span class="sourceLineNo">175</span>  @Override<a name="line.175"></a>
+<span class="sourceLineNo">176</span>  public int hashCode() {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    return Objects.hash(getTableName(), getNamespace(), proto);<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 equals(Object o) {<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    if (o == this) {<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>    if (!(o instanceof SpaceLimitSettings)) {<a name="line.185"></a>
+<span class="sourceLineNo">186</span>      return false;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    }<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    // o is non-null and an instance of SpaceLimitSettings<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    SpaceLimitSettings other = (SpaceLimitSettings) o;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    return Objects.equals(getTableName(), other.getTableName()) &amp;&amp;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>        Objects.equals(getNamespace(), other.getNamespace()) &amp;&amp;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>        Objects.equals(proto, other.proto);<a name="line.192"></a>
+<span class="sourceLineNo">193</span>  }<a name="line.193"></a>
+<span class="sourceLineNo">194</span><a name="line.194"></a>
+<span class="sourceLineNo">195</span>  @Override<a name="line.195"></a>
+<span class="sourceLineNo">196</span>  public String toString() {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    StringBuilder sb = new StringBuilder();<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    sb.append("TYPE =&gt; SPACE");<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    if (getTableName() != null) {<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      sb.append(", TABLE =&gt; ").append(getTableName());<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    }<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    if (getNamespace() != null) {<a name="line.202"></a>
+<span class="sourceLineNo">203</span>      sb.append(", NAMESPACE =&gt; ").append(getNamespace());<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    }<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    if (proto.getQuota().getRemove()) {<a name="line.205"></a>
+<span class="sourceLineNo">206</span>      sb.append(", REMOVE =&gt; ").append(proto.getQuota().getRemove());<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    } else {<a name="line.207"></a>
+<span class="sourceLineNo">208</span>      sb.append(", LIMIT =&gt; ").append(proto.getQuota().getSoftLimit());<a name="line.208"></a>
+<span class="sourceLineNo">209</span>      sb.append(", VIOLATION_POLICY =&gt; ").append(proto.getQuota().getViolationPolicy());<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    }<a name="line.210"></a>
+<span class="sourceLineNo">211</span>    return sb.toString();<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>  @Override<a name="line.214"></a>
+<span class="sourceLineNo">215</span>  protected QuotaSettings merge(QuotaSettings newSettings) {<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    if (newSettings instanceof SpaceLimitSettings) {<a name="line.216"></a>
+<span class="sourceLineNo">217</span>      SpaceLimitSettings settingsToMerge = (SpaceLimitSettings) newSettings;<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>      // The message contained the expect SpaceQuota object<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      if (settingsToMerge.proto.hasQuota()) {<a name="line.220"></a>
+<span class="sourceLineNo">221</span>        SpaceQuota quotaToMerge = settingsToMerge.proto.getQuota();<a name="line.221"></a>
+<span class="sourceLineNo">222</span>        if (quotaToMerge.getRemove()) {<a name="line.222"></a>
+<span class="sourceLineNo">223</span>          return settingsToMerge;<a name="line.223"></a>
+<span class="sourceLineNo">224</span>        } else {<a name="line.224"></a>
+<span class="sourceLineNo">225</span>          // Validate that the two settings are for the same target.<a name="line.225"></a>
+<span class="sourceLineNo">226</span>          // SpaceQuotas either apply to a table or a namespace (no user spacequota).<a name="line.226"></a>
+<span class="sourceLineNo">227</span>          if (!Objects.equals(getTableName(), settingsToMerge.getTableName())<a name="line.227"></a>
+<span class="sourceLineNo">228</span>              &amp;&amp; !Objects.equals(getNamespace(), settingsToMerge.getNamespace())) {<a name="line.228"></a>
+<span class="sourceLineNo">229</span>            throw new IllegalArgumentException("Cannot merge " + newSettings + " into " + this);<a name="line.229"></a>
+<span class="sourceLineNo">230</span>          }<a name="line.230"></a>
+<span class="sourceLineNo">231</span>          // Create a builder from the old settings<a name="line.231"></a>
+<span class="sourceLineNo">232</span>          SpaceQuota.Builder mergedBuilder = this.proto.getQuota().toBuilder();<a name="line.232"></a>
+<span class="sourceLineNo">233</span>          // Build a new SpaceQuotas object from merging in the new settings<a name="line.233"></a>
+<span class="sourceLineNo">234</span>          return new SpaceLimitSettings(<a name="line.234"></a>
+<span class="sourceLineNo">235</span>              getTableName(), getNamespace(),<a name="line.235"></a>
+<span class="sourceLineNo">236</span>              buildProtoFromQuota(mergedBuilder.mergeFrom(quotaToMerge).build()));<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>      // else, we don't know what to do, so return the original object<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    }<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    return this;<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>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/src-html/org/apache/hadoop/hbase/quotas/ThrottleSettings.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/ThrottleSettings.html b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/ThrottleSettings.html
index b9209d8..2fbb06f 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/ThrottleSettings.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/ThrottleSettings.html
@@ -25,97 +25,142 @@
 <span class="sourceLineNo">017</span> */<a name="line.17"></a>
 <span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.quotas;<a name="line.18"></a>
 <span class="sourceLineNo">019</span><a name="line.19"></a>
-<span class="sourceLineNo">020</span>import java.util.concurrent.TimeUnit;<a name="line.20"></a>
-<span class="sourceLineNo">021</span><a name="line.21"></a>
-<span class="sourceLineNo">022</span>import org.apache.hadoop.hbase.TableName;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import org.apache.yetus.audience.InterfaceStability;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos;<a name="line.27"></a>
-<span class="sourceLineNo">028</span><a name="line.28"></a>
-<span class="sourceLineNo">029</span>@InterfaceAudience.Private<a name="line.29"></a>
-<span class="sourceLineNo">030</span>@InterfaceStability.Evolving<a name="line.30"></a>
-<span class="sourceLineNo">031</span>class ThrottleSettings extends QuotaSettings {<a name="line.31"></a>
-<span class="sourceLineNo">032</span>  private final QuotaProtos.ThrottleRequest proto;<a name="line.32"></a>
-<span class="sourceLineNo">033</span><a name="line.33"></a>
-<span class="sourceLineNo">034</span>  ThrottleSettings(final String userName, final TableName tableName,<a name="line.34"></a>
-<span class="sourceLineNo">035</span>      final String namespace, final QuotaProtos.ThrottleRequest proto) {<a name="line.35"></a>
-<span class="sourceLineNo">036</span>    super(userName, tableName, namespace);<a name="line.36"></a>
-<span class="sourceLineNo">037</span>    this.proto = proto;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>  }<a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span>  public ThrottleType getThrottleType() {<a name="line.40"></a>
-<span class="sourceLineNo">041</span>    return ProtobufUtil.toThrottleType(proto.getType());<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>  public long getSoftLimit() {<a name="line.44"></a>
-<span class="sourceLineNo">045</span>    return proto.hasTimedQuota() ? proto.getTimedQuota().getSoftLimit() : -1;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>  }<a name="line.46"></a>
-<span class="sourceLineNo">047</span><a name="line.47"></a>
-<span class="sourceLineNo">048</span>  public TimeUnit getTimeUnit() {<a name="line.48"></a>
-<span class="sourceLineNo">049</span>    return proto.hasTimedQuota() ?<a name="line.49"></a>
-<span class="sourceLineNo">050</span>      ProtobufUtil.toTimeUnit(proto.getTimedQuota().getTimeUnit()) : null;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>  }<a name="line.51"></a>
-<span class="sourceLineNo">052</span><a name="line.52"></a>
-<span class="sourceLineNo">053</span>  @Override<a name="line.53"></a>
-<span class="sourceLineNo">054</span>  public QuotaType getQuotaType() {<a name="line.54"></a>
-<span class="sourceLineNo">055</span>    return QuotaType.THROTTLE;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  }<a name="line.56"></a>
-<span class="sourceLineNo">057</span><a name="line.57"></a>
-<span class="sourceLineNo">058</span>  @Override<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  protected void setupSetQuotaRequest(SetQuotaRequest.Builder builder) {<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    builder.setThrottle(proto);<a name="line.60"></a>
-<span class="sourceLineNo">061</span>  }<a name="line.61"></a>
-<span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>  @Override<a name="line.63"></a>
-<span class="sourceLineNo">064</span>  public String toString() {<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    StringBuilder builder = new StringBuilder();<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    builder.append("TYPE =&gt; THROTTLE");<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    if (proto.hasType()) {<a name="line.67"></a>
-<span class="sourceLineNo">068</span>      builder.append(", THROTTLE_TYPE =&gt; ");<a name="line.68"></a>
-<span class="sourceLineNo">069</span>      builder.append(proto.getType().toString());<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    }<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    if (proto.hasTimedQuota()) {<a name="line.71"></a>
-<span class="sourceLineNo">072</span>      QuotaProtos.TimedQuota timedQuota = proto.getTimedQuota();<a name="line.72"></a>
-<span class="sourceLineNo">073</span>      builder.append(", LIMIT =&gt; ");<a name="line.73"></a>
-<span class="sourceLineNo">074</span>      if (timedQuota.hasSoftLimit()) {<a name="line.74"></a>
-<span class="sourceLineNo">075</span>        switch (getThrottleType()) {<a name="line.75"></a>
-<span class="sourceLineNo">076</span>          case REQUEST_NUMBER:<a name="line.76"></a>
-<span class="sourceLineNo">077</span>          case WRITE_NUMBER:<a name="line.77"></a>
-<span class="sourceLineNo">078</span>          case READ_NUMBER:<a name="line.78"></a>
-<span class="sourceLineNo">079</span>            builder.append(String.format("%dreq", timedQuota.getSoftLimit()));<a name="line.79"></a>
-<span class="sourceLineNo">080</span>            break;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>          case REQUEST_SIZE:<a name="line.81"></a>
-<span class="sourceLineNo">082</span>          case WRITE_SIZE:<a name="line.82"></a>
-<span class="sourceLineNo">083</span>          case READ_SIZE:<a name="line.83"></a>
-<span class="sourceLineNo">084</span>            builder.append(sizeToString(timedQuota.getSoftLimit()));<a name="line.84"></a>
-<span class="sourceLineNo">085</span>            break;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>        }<a name="line.86"></a>
-<span class="sourceLineNo">087</span>      } else if (timedQuota.hasShare()) {<a name="line.87"></a>
-<span class="sourceLineNo">088</span>        builder.append(String.format("%.2f%%", timedQuota.getShare()));<a name="line.88"></a>
-<span class="sourceLineNo">089</span>      }<a name="line.89"></a>
-<span class="sourceLineNo">090</span>      builder.append('/');<a name="line.90"></a>
-<span class="sourceLineNo">091</span>      builder.append(timeToString(ProtobufUtil.toTimeUnit(timedQuota.getTimeUnit())));<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      if (timedQuota.hasScope()) {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>        builder.append(", SCOPE =&gt; ");<a name="line.93"></a>
-<span class="sourceLineNo">094</span>        builder.append(timedQuota.getScope().toString());<a name="line.94"></a>
-<span class="sourceLineNo">095</span>      }<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    } else {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>      builder.append(", LIMIT =&gt; NONE");<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    }<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    return builder.toString();<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  }<a name="line.100"></a>
-<span class="sourceLineNo">101</span><a name="line.101"></a>
-<span class="sourceLineNo">102</span>  static ThrottleSettings fromTimedQuota(final String userName,<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      final TableName tableName, final String namespace,<a name="line.103"></a>
-<span class="sourceLineNo">104</span>      ThrottleType type, QuotaProtos.TimedQuota timedQuota) {<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    QuotaProtos.ThrottleRequest.Builder builder = QuotaProtos.ThrottleRequest.newBuilder();<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    builder.setType(ProtobufUtil.toProtoThrottleType(type));<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    builder.setTimedQuota(timedQuota);<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    return new ThrottleSettings(userName, tableName, namespace, builder.build());<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">020</span>import java.io.IOException;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import java.util.concurrent.TimeUnit;<a name="line.21"></a>
+<span class="sourceLineNo">022</span><a name="line.22"></a>
+<span class="sourceLineNo">023</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.TableName;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.yetus.audience.InterfaceStability;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.TimedQuota;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos;<a name="line.30"></a>
+<span class="sourceLineNo">031</span><a name="line.31"></a>
+<span class="sourceLineNo">032</span>@InterfaceAudience.Private<a name="line.32"></a>
+<span class="sourceLineNo">033</span>@InterfaceStability.Evolving<a name="line.33"></a>
+<span class="sourceLineNo">034</span>class ThrottleSettings extends QuotaSettings {<a name="line.34"></a>
+<span class="sourceLineNo">035</span>  final QuotaProtos.ThrottleRequest proto;<a name="line.35"></a>
+<span class="sourceLineNo">036</span><a name="line.36"></a>
+<span class="sourceLineNo">037</span>  ThrottleSettings(final String userName, final TableName tableName,<a name="line.37"></a>
+<span class="sourceLineNo">038</span>      final String namespace, final QuotaProtos.ThrottleRequest proto) {<a name="line.38"></a>
+<span class="sourceLineNo">039</span>    super(userName, tableName, namespace);<a name="line.39"></a>
+<span class="sourceLineNo">040</span>    this.proto = proto;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>  }<a name="line.41"></a>
+<span class="sourceLineNo">042</span><a name="line.42"></a>
+<span class="sourceLineNo">043</span>  public ThrottleType getThrottleType() {<a name="line.43"></a>
+<span class="sourceLineNo">044</span>    return ProtobufUtil.toThrottleType(proto.getType());<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>  public long getSoftLimit() {<a name="line.47"></a>
+<span class="sourceLineNo">048</span>    return proto.hasTimedQuota() ? proto.getTimedQuota().getSoftLimit() : -1;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>  }<a name="line.49"></a>
+<span class="sourceLineNo">050</span><a name="line.50"></a>
+<span class="sourceLineNo">051</span>  public TimeUnit getTimeUnit() {<a name="line.51"></a>
+<span class="sourceLineNo">052</span>    return proto.hasTimedQuota() ?<a name="line.52"></a>
+<span class="sourceLineNo">053</span>      ProtobufUtil.toTimeUnit(proto.getTimedQuota().getTimeUnit()) : null;<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 QuotaType getQuotaType() {<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    return QuotaType.THROTTLE;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>  }<a name="line.59"></a>
+<span class="sourceLineNo">060</span><a name="line.60"></a>
+<span class="sourceLineNo">061</span>  @Override<a name="line.61"></a>
+<span class="sourceLineNo">062</span>  protected void setupSetQuotaRequest(SetQuotaRequest.Builder builder) {<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    builder.setThrottle(proto);<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>  @Override<a name="line.66"></a>
+<span class="sourceLineNo">067</span>  public String toString() {<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    StringBuilder builder = new StringBuilder();<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    builder.append("TYPE =&gt; THROTTLE");<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    if (proto.hasType()) {<a name="line.70"></a>
+<span class="sourceLineNo">071</span>      builder.append(", THROTTLE_TYPE =&gt; ");<a name="line.71"></a>
+<span class="sourceLineNo">072</span>      builder.append(proto.getType().toString());<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    }<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    if (proto.hasTimedQuota()) {<a name="line.74"></a>
+<span class="sourceLineNo">075</span>      QuotaProtos.TimedQuota timedQuota = proto.getTimedQuota();<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      builder.append(", LIMIT =&gt; ");<a name="line.76"></a>
+<span class="sourceLineNo">077</span>      if (timedQuota.hasSoftLimit()) {<a name="line.77"></a>
+<span class="sourceLineNo">078</span>        switch (getThrottleType()) {<a name="line.78"></a>
+<span class="sourceLineNo">079</span>          case REQUEST_NUMBER:<a name="line.79"></a>
+<span class="sourceLineNo">080</span>          case WRITE_NUMBER:<a name="line.80"></a>
+<span class="sourceLineNo">081</span>          case READ_NUMBER:<a name="line.81"></a>
+<span class="sourceLineNo">082</span>            builder.append(String.format("%dreq", timedQuota.getSoftLimit()));<a name="line.82"></a>
+<span class="sourceLineNo">083</span>            break;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>          case REQUEST_SIZE:<a name="line.84"></a>
+<span class="sourceLineNo">085</span>          case WRITE_SIZE:<a name="line.85"></a>
+<span class="sourceLineNo">086</span>          case READ_SIZE:<a name="line.86"></a>
+<span class="sourceLineNo">087</span>            builder.append(sizeToString(timedQuota.getSoftLimit()));<a name="line.87"></a>
+<span class="sourceLineNo">088</span>            break;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>        }<a name="line.89"></a>
+<span class="sourceLineNo">090</span>      } else if (timedQuota.hasShare()) {<a name="line.90"></a>
+<span class="sourceLineNo">091</span>        builder.append(String.format("%.2f%%", timedQuota.getShare()));<a name="line.91"></a>
+<span class="sourceLineNo">092</span>      }<a name="line.92"></a>
+<span class="sourceLineNo">093</span>      builder.append('/');<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      builder.append(timeToString(ProtobufUtil.toTimeUnit(timedQuota.getTimeUnit())));<a name="line.94"></a>
+<span class="sourceLineNo">095</span>      if (timedQuota.hasScope()) {<a name="line.95"></a>
+<span class="sourceLineNo">096</span>        builder.append(", SCOPE =&gt; ");<a name="line.96"></a>
+<span class="sourceLineNo">097</span>        builder.append(timedQuota.getScope().toString());<a name="line.97"></a>
+<span class="sourceLineNo">098</span>      }<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    } else {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      builder.append(", LIMIT =&gt; NONE");<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    }<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    return builder.toString();<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>  @Override<a name="line.105"></a>
+<span class="sourceLineNo">106</span>  protected ThrottleSettings merge(QuotaSettings other) throws IOException {<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    if (other instanceof ThrottleSettings) {<a name="line.107"></a>
+<span class="sourceLineNo">108</span>      ThrottleSettings otherThrottle = (ThrottleSettings) other;<a name="line.108"></a>
+<span class="sourceLineNo">109</span><a name="line.109"></a>
+<span class="sourceLineNo">110</span>      // Make sure this and the other target the same "subject"<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      validateQuotaTarget(other);<a name="line.111"></a>
+<span class="sourceLineNo">112</span><a name="line.112"></a>
+<span class="sourceLineNo">113</span>      QuotaProtos.ThrottleRequest.Builder builder = proto.toBuilder();<a name="line.113"></a>
+<span class="sourceLineNo">114</span>      if (!otherThrottle.proto.hasType()) {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>        return null;<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>      QuotaProtos.ThrottleRequest otherProto = otherThrottle.proto;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>      if (otherProto.hasTimedQuota()) {<a name="line.119"></a>
+<span class="sourceLineNo">120</span>        if (otherProto.hasTimedQuota()) {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>          validateTimedQuota(otherProto.getTimedQuota());<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>        if (!proto.getType().equals(otherProto.getType())) {<a name="line.124"></a>
+<span class="sourceLineNo">125</span>          throw new IllegalArgumentException(<a name="line.125"></a>
+<span class="sourceLineNo">126</span>              "Cannot merge a ThrottleRequest for " + proto.getType() + " with " +<a name="line.126"></a>
+<span class="sourceLineNo">127</span>                  otherProto.getType());<a name="line.127"></a>
+<span class="sourceLineNo">128</span>        }<a name="line.128"></a>
+<span class="sourceLineNo">129</span>        QuotaProtos.TimedQuota.Builder timedQuotaBuilder = proto.getTimedQuota().toBuilder();<a name="line.129"></a>
+<span class="sourceLineNo">130</span>        timedQuotaBuilder.mergeFrom(otherProto.getTimedQuota());<a name="line.130"></a>
+<span class="sourceLineNo">131</span><a name="line.131"></a>
+<span class="sourceLineNo">132</span>        QuotaProtos.ThrottleRequest mergedReq = builder.setTimedQuota(<a name="line.132"></a>
+<span class="sourceLineNo">133</span>            timedQuotaBuilder.build()).build();<a name="line.133"></a>
+<span class="sourceLineNo">134</span>        return new ThrottleSettings(getUserName(), getTableName(), getNamespace(), mergedReq);<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      }<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    }<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    return this;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>  }<a name="line.138"></a>
+<span class="sourceLineNo">139</span><a name="line.139"></a>
+<span class="sourceLineNo">140</span>  private void validateTimedQuota(final TimedQuota timedQuota) throws IOException {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    if (timedQuota.getSoftLimit() &lt; 1) {<a name="line.141"></a>
+<span class="sourceLineNo">142</span>      throw new DoNotRetryIOException(new UnsupportedOperationException(<a name="line.142"></a>
+<span class="sourceLineNo">143</span>          "The throttle limit must be greater then 0, got " + timedQuota.getSoftLimit()));<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    }<a name="line.144"></a>
+<span class="sourceLineNo">145</span>  }<a name="line.145"></a>
+<span class="sourceLineNo">146</span><a name="line.146"></a>
+<span class="sourceLineNo">147</span>  static ThrottleSettings fromTimedQuota(final String userName,<a name="line.147"></a>
+<span class="sourceLineNo">148</span>      final TableName tableName, final String namespace,<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      ThrottleType type, QuotaProtos.TimedQuota timedQuota) {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    QuotaProtos.ThrottleRequest.Builder builder = QuotaProtos.ThrottleRequest.newBuilder();<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    builder.setType(ProtobufUtil.toProtoThrottleType(type));<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    builder.setTimedQuota(timedQuota);<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    return new ThrottleSettings(userName, tableName, namespace, builder.build());<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>
 
 
 


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SizeSnapshotWithTimestamp.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SizeSnapshotWithTimestamp.html b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SizeSnapshotWithTimestamp.html
index bb753e1..77880ed 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SizeSnapshotWithTimestamp.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/MasterQuotaManager.SizeSnapshotWithTimestamp.html
@@ -51,603 +51,530 @@
 <span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.43"></a>
 <span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.44"></a>
 <span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceLimitRequest;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceQuota;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Throttle;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.ThrottleRequest;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.TimedQuota;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.52"></a>
-<span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.shaded.com.google.common.annotations.VisibleForTesting;<a name="line.54"></a>
-<span class="sourceLineNo">055</span><a name="line.55"></a>
-<span class="sourceLineNo">056</span>/**<a name="line.56"></a>
-<span class="sourceLineNo">057</span> * Master Quota Manager.<a name="line.57"></a>
-<span class="sourceLineNo">058</span> * It is responsible for initialize the quota table on the first-run and<a name="line.58"></a>
-<span class="sourceLineNo">059</span> * provide the admin operations to interact with the quota table.<a name="line.59"></a>
-<span class="sourceLineNo">060</span> *<a name="line.60"></a>
-<span class="sourceLineNo">061</span> * TODO: FUTURE: The master will be responsible to notify each RS of quota changes<a name="line.61"></a>
-<span class="sourceLineNo">062</span> * and it will do the "quota aggregation" when the QuotaScope is CLUSTER.<a name="line.62"></a>
-<span class="sourceLineNo">063</span> */<a name="line.63"></a>
-<span class="sourceLineNo">064</span>@InterfaceAudience.Private<a name="line.64"></a>
-<span class="sourceLineNo">065</span>@InterfaceStability.Evolving<a name="line.65"></a>
-<span class="sourceLineNo">066</span>public class MasterQuotaManager implements RegionStateListener {<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  private static final Log LOG = LogFactory.getLog(MasterQuotaManager.class);<a name="line.67"></a>
-<span class="sourceLineNo">068</span>  private static final Map&lt;HRegionInfo, Long&gt; EMPTY_MAP = Collections.unmodifiableMap(<a name="line.68"></a>
-<span class="sourceLineNo">069</span>      new HashMap&lt;&gt;());<a name="line.69"></a>
-<span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span>  private final MasterServices masterServices;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  private NamedLock&lt;String&gt; namespaceLocks;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  private NamedLock&lt;TableName&gt; tableLocks;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  private NamedLock&lt;String&gt; userLocks;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  private boolean initialized = false;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  private NamespaceAuditor namespaceQuotaManager;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  private ConcurrentHashMap&lt;HRegionInfo, SizeSnapshotWithTimestamp&gt; regionSizes;<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>  public MasterQuotaManager(final MasterServices masterServices) {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    this.masterServices = masterServices;<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>  public void start() throws IOException {<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    // If the user doesn't want the quota support skip all the initializations.<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    if (!QuotaUtil.isQuotaEnabled(masterServices.getConfiguration())) {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      LOG.info("Quota support disabled");<a name="line.86"></a>
-<span class="sourceLineNo">087</span>      return;<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>    // Create the quota table if missing<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    if (!MetaTableAccessor.tableExists(masterServices.getConnection(),<a name="line.91"></a>
-<span class="sourceLineNo">092</span>          QuotaUtil.QUOTA_TABLE_NAME)) {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      LOG.info("Quota table not found. Creating...");<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      createQuotaTable();<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>    LOG.info("Initializing quota support");<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    namespaceLocks = new NamedLock&lt;&gt;();<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    tableLocks = new NamedLock&lt;&gt;();<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    userLocks = new NamedLock&lt;&gt;();<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    regionSizes = new ConcurrentHashMap&lt;&gt;();<a name="line.101"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.46"></a>
+<span class="sourceLineNo">047</span><a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.shaded.com.google.common.annotations.VisibleForTesting;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat;<a name="line.49"></a>
+<span class="sourceLineNo">050</span><a name="line.50"></a>
+<span class="sourceLineNo">051</span>/**<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * Master Quota Manager.<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * It is responsible for initialize the quota table on the first-run and<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * provide the admin operations to interact with the quota table.<a name="line.54"></a>
+<span class="sourceLineNo">055</span> *<a name="line.55"></a>
+<span class="sourceLineNo">056</span> * TODO: FUTURE: The master will be responsible to notify each RS of quota changes<a name="line.56"></a>
+<span class="sourceLineNo">057</span> * and it will do the "quota aggregation" when the QuotaScope is CLUSTER.<a name="line.57"></a>
+<span class="sourceLineNo">058</span> */<a name="line.58"></a>
+<span class="sourceLineNo">059</span>@InterfaceAudience.Private<a name="line.59"></a>
+<span class="sourceLineNo">060</span>@InterfaceStability.Evolving<a name="line.60"></a>
+<span class="sourceLineNo">061</span>public class MasterQuotaManager implements RegionStateListener {<a name="line.61"></a>
+<span class="sourceLineNo">062</span>  private static final Log LOG = LogFactory.getLog(MasterQuotaManager.class);<a name="line.62"></a>
+<span class="sourceLineNo">063</span>  private static final Map&lt;HRegionInfo, Long&gt; EMPTY_MAP = Collections.unmodifiableMap(<a name="line.63"></a>
+<span class="sourceLineNo">064</span>      new HashMap&lt;&gt;());<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span>  private final MasterServices masterServices;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>  private NamedLock&lt;String&gt; namespaceLocks;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  private NamedLock&lt;TableName&gt; tableLocks;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  private NamedLock&lt;String&gt; userLocks;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>  private boolean initialized = false;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  private NamespaceAuditor namespaceQuotaManager;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>  private ConcurrentHashMap&lt;HRegionInfo, SizeSnapshotWithTimestamp&gt; regionSizes;<a name="line.72"></a>
+<span class="sourceLineNo">073</span><a name="line.73"></a>
+<span class="sourceLineNo">074</span>  public MasterQuotaManager(final MasterServices masterServices) {<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    this.masterServices = masterServices;<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>  public void start() throws IOException {<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    // If the user doesn't want the quota support skip all the initializations.<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    if (!QuotaUtil.isQuotaEnabled(masterServices.getConfiguration())) {<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      LOG.info("Quota support disabled");<a name="line.81"></a>
+<span class="sourceLineNo">082</span>      return;<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>    // Create the quota table if missing<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    if (!MetaTableAccessor.tableExists(masterServices.getConnection(),<a name="line.86"></a>
+<span class="sourceLineNo">087</span>          QuotaUtil.QUOTA_TABLE_NAME)) {<a name="line.87"></a>
+<span class="sourceLineNo">088</span>      LOG.info("Quota table not found. Creating...");<a name="line.88"></a>
+<span class="sourceLineNo">089</span>      createQuotaTable();<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>    LOG.info("Initializing quota support");<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    namespaceLocks = new NamedLock&lt;&gt;();<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    tableLocks = new NamedLock&lt;&gt;();<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    userLocks = new NamedLock&lt;&gt;();<a name="line.95"></a>
+<span class="sourceLineNo">096</span>    regionSizes = new ConcurrentHashMap&lt;&gt;();<a name="line.96"></a>
+<span class="sourceLineNo">097</span><a name="line.97"></a>
+<span class="sourceLineNo">098</span>    namespaceQuotaManager = new NamespaceAuditor(masterServices);<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    namespaceQuotaManager.start();<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    initialized = true;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  }<a name="line.101"></a>
 <span class="sourceLineNo">102</span><a name="line.102"></a>
-<span class="sourceLineNo">103</span>    namespaceQuotaManager = new NamespaceAuditor(masterServices);<a name="line.103"></a>
-<span class="sourceLineNo">104</span>    namespaceQuotaManager.start();<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    initialized = true;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  }<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>  public void stop() {<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 boolean isQuotaInitialized() {<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    return initialized &amp;&amp; namespaceQuotaManager.isInitialized();<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  }<a name="line.113"></a>
-<span class="sourceLineNo">114</span><a name="line.114"></a>
-<span class="sourceLineNo">115</span>  /* ==========================================================================<a name="line.115"></a>
-<span class="sourceLineNo">116</span>   *  Admin operations to manage the quota table<a name="line.116"></a>
-<span class="sourceLineNo">117</span>   */<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  public SetQuotaResponse setQuota(final SetQuotaRequest req)<a name="line.118"></a>
-<span class="sourceLineNo">119</span>      throws IOException, InterruptedException {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    checkQuotaSupport();<a name="line.120"></a>
-<span class="sourceLineNo">121</span><a name="line.121"></a>
-<span class="sourceLineNo">122</span>    if (req.hasUserName()) {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      userLocks.lock(req.getUserName());<a name="line.123"></a>
-<span class="sourceLineNo">124</span>      try {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>        if (req.hasTableName()) {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>          setUserQuota(req.getUserName(), ProtobufUtil.toTableName(req.getTableName()), req);<a name="line.126"></a>
-<span class="sourceLineNo">127</span>        } else if (req.hasNamespace()) {<a name="line.127"></a>
-<span class="sourceLineNo">128</span>          setUserQuota(req.getUserName(), req.getNamespace(), req);<a name="line.128"></a>
-<span class="sourceLineNo">129</span>        } else {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>          setUserQuota(req.getUserName(), req);<a name="line.130"></a>
-<span class="sourceLineNo">131</span>        }<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      } finally {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>        userLocks.unlock(req.getUserName());<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      }<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    } else if (req.hasTableName()) {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>      TableName table = ProtobufUtil.toTableName(req.getTableName());<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      tableLocks.lock(table);<a name="line.137"></a>
-<span class="sourceLineNo">138</span>      try {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>        setTableQuota(table, req);<a name="line.139"></a>
-<span class="sourceLineNo">140</span>      } finally {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>        tableLocks.unlock(table);<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      }<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    } else if (req.hasNamespace()) {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      namespaceLocks.lock(req.getNamespace());<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      try {<a name="line.145"></a>
-<span class="sourceLineNo">146</span>        setNamespaceQuota(req.getNamespace(), req);<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      } finally {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        namespaceLocks.unlock(req.getNamespace());<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      }<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    } else {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      throw new DoNotRetryIOException(<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        new UnsupportedOperationException("a user, a table or a namespace must be specified"));<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    }<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    return SetQuotaResponse.newBuilder().build();<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>  public void setUserQuota(final String userName, final SetQuotaRequest req)<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      throws IOException, InterruptedException {<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    setQuota(req, new SetQuotaOperations() {<a name="line.159"></a>
+<span class="sourceLineNo">103</span>  public void stop() {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>  }<a name="line.104"></a>
+<span class="sourceLineNo">105</span><a name="line.105"></a>
+<span class="sourceLineNo">106</span>  public boolean isQuotaInitialized() {<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    return initialized &amp;&amp; namespaceQuotaManager.isInitialized();<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>   *  Admin operations to manage the quota table<a name="line.111"></a>
+<span class="sourceLineNo">112</span>   */<a name="line.112"></a>
+<span class="sourceLineNo">113</span>  public SetQuotaResponse setQuota(final SetQuotaRequest req)<a name="line.113"></a>
+<span class="sourceLineNo">114</span>      throws IOException, InterruptedException {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    checkQuotaSupport();<a name="line.115"></a>
+<span class="sourceLineNo">116</span><a name="line.116"></a>
+<span class="sourceLineNo">117</span>    if (req.hasUserName()) {<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      userLocks.lock(req.getUserName());<a name="line.118"></a>
+<span class="sourceLineNo">119</span>      try {<a name="line.119"></a>
+<span class="sourceLineNo">120</span>        if (req.hasTableName()) {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>          setUserQuota(req.getUserName(), ProtobufUtil.toTableName(req.getTableName()), req);<a name="line.121"></a>
+<span class="sourceLineNo">122</span>        } else if (req.hasNamespace()) {<a name="line.122"></a>
+<span class="sourceLineNo">123</span>          setUserQuota(req.getUserName(), req.getNamespace(), req);<a name="line.123"></a>
+<span class="sourceLineNo">124</span>        } else {<a name="line.124"></a>
+<span class="sourceLineNo">125</span>          setUserQuota(req.getUserName(), req);<a name="line.125"></a>
+<span class="sourceLineNo">126</span>        }<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      } finally {<a name="line.127"></a>
+<span class="sourceLineNo">128</span>        userLocks.unlock(req.getUserName());<a name="line.128"></a>
+<span class="sourceLineNo">129</span>      }<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    } else if (req.hasTableName()) {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      TableName table = ProtobufUtil.toTableName(req.getTableName());<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      tableLocks.lock(table);<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      try {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>        setTableQuota(table, req);<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      } finally {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>        tableLocks.unlock(table);<a name="line.136"></a>
+<span class="sourceLineNo">137</span>      }<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    } else if (req.hasNamespace()) {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      namespaceLocks.lock(req.getNamespace());<a name="line.139"></a>
+<span class="sourceLineNo">140</span>      try {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>        setNamespaceQuota(req.getNamespace(), req);<a name="line.141"></a>
+<span class="sourceLineNo">142</span>      } finally {<a name="line.142"></a>
+<span class="sourceLineNo">143</span>        namespaceLocks.unlock(req.getNamespace());<a name="line.143"></a>
+<span class="sourceLineNo">144</span>      }<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    } else {<a name="line.145"></a>
+<span class="sourceLineNo">146</span>      throw new DoNotRetryIOException(<a name="line.146"></a>
+<span class="sourceLineNo">147</span>        new UnsupportedOperationException("a user, a table or a namespace must be specified"));<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    }<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    return SetQuotaResponse.newBuilder().build();<a name="line.149"></a>
+<span class="sourceLineNo">150</span>  }<a name="line.150"></a>
+<span class="sourceLineNo">151</span><a name="line.151"></a>
+<span class="sourceLineNo">152</span>  public void setUserQuota(final String userName, final SetQuotaRequest req)<a name="line.152"></a>
+<span class="sourceLineNo">153</span>      throws IOException, InterruptedException {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    setQuota(req, new SetQuotaOperations() {<a name="line.154"></a>
+<span class="sourceLineNo">155</span>      @Override<a name="line.155"></a>
+<span class="sourceLineNo">156</span>      public GlobalQuotaSettings fetch() throws IOException {<a name="line.156"></a>
+<span class="sourceLineNo">157</span>        return new GlobalQuotaSettings(req.getUserName(), null, null, QuotaUtil.getUserQuota(<a name="line.157"></a>
+<span class="sourceLineNo">158</span>            masterServices.getConnection(), userName));<a name="line.158"></a>
+<span class="sourceLineNo">159</span>      }<a name="line.159"></a>
 <span class="sourceLineNo">160</span>      @Override<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      public Quotas fetch() throws IOException {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>        return QuotaUtil.getUserQuota(masterServices.getConnection(), userName);<a name="line.162"></a>
+<span class="sourceLineNo">161</span>      public void update(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>        QuotaUtil.addUserQuota(masterServices.getConnection(), userName, quotaPojo.toQuotas());<a name="line.162"></a>
 <span class="sourceLineNo">163</span>      }<a name="line.163"></a>
 <span class="sourceLineNo">164</span>      @Override<a name="line.164"></a>
-<span class="sourceLineNo">165</span>      public void update(final Quotas quotas) throws IOException {<a name="line.165"></a>
-<span class="sourceLineNo">166</span>        QuotaUtil.addUserQuota(masterServices.getConnection(), userName, quotas);<a name="line.166"></a>
+<span class="sourceLineNo">165</span>      public void delete() throws IOException {<a name="line.165"></a>
+<span class="sourceLineNo">166</span>        QuotaUtil.deleteUserQuota(masterServices.getConnection(), userName);<a name="line.166"></a>
 <span class="sourceLineNo">167</span>      }<a name="line.167"></a>
 <span class="sourceLineNo">168</span>      @Override<a name="line.168"></a>
-<span class="sourceLineNo">169</span>      public void delete() throws IOException {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>        QuotaUtil.deleteUserQuota(masterServices.getConnection(), userName);<a name="line.170"></a>
+<span class="sourceLineNo">169</span>      public void preApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.169"></a>
+<span class="sourceLineNo">170</span>        masterServices.getMasterCoprocessorHost().preSetUserQuota(userName, quotaPojo);<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 preApply(final Quotas quotas) throws IOException {<a name="line.173"></a>
-<span class="sourceLineNo">174</span>        masterServices.getMasterCoprocessorHost().preSetUserQuota(userName, quotas);<a name="line.174"></a>
+<span class="sourceLineNo">173</span>      public void postApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        masterServices.getMasterCoprocessorHost().postSetUserQuota(userName, quotaPojo);<a name="line.174"></a>
 <span class="sourceLineNo">175</span>      }<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      @Override<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      public void postApply(final Quotas quotas) throws IOException {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>        masterServices.getMasterCoprocessorHost().postSetUserQuota(userName, quotas);<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    });<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  }<a name="line.181"></a>
-<span class="sourceLineNo">182</span><a name="line.182"></a>
-<span class="sourceLineNo">183</span>  public void setUserQuota(final String userName, final TableName table,<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      final SetQuotaRequest req) throws IOException, InterruptedException {<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    setQuota(req, new SetQuotaOperations() {<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      @Override<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      public Quotas fetch() throws IOException {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>        return QuotaUtil.getUserQuota(masterServices.getConnection(), userName, table);<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>      public void update(final Quotas quotas) throws IOException {<a name="line.191"></a>
-<span class="sourceLineNo">192</span>        QuotaUtil.addUserQuota(masterServices.getConnection(), userName, table, quotas);<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 void delete() throws IOException {<a name="line.195"></a>
-<span class="sourceLineNo">196</span>        QuotaUtil.deleteUserQuota(masterServices.getConnection(), userName, table);<a name="line.196"></a>
-<span class="sourceLineNo">197</span>      }<a name="line.197"></a>
-<span class="sourceLineNo">198</span>      @Override<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      public void preApply(final Quotas quotas) throws IOException {<a name="line.199"></a>
-<span class="sourceLineNo">200</span>        masterServices.getMasterCoprocessorHost().preSetUserQuota(userName, table, quotas);<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      }<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      @Override<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      public void postApply(final Quotas quotas) throws IOException {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>        masterServices.getMasterCoprocessorHost().postSetUserQuota(userName, table, quotas);<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>  public void setUserQuota(final String userName, final String namespace,<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      final SetQuotaRequest req) throws IOException, InterruptedException {<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    setQuota(req, new SetQuotaOperations() {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>      @Override<a name="line.212"></a>
-<span class="sourceLineNo">213</span>      public Quotas fetch() throws IOException {<a name="line.213"></a>
-<span class="sourceLineNo">214</span>        return QuotaUtil.getUserQuota(masterServices.getConnection(), userName, namespace);<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 update(final Quotas quotas) throws IOException {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>        QuotaUtil.addUserQuota(masterServices.getConnection(), userName, namespace, quotas);<a name="line.218"></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>  public void setUserQuota(final String userName, final TableName table,<a name="line.179"></a>
+<span class="sourceLineNo">180</span>      final SetQuotaRequest req) throws IOException, InterruptedException {<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    setQuota(req, new SetQuotaOperations() {<a name="line.181"></a>
+<span class="sourceLineNo">182</span>      @Override<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      public GlobalQuotaSettings fetch() throws IOException {<a name="line.183"></a>
+<span class="sourceLineNo">184</span>        return new GlobalQuotaSettings(userName, table, null, QuotaUtil.getUserQuota(<a name="line.184"></a>
+<span class="sourceLineNo">185</span>            masterServices.getConnection(), userName, table));<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>      public void update(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.188"></a>
+<span class="sourceLineNo">189</span>        QuotaUtil.addUserQuota(masterServices.getConnection(), userName, table,<a name="line.189"></a>
+<span class="sourceLineNo">190</span>            quotaPojo.toQuotas());<a name="line.190"></a>
+<span class="sourceLineNo">191</span>      }<a name="line.191"></a>
+<span class="sourceLineNo">192</span>      @Override<a name="line.192"></a>
+<span class="sourceLineNo">193</span>      public void delete() throws IOException {<a name="line.193"></a>
+<span class="sourceLineNo">194</span>        QuotaUtil.deleteUserQuota(masterServices.getConnection(), userName, table);<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 preApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>        masterServices.getMasterCoprocessorHost().preSetUserQuota(userName, table, quotaPojo);<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>      public void postApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.201"></a>
+<span class="sourceLineNo">202</span>        masterServices.getMasterCoprocessorHost().postSetUserQuota(userName, table, quotaPojo);<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><a name="line.206"></a>
+<span class="sourceLineNo">207</span>  public void setUserQuota(final String userName, final String namespace,<a name="line.207"></a>
+<span class="sourceLineNo">208</span>      final SetQuotaRequest req) throws IOException, InterruptedException {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    setQuota(req, new SetQuotaOperations() {<a name="line.209"></a>
+<span class="sourceLineNo">210</span>      @Override<a name="line.210"></a>
+<span class="sourceLineNo">211</span>      public GlobalQuotaSettings fetch() throws IOException {<a name="line.211"></a>
+<span class="sourceLineNo">212</span>        return new GlobalQuotaSettings(userName, null, namespace, QuotaUtil.getUserQuota(<a name="line.212"></a>
+<span class="sourceLineNo">213</span>            masterServices.getConnection(), userName, namespace));<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 update(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.216"></a>
+<span class="sourceLineNo">217</span>        QuotaUtil.addUserQuota(masterServices.getConnection(), userName, namespace,<a name="line.217"></a>
+<span class="sourceLineNo">218</span>            quotaPojo.toQuotas());<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 void delete() throws IOException {<a name="line.221"></a>
 <span class="sourceLineNo">222</span>        QuotaUtil.deleteUserQuota(masterServices.getConnection(), userName, namespace);<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 void preApply(final Quotas quotas) throws IOException {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>        masterServices.getMasterCoprocessorHost().preSetUserQuota(userName, namespace, quotas);<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 void postApply(final Quotas quotas) throws IOException {<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        masterServices.getMasterCoprocessorHost().postSetUserQuota(userName, namespace, quotas);<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>  public void setTableQuota(final TableName table, final SetQuotaRequest req)<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      throws IOException, InterruptedException {<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    setQuota(req, new SetQuotaOperations() {<a name="line.237"></a>
-<span class="sourceLineNo">238</span>      @Override<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      public Quotas fetch() throws IOException {<a name="line.239"></a>
-<span class="sourceLineNo">240</span>        return QuotaUtil.getTableQuota(masterServices.getConnection(), table);<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 update(final Quotas quotas) throws IOException {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>        QuotaUtil.addTableQuota(masterServices.getConnection(), table, quotas);<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 delete() throws IOException {<a name="line.247"></a>
-<span class="sourceLineNo">248</span>        QuotaUtil.deleteTableQuota(masterServices.getConnection(), table);<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 preApply(final Quotas quotas) throws IOException {<a name="line.251"></a>
-<span class="sourceLineNo">252</span>        masterServices.getMasterCoprocessorHost().preSetTableQuota(table, quotas);<a name="line.252"></a>
-<span class="sourceLineNo">253</span>      }<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      @Override<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      public void postApply(final Quotas quotas) throws IOException {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>        masterServices.getMasterCoprocessorHost().postSetTableQuota(table, quotas);<a name="line.256"></a>
-<span class="sourceLineNo">257</span>      }<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    });<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  }<a name="line.259"></a>
-<span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span>  public void setNamespaceQuota(final String namespace, final SetQuotaRequest req)<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      throws IOException, InterruptedException {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    setQuota(req, new SetQuotaOperations() {<a name="line.263"></a>
-<span class="sourceLineNo">264</span>      @Override<a name="line.264"></a>
-<span class="sourceLineNo">265</span>      public Quotas fetch() throws IOException {<a name="line.265"></a>
-<span class="sourceLineNo">266</span>        return QuotaUtil.getNamespaceQuota(masterServices.getConnection(), namespace);<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      }<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      @Override<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      public void update(final Quotas quotas) throws IOException {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>        QuotaUtil.addNamespaceQuota(masterServices.getConnection(), namespace, quotas);<a name="line.270"></a>
+<span class="sourceLineNo">225</span>      public void preApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.225"></a>
+<span class="sourceLineNo">226</span>        masterServices.getMasterCoprocessorHost().preSetUserQuota(<a name="line.226"></a>
+<span class="sourceLineNo">227</span>            userName, namespace, quotaPojo);<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 postApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>        masterServices.getMasterCoprocessorHost().postSetUserQuota(<a name="line.231"></a>
+<span class="sourceLineNo">232</span>            userName, namespace, quotaPojo);<a name="line.232"></a>
+<span class="sourceLineNo">233</span>      }<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    });<a name="line.234"></a>
+<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
+<span class="sourceLineNo">236</span><a name="line.236"></a>
+<span class="sourceLineNo">237</span>  public void setTableQuota(final TableName table, final SetQuotaRequest req)<a name="line.237"></a>
+<span class="sourceLineNo">238</span>      throws IOException, InterruptedException {<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    setQuota(req, new SetQuotaOperations() {<a name="line.239"></a>
+<span class="sourceLineNo">240</span>      @Override<a name="line.240"></a>
+<span class="sourceLineNo">241</span>      public GlobalQuotaSettings fetch() throws IOException {<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        return new GlobalQuotaSettings(null, table, null, QuotaUtil.getTableQuota(<a name="line.242"></a>
+<span class="sourceLineNo">243</span>            masterServices.getConnection(), table));<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 void update(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.246"></a>
+<span class="sourceLineNo">247</span>        QuotaUtil.addTableQuota(masterServices.getConnection(), table, quotaPojo.toQuotas());<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 delete() throws IOException {<a name="line.250"></a>
+<span class="sourceLineNo">251</span>        QuotaUtil.deleteTableQuota(masterServices.getConnection(), table);<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 preApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.254"></a>
+<span class="sourceLineNo">255</span>        masterServices.getMasterCoprocessorHost().preSetTableQuota(table, quotaPojo);<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 void postApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.258"></a>
+<span class="sourceLineNo">259</span>        masterServices.getMasterCoprocessorHost().postSetTableQuota(table, quotaPojo);<a name="line.259"></a>
+<span class="sourceLineNo">260</span>      }<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    });<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  }<a name="line.262"></a>
+<span class="sourceLineNo">263</span><a name="line.263"></a>
+<span class="sourceLineNo">264</span>  public void setNamespaceQuota(final String namespace, final SetQuotaRequest req)<a name="line.264"></a>
+<span class="sourceLineNo">265</span>      throws IOException, InterruptedException {<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    setQuota(req, new SetQuotaOperations() {<a name="line.266"></a>
+<span class="sourceLineNo">267</span>      @Override<a name="line.267"></a>
+<span class="sourceLineNo">268</span>      public GlobalQuotaSettings fetch() throws IOException {<a name="line.268"></a>
+<span class="sourceLineNo">269</span>        return new GlobalQuotaSettings(null, null, namespace, QuotaUtil.getNamespaceQuota(<a name="line.269"></a>
+<span class="sourceLineNo">270</span>                masterServices.getConnection(), namespace));<a name="line.270"></a>
 <span class="sourceLineNo">271</span>      }<a name="line.271"></a>
 <span class="sourceLineNo">272</span>      @Override<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      public void delete() throws IOException {<a name="line.273"></a>
-<span class="sourceLineNo">274</span>        QuotaUtil.deleteNamespaceQuota(masterServices.getConnection(), namespace);<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      }<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      @Override<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      public void preApply(final Quotas quotas) throws IOException {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>        masterServices.getMasterCoprocessorHost().preSetNamespaceQuota(namespace, quotas);<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      }<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      @Override<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      public void postApply(final Quotas quotas) throws IOException {<a name="line.281"></a>
-<span class="sourceLineNo">282</span>        masterServices.getMasterCoprocessorHost().postSetNamespaceQuota(namespace, quotas);<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      }<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    });<a name="line.284"></a>
-<span class="sourceLineNo">285</span>  }<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>  public void setNamespaceQuota(NamespaceDescriptor desc) throws IOException {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    if (initialized) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      this.namespaceQuotaManager.addNamespace(desc);<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>  public void removeNamespaceQuota(String namespace) throws IOException {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    if (initialized) {<a name="line.294"></a>
-<span class="sourceLineNo">295</span>      this.namespaceQuotaManager.deleteNamespace(namespace);<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>  private void setQuota(final SetQuotaRequest req, final SetQuotaOperations quotaOps)<a name="line.299"></a>
-<span class="sourceLineNo">300</span>      throws IOException, InterruptedException {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    if (req.hasRemoveAll() &amp;&amp; req.getRemoveAll() == true) {<a name="line.301"></a>
-<span class="sourceLineNo">302</span>      quotaOps.preApply(null);<a name="line.302"></a>
-<span class="sourceLineNo">303</span>      quotaOps.delete();<a name="line.303"></a>
-<span class="sourceLineNo">304</span>      quotaOps.postApply(null);<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      return;<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>    // Apply quota changes<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    Quotas quotas = quotaOps.fetch();<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    quotaOps.preApply(quotas);<a name="line.310"></a>
-<span class="sourceLineNo">311</span><a name="line.311"></a>
-<span class="sourceLineNo">312</span>    // Copy the user request into the Quotas object<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    Quotas.Builder builder = (quotas != null) ? quotas.toBuilder() : Quotas.newBuilder();<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    if (req.hasThrottle()) applyThrottle(builder, req.getThrottle());<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    if (req.hasBypassGlobals()) applyBypassGlobals(builder, req.getBypassGlobals());<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    if (req.hasSpaceLimit()) applySpaceLimit(builder, req.getSpaceLimit());<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>    // Submit new changes<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    quotas = builder.build();<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    if (QuotaUtil.isEmptyQuota(quotas)) {<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      quotaOps.delete();<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    } else {<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      quotaOps.update(quotas);<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    }<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    quotaOps.postApply(quotas);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>  }<a name="line.326"></a>
+<span class="sourceLineNo">273</span>      public void update(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.273"></a>
+<span class="sourceLineNo">274</span>        QuotaUtil.addNamespaceQuota(masterServices.getConnection(), namespace,<a name="line.274"></a>
+<span class="sourceLineNo">275</span>            ((GlobalQuotaSettings) quotaPojo).toQuotas());<a name="line.275"></a>
+<span class="sourceLineNo">276</span>      }<a name="line.276"></a>
+<span class="sourceLineNo">277</span>      @Override<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      public void delete() throws IOException {<a name="line.278"></a>
+<span class="sourceLineNo">279</span>        QuotaUtil.deleteNamespaceQuota(masterServices.getConnection(), namespace);<a name="line.279"></a>
+<span class="sourceLineNo">280</span>      }<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      @Override<a name="line.281"></a>
+<span class="sourceLineNo">282</span>      public void preApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.282"></a>
+<span class="sourceLineNo">283</span>        masterServices.getMasterCoprocessorHost().preSetNamespaceQuota(namespace, quotaPojo);<a name="line.283"></a>
+<span class="sourceLineNo">284</span>      }<a name="line.284"></a>
+<span class="sourceLineNo">285</span>      @Override<a name="line.285"></a>
+<span class="sourceLineNo">286</span>      public void postApply(GlobalQuotaSettings quotaPojo) throws IOException {<a name="line.286"></a>
+<span class="sourceLineNo">287</span>        masterServices.getMasterCoprocessorHost().postSetNamespaceQuota(namespace, quotaPojo);<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><a name="line.291"></a>
+<span class="sourceLineNo">292</span>  public void setNamespaceQuota(NamespaceDescriptor desc) throws IOException {<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    if (initialized) {<a name="line.293"></a>
+<span class="sourceLineNo">294</span>      this.namespaceQuotaManager.addNamespace(desc);<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>  public void removeNamespaceQuota(String namespace) throws IOException {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    if (initialized) {<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      this.namespaceQuotaManager.deleteNamespace(namespace);<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    }<a name="line.301"></a>
+<span class="sourceLineNo">302</span>  }<a name="line.302"></a>
+<span class="sourceLineNo">303</span><a name="line.303"></a>
+<span class="sourceLineNo">304</span>  private void setQuota(final SetQuotaRequest req, final SetQuotaOperations quotaOps)<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      throws IOException, InterruptedException {<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    if (req.hasRemoveAll() &amp;&amp; req.getRemoveAll() == true) {<a name="line.306"></a>
+<span class="sourceLineNo">307</span>      quotaOps.preApply(null);<a name="line.307"></a>
+<span class="sourceLineNo">308</span>      quotaOps.delete();<a name="line.308"></a>
+<span class="sourceLineNo">309</span>      quotaOps.postApply(null);<a name="line.309"></a>
+<span class="sourceLineNo">310</span>      return;<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>    // Apply quota changes<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    GlobalQuotaSettings currentQuota = quotaOps.fetch();<a name="line.314"></a>
+<span class="sourceLineNo">315</span>    if (LOG.isTraceEnabled()) {<a name="line.315"></a>
+<span class="sourceLineNo">316</span>      LOG.trace(<a name="line.316"></a>
+<span class="sourceLineNo">317</span>          "Current quota for request(" + TextFormat.shortDebugString(req)<a name="line.317"></a>
+<span class="sourceLineNo">318</span>              + "): " + currentQuota);<a name="line.318"></a>
+<span class="sourceLineNo">319</span>    }<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    // Call the appropriate "pre" CP hook with the current quota value (may be null)<a name="line.320"></a>
+<span class="sourceLineNo">321</span>    quotaOps.preApply(currentQuota);<a name="line.321"></a>
+<span class="sourceLineNo">322</span>    // Translate the protobuf request back into a POJO<a name="line.322"></a>
+<span class="sourceLineNo">323</span>    QuotaSettings newQuota = QuotaSettings.buildFromProto(req);<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    if (LOG.isTraceEnabled()) {<a name="line.324"></a>
+<span class="sourceLineNo">325</span>      LOG.trace("Deserialized quota from request: " + newQuota);<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 checkNamespaceTableAndRegionQuota(TableName tName, int regions) throws IOException {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    if (initialized) {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      namespaceQuotaManager.checkQuotaToCreateTable(tName, regions);<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    }<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  }<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>  public void checkAndUpdateNamespaceRegionQuota(TableName tName, int regions) throws IOException {<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    if (initialized) {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      namespaceQuotaManager.checkQuotaToUpdateRegion(tName, regions);<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    }<a name="line.337"></a>
-<span class="sourceLineNo">338</span>  }<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>  /**<a name="line.340"></a>
-<span class="sourceLineNo">341</span>   * @return cached region count, or -1 if quota manager is disabled or table status not found<a name="line.341"></a>
-<span class="sourceLineNo">342</span>  */<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  public int getRegionCountOfTable(TableName tName) throws IOException {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    if (initialized) {<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      return namespaceQuotaManager.getRegionCountOfTable(tName);<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    }<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return -1;<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  public void onRegionMerged(HRegionInfo mergedRegion) throws IOException {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    if (initialized) {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      namespaceQuotaManager.updateQuotaForRegionMerge(mergedRegion);<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>  @Override<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  public void onRegionSplit(HRegionInfo hri) throws IOException {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    if (initialized) {<a name="line.359"></a>
-<span class="sourceLineNo">360</span>      namespaceQuotaManager.checkQuotaToSplitRegion(hri);<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 table from namespace quota.<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   *<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * @param tName - The table name to update quota usage.<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * @throws IOException Signals that an I/O exception has occurred.<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   */<a name="line.369"></a>
-<span class="sourceLineNo">370</span>  public void removeTableFromNamespaceQuota(TableName tName) throws IOException {<a name="line.370"></a>
+<span class="sourceLineNo">328</span>    // Merge the current quota settings with the new quota settings the user provided.<a name="line.328"></a>
+<span class="sourceLineNo">329</span>    //<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    // NB: while SetQuotaRequest technically allows for multi types of quotas to be set in one<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    // message, the Java API (in Admin/AsyncAdmin) does not. Assume there is only one type.<a name="line.331"></a>
+<span class="sourceLineNo">332</span>    GlobalQuotaSettings mergedQuota = currentQuota.merge(newQuota);<a name="line.332"></a>
+<span class="sourceLineNo">333</span>    if (LOG.isTraceEnabled()) {<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      LOG.trace("Computed merged quota from current quota and user request: " + mergedQuota);<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>    // Submit new changes<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    if (mergedQuota == null) {<a name="line.338"></a>
+<span class="sourceLineNo">339</span>      quotaOps.delete();<a name="line.339"></a>
+<span class="sourceLineNo">340</span>    } else {<a name="line.340"></a>
+<span class="sourceLineNo">341</span>      quotaOps.update(mergedQuota);<a name="line.341"></a>
+<span class="sourceLineNo">342</span>    }<a name="line.342"></a>
+<span class="sourceLineNo">343</span>    // Advertise the final result via the "post" CP hook<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    quotaOps.postApply(mergedQuota);<a name="line.344"></a>
+<span class="sourceLineNo">345</span>  }<a name="line.345"></a>
+<span class="sourceLineNo">346</span><a name="line.346"></a>
+<span class="sourceLineNo">347</span>  public void checkNamespaceTableAndRegionQuota(TableName tName, int regions) throws IOException {<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    if (initialized) {<a name="line.348"></a>
+<span class="sourceLineNo">349</span>      namespaceQuotaManager.checkQuotaToCreateTable(tName, regions);<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>  public void checkAndUpdateNamespaceRegionQuota(TableName tName, int regions) throws IOException {<a name="line.353"></a>
+<span class="sourceLineNo">354</span>    if (initialized) {<a name="line.354"></a>
+<span class="sourceLineNo">355</span>      namespaceQuotaManager.checkQuotaToUpdateRegion(tName, regions);<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>   * @return cached region count, or -1 if quota manager is disabled or table status not found<a name="line.360"></a>
+<span class="sourceLineNo">361</span>  */<a name="line.361"></a>
+<span class="sourceLineNo">362</span>  public int getRegionCountOfTable(TableName tName) throws IOException {<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    if (initialized) {<a name="line.363"></a>
+<span class="sourceLineNo">364</span>      return namespaceQuotaManager.getRegionCountOfTable(tName);<a name="line.364"></a>
+<span class="sourceLineNo">365</span>    }<a name="line.365"></a>
+<span class="sourceLineNo">366</span>    return -1;<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>  @Override<a name="line.369"></a>
+<span class="sourceLineNo">370</span>  public void onRegionMerged(HRegionInfo mergedRegion) throws IOException {<a name="line.370"></a>
 <span class="sourceLineNo">371</span>    if (initialized) {<a name="line.371"></a>
-<span class="sourceLineNo">372</span>      namespaceQuotaManager.removeFromNamespaceUsage(tName);<a name="line.372"></a>
+<span class="sourceLineNo">372</span>      namespaceQuotaManager.updateQuotaForRegionMerge(mergedRegion);<a name="line.372"></a>
 <span class="sourceLineNo">373</span>    }<a name="line.373"></a>
 <span class="sourceLineNo">374</span>  }<a name="line.374"></a>
 <span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public NamespaceAuditor getNamespaceQuotaManager() {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    return this.namespaceQuotaManager;<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>  private static interface SetQuotaOperations {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    Quotas fetch() throws IOException;<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    void delete() throws IOException;<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    void update(final Quotas quotas) throws IOException;<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    void preApply(final Quotas quotas) throws IOException;<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    void postApply(final Quotas quotas) throws IOException;<a name="line.385"></a>
-<span class="sourceLineNo">386</span>  }<a name="line.386"></a>
-<span class="sourceLineNo">387</span><a name="line.387"></a>
-<span class="sourceLineNo">388</span>  /* ==========================================================================<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   *  Helpers to apply changes to the quotas<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   */<a name="line.390"></a>
-<span class="sourceLineNo">391</span>  private void applyThrottle(final Quotas.Builder quotas, final ThrottleRequest req)<a name="line.391"></a>
-<span class="sourceLineNo">392</span>      throws IOException {<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    Throttle.Builder throttle;<a name="line.393"></a>
+<span class="sourceLineNo">376</span>  @Override<a name="line.376"></a>
+<span class="sourceLineNo">377</span>  public void onRegionSplit(HRegionInfo hri) throws IOException {<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    if (initialized) {<a name="line.378"></a>
+<span class="sourceLineNo">379</span>      namespaceQuotaManager.checkQuotaToSplitRegion(hri);<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    }<a name="line.380"></a>
+<span class="sourceLineNo">381</span>  }<a name="line.381"></a>
+<span class="sourceLineNo">382</span><a name="line.382"></a>
+<span class="sourceLineNo">383</span>  /**<a name="line.383"></a>
+<span class="sourceLineNo">384</span>   * Remove table from namespace quota.<a name="line.384"></a>
+<span class="sourceLineNo">385</span>   *<a name="line.385"></a>
+<span class="sourceLineNo">386</span>   * @param tName - The table name to update quota usage.<a name="line.386"></a>
+<span class="sourceLineNo">387</span>   * @throws IOException Signals that an I/O exception has occurred.<a name="line.387"></a>
+<span class="sourceLineNo">388</span>   */<a name="line.388"></a>
+<span class="sourceLineNo">389</span>  public void removeTableFromNamespaceQuota(TableName tName) throws IOException {<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    if (initialized) {<a name="line.390"></a>
+<span class="sourceLineNo">391</span>      namespaceQuotaManager.removeFromNamespaceUsage(tName);<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>    if (req.hasType() &amp;&amp; (req.hasTimedQuota() || quotas.hasThrottle())) {<a name="line.395"></a>
-<span class="sourceLineNo">396</span>      // Validate timed quota if present<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      if (req.hasTimedQuota()) validateTimedQuota(req.getTimedQuota());<a name="line.397"></a>
+<span class="sourceLineNo">395</span>  public NamespaceAuditor getNamespaceQuotaManager() {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>    return this.namespaceQuotaManager;<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>      // apply the new settings<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      throttle = quotas.hasThrottle() ? quotas.getThrottle().toBuilder() : Throttle.newBuilder();<a name="line.400"></a>
-<span class="sourceLineNo">401</span><a name="line.401"></a>
-<span class="sourceLineNo">402</span>      switch (req.getType()) {<a name="line.402"></a>
-<span class="sourceLineNo">403</span>        case REQUEST_NUMBER:<a name="line.403"></a>
-<span class="sourceLineNo">404</span>          if (req.hasTimedQuota()) {<a name="line.404"></a>
-<span class="sourceLineNo">405</span>            throttle.setReqNum(req.getTimedQuota());<a name="line.405"></a>
-<span class="sourceLineNo">406</span>          } else {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>            throttle.clearReqNum();<a name="line.407"></a>
-<span class="sourceLineNo">408</span>          }<a name="line.408"></a>
-<span class="sourceLineNo">409</span>          break;<a name="line.409"></a>
-<span class="sourceLineNo">410</span>        case REQUEST_SIZE:<a name="line.410"></a>
-<span class="sourceLineNo">411</span>          if (req.hasTimedQuota()) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>            throttle.setReqSize(req.getTimedQuota());<a name="line.412"></a>
-<span class="sourceLineNo">413</span>          } else {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>            throttle.clearReqSize();<a name="line.414"></a>
-<span class="sourceLineNo">415</span>          }<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          break;<a name="line.416"></a>
-<span class="sourceLineNo">417</span>        case WRITE_NUMBER:<a name="line.417"></a>
-<span class="sourceLineNo">418</span>          if (req.hasTimedQuota()) {<a name="line.418"></a>
-<span class="sourceLineNo">419</span>            throttle.setWriteNum(req.getTimedQuota());<a name="line.419"></a>
-<span class="sourceLineNo">420</span>          } else {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>            throttle.clearWriteNum();<a name="line.421"></a>
-<span class="sourceLineNo">422</span>          }<a name="line.422"></a>
-<span class="sourceLineNo">423</span>          break;<a name="line.423"></a>
-<span class="sourceLineNo">424</span>        case WRITE_SIZE:<a name="line.424"></a>
-<span class="sourceLineNo">425</span>          if (req.hasTimedQuota()) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>            throttle.setWriteSize(req.getTimedQuota());<a name="line.426"></a>
-<span class="sourceLineNo">427</span>          } else {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>            throttle.clearWriteSize();<a name="line.428"></a>
-<span class="sourceLineNo">429</span>          }<a name="line.429"></a>
-<span class="sourceLineNo">430</span>          break;<a name="line.430"></a>
-<span class="sourceLineNo">431</span>        case READ_NUMBER:<a name="line.431"></a>
-<span class="sourceLineNo">432</span>          if (req.hasTimedQuota()) {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>            throttle.setReadNum(req.getTimedQuota());<a name="line.433"></a>
-<span class="sourceLineNo">434</span>          } else {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>            throttle.clearReqNum();<a name="line.435"></a>
-<span class="sourceLineNo">436</span>          }<a name="line.436"></a>
-<span class="sourceLineNo">437</span>          break;<a name="line.437"></a>
-<span class="sourceLineNo">438</span>        case READ_SIZE:<a name="line.438"></a>
-<span class="sourceLineNo">439</span>          if (req.hasTimedQuota()) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span>            throttle.setReadSize(req.getTimedQuota());<a name="line.440"></a>
-<span class="sourceLineNo">441</span>          } else {<a name="line.441"></a>
-<span class="sourceLineNo">442</span>            throttle.clearReadSize();<a name="line.442"></a>
-<span class="sourceLineNo">443</span>          }<a name="line.443"></a>
-<span class="sourceLineNo">444</span>          break;<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      }<a name="line.445"></a>
-<span class="sourceLineNo">446</span>      quotas.setThrottle(throttle.build());<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    } else {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>      quotas.clearThrottle();<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>  private void applyBypassGlobals(final Quotas.Builder quotas, boolean bypassGlobals) {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    if (bypassGlobals) {<a name="line.453"></a>
-<span class="sourceLineNo">454</span>      quotas.setBypassGlobals(bypassGlobals);<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    } else {<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      quotas.clearBypassGlobals();<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    }<a name="line.457"></a>
-<span class="sourceLineNo">458</span>  }<a name="line.458"></a>
-<span class="sourceLineNo">459</span><a name="line.459"></a>
-<span class="sourceLineNo">460</span>  /**<a name="line.460"></a>
-<span class="sourceLineNo">461</span>   * Adds the information from the provided {@link SpaceLimitRequest} to the {@link Quotas} builder.<a name="line.461"></a>
-<span class="sourceLineNo">462</span>   *<a name="line.462"></a>
-<span class="sourceLineNo">463</span>   * @param quotas The builder to update.<a name="line.463"></a>
-<span class="sourceLineNo">464</span>   * @param req The request to extract space quota information from.<a name="line.464"></a>
-<span class="sourceLineNo">465</span>   */<a name="line.465"></a>
-<span class="sourceLineNo">466</span>  void applySpaceLimit(final Quotas.Builder quotas, final SpaceLimitRequest req) {<a name="line.466"></a>
-<span class="sourceLineNo">467</span>    if (req.hasQuota()) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>      SpaceQuota spaceQuota = req.getQuota();<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      // If we have the remove flag, unset the space quota.<a name="line.469"></a>
-<span class="sourceLineNo">470</span>      if (spaceQuota.getRemove()) {<a name="line.470"></a>
-<span class="sourceLineNo">471</span>        quotas.setSpace(SpaceQuota.getDefaultInstance());<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      } else {<a name="line.472"></a>
-<span class="sourceLineNo">473</span>        // Otherwise, update the new quota<a name="line.473"></a>
-<span class="sourceLineNo">474</span>        applySpaceQuota(quotas, req.getQuota());<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><a name="line.478"></a>
-<span class="sourceLineNo">479</span>  /**<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   * Merges the provided {@link SpaceQuota} into the given {@link Quotas} builder.<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   *<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   * @param quotas The Quotas builder instance to update<a name="line.482"></a>
-<span class="sourceLineNo">483</span>   * @param quota The SpaceQuota instance to update from<a name="line.483"></a>
-<span class="sourceLineNo">484</span>   */<a name="line.484"></a>
-<span class="sourceLineNo">485</span>  void applySpaceQuota(final Quotas.Builder quotas, final SpaceQuota quota) {<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    // Create a builder for Quotas<a name="line.486"></a>
-<span class="sourceLineNo">487</span>    SpaceQuota.Builder builder = quotas.hasSpace() ? quotas.getSpace().toBuilder() :<a name="line.487"></a>
-<span class="sourceLineNo">488</span>        SpaceQuota.newBuilder();<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    // Update the values from the provided quota into the new one and set it on Quotas.<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    quotas.setSpace(builder.mergeFrom(quota).build());<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>  private void validateTimedQuota(final TimedQuota timedQuota) throws IOException {<a name="line.493"></a>
-<span class="sourceLineNo">494</span>    if (timedQuota.getSoftLimit() &lt; 1) {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      throw new DoNotRetryIOException(new UnsupportedOperationException(<a name="line.495"></a>
-<span class="sourceLineNo">496</span>          "The throttle limit must be greater then 0, got " + timedQuota.getSoftLimit()));<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>   *  Helpers<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>  private void checkQuotaSupport() throws IOException {<a name="line.504"></a>
-<span class="sourceLineNo">505</span>    if (!QuotaUtil.isQuotaEnabled(masterServices.getConfiguration())) {<a name="line.505"></a>
-<span class="sourceLineNo">506</span>      throw new DoNotRetryIOException(<a name="line.506"></a>
-<span class="sourceLineNo">507</span>        new UnsupportedOperationException("quota support disabled"));<a name="line.507"></a>
-<span class="sourceLineNo">508</span>    }<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    if (!initialized) {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      long maxWaitTime = masterServices.getConfiguration().getLong(<a name="line.510"></a>
-<span class="sourceLineNo">511</span>        "hbase.master.wait.for.quota.manager.init", 30000); // default is 30 seconds.<a name="line.511"></a>
-<span class="sourceLineNo">512</span>      long startTime = EnvironmentEdgeManager.currentTime();<a name="line.512"></a>
-<span class="sourceLineNo">513</span>      do {<a name="line.513"></a>
-<span class="sourceLineNo">514</span>        try {<a name="line.514"></a>
-<span class="sourceLineNo">515</span>          Thread.sleep(100);<a name="line.515"></a>
-<span class="sourceLineNo">516</span>        } catch (InterruptedException e) {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>          LOG.warn("Interrupted while waiting for Quota Manager to be initialized.");<a name="line.517"></a>
-<span class="sourceLineNo">518</span>          break;<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        }<a name="line.519"></a>
-<span class="sourceLineNo">520</span>      } while (!initialized &amp;&amp; (EnvironmentEdgeManager.currentTime() - startTime) &lt; maxWaitTime);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>      if (!initialized) {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>        throw new IOException("Quota manager is uninitialized, please retry later.");<a name="line.522"></a>
-<span class="sourceLineNo">523</span>      }<a name="line.523"></a>
+<span class="sourceLineNo">399</span>  /**<a name="line.399"></a>
+<span class="sourceLineNo">400</span>   * Encapsulates CRUD quota operations for some subject.<a name="line.400"></a>
+<span class="sourceLineNo">401</span>   */<a name="line.401"></a>
+<span class="sourceLineNo">402</span>  private static interface SetQuotaOperations {<a name="line.402"></a>
+<span class="sourceLineNo">403</span>    /**<a name="line.403"></a>
+<span class="sourceLineNo">404</span>     * Fetches the current quota settings for the subject.<a name="line.404"></a>
+<span class="sourceLineNo">405</span>     */<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    GlobalQuotaSettings fetch() throws IOException;<a name="line.406"></a>
+<span class="sourceLineNo">407</span>    /**<a name="line.407"></a>
+<span class="sourceLineNo">408</span>     * Deletes the quota for the subject.<a name="line.408"></a>
+<span class="sourceLineNo">409</span>     */<a name="line.409"></a>
+<span class="sourceLineNo">410</span>    void delete() throws IOException;<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    /**<a name="line.411"></a>
+<span class="sourceLineNo">412</span>     * Persist the given quota for the subject.<a name="line.412"></a>
+<span class="sourceLineNo">413</span>     */<a name="line.413"></a>
+<span class="sourceLineNo">414</span>    void update(GlobalQuotaSettings quotaPojo) throws IOException;<a name="line.414"></a>
+<span class="sourceLineNo">415</span>    /**<a name="line.415"></a>
+<span class="sourceLineNo">416</span>     * Performs some action before {@link #update(GlobalQuotaSettings)} with the current quota<a name="line.416"></a>
+<span class="sourceLineNo">417</span>     * for the subject.<a name="line.417"></a>
+<span class="sourceLineNo">418</span>     */<a name="line.418"></a>
+<span class="sourceLineNo">419</span>    void preApply(GlobalQuotaSettings quotaPojo) throws IOException;<a name="line.419"></a>
+<span class="sourceLineNo">420</span>    /**<a name="line.420"></a>
+<span class="sourceLineNo">421</span>     * Performs some action after {@link #update(GlobalQuotaSettings)} with the resulting quota<a name="line.421"></a>
+<span class="sourceLineNo">422</span>     * from the request action for the subject.<a name="line.422"></a>
+<span class="sourceLineNo">423</span>     */<a name="line.423"></a>
+<span class="sourceLineNo">424</span>    void postApply(GlobalQuotaSettings quotaPojo) throws IOException;<a name="line.424"></a>
+<span class="sourceLineNo">425</span>  }<a name="line.425"></a>
+<span class="sourceLineNo">426</span><a name="line.426"></a>
+<span class="sourceLineNo">427</span>  /* ==========================================================================<a name="line.427"></a>
+<span class="sourceLineNo">428</span>   *  Helpers<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>  private void checkQuotaSupport() throws IOException {<a name="line.431"></a>
+<span class="sourceLineNo">432</span>    if (!QuotaUtil.isQuotaEnabled(masterServices.getConfiguration())) {<a name="line.432"></a>
+<span class="sourceLineNo">433</span>      throw new DoNotRetryIOException(<a name="line.433"></a>
+<span class="sourceLineNo">434</span>        new UnsupportedOperationException("quota support disabled"));<a name="line.434"></a>
+<span class="sourceLineNo">435</span>    }<a name="line.435"></a>
+<span class="sourceLineNo">436</span>    if (!initialized) {<a name="line.436"></a>
+<span class="sourceLineNo">437</span>      long maxWaitTime = masterServices.getConfiguration().getLong(<a name="line.437"></a>
+<span class="sourceLineNo">438</span>        "hbase.master.wait.for.quota.manager.init", 30000); // default is 30 seconds.<a name="line.438"></a>
+<span class="sourceLineNo">439</span>      long startTime = EnvironmentEdgeManager.currentTime();<a name="line.439"></a>
+<span class="sourceLineNo">440</span>      do {<a name="line.440"></a>
+<span class="sourceLineNo">441</span>        try {<a name="line.441"></a>
+<span class="sourceLineNo">442</span>          Thread.sleep(100);<a name="line.442"></a>
+<span class="sourceLineNo">443</span>        } catch (InterruptedException e) {<a name="line.443"></a>
+<span class="sourceLineNo">444</span>          LOG.warn("Interrupted while waiting for Quota Manager to be initialized.");<a name="line.444"></a>
+<span class="sourceLineNo">445</span>          break;<a name="line.445"></a>
+<span class="sourceLineNo">446</span>        }<a name="line.446"></a>
+<span class="sourceLineNo">447</span>      } while (!initialized &amp;&amp; (EnvironmentEdgeManager.currentTime() - startTime) &lt; maxWaitTime);<a name="line.447"></a>
+<span class="sourceLineNo">448</span>      if (!initialized) {<a name="line.448"></a>
+<span class="sourceLineNo">449</span>        throw new IOException("Quota manager is uninitialized, please retry later.");<a name="line.449"></a>
+<span class="sourceLineNo">450</span>      }<a name="line.450"></a>
+<span class="sourceLineNo">451</span>    }<a name="line.451"></a>
+<span class="sourceLineNo">452</span>  }<a name="line.452"></a>
+<span class="sourceLineNo">453</span><a name="line.453"></a>
+<span class="sourceLineNo">454</span>  private void createQuotaTable() throws IOException {<a name="line.454"></a>
+<span class="sourceLineNo">455</span>    masterServices.createSystemTable(QuotaUtil.QUOTA_TABLE_DESC);<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>  private static class NamedLock&lt;T&gt; {<a name="line.458"></a>
+<span class="sourceLineNo">459</span>    private HashSet&lt;T&gt; locks = new HashSet&lt;&gt;();<a name="line.459"></a>
+<span class="sourceLineNo">460</span><a name="line.460"></a>
+<span class="sourceLineNo">461</span>    public void lock(final T name) throws InterruptedException {<a name="line.461"></a>
+<span class="sourceLineNo">462</span>      synchronized (locks) {<a name="line.462"></a>
+<span class="sourceLineNo">463</span>        while (locks.contains(name)) {<a name="line.463"></a>
+<span class="sourceLineNo">464</span>          locks.wait();<a name="line.464"></a>
+<span class="sourceLineNo">465</span>        }<a name="line.465"></a>
+<span class="sourceLineNo">466</span>        locks.add(name);<a name="line.466"></a>
+<span class="sourceLineNo">467</span>      }<a name="line.467"></a>
+<span class="sourceLineNo">468</span>    }<a name="line.468"></a>
+<span class="sourceLineNo">469</span><a name="line.469"></a>
+<span class="sourceLineNo">470</span>    public void unlock(final T name) {<a name="line.470"></a>
+<span class="sourceLineNo">471</span>      synchronized (locks) {<a name="line.471"></a>
+<span class="sourceLineNo">472</span>        locks.remove(name);<a name="line.472"></a>
+<span class="sourceLineNo">473</span>        locks.notifyAll();<a name="line.473"></a>
+<span class="sourceLineNo">474</span>      }<a name="line.474"></a>
+<span class="sourceLineNo">475</span>    }<a name="line.475"></a>
+<span class="sourceLineNo">476</span>  }<a name="line.476"></a>
+<span class="sourceLineNo">477</span><a name="line.477"></a>
+<span class="sourceLineNo">478</span>  @Override<a name="line.478"></a>
+<span class="sourceLineNo">479</span>  public void onRegionSplitReverted(HRegionInfo hri) throws IOException {<a name="line.479"></a>
+<span class="sourceLineNo">480</span>    if (initialized) {<a name="line.480"></a>
+<span class="sourceLineNo">481</span>      this.namespaceQuotaManager.removeRegionFromNamespaceUsage(hri);<a name="line.481"></a>
+<span class="sourceLineNo">482</span>    }<a name="line.482"></a>
+<span class="sourceLineNo">483</span>  }<a name="line.483"></a>
+<span class="sourceLineNo">484</span><a name="line.484"></a>
+<span class="sourceLineNo">485</span>  /**<a name="line.485"></a>
+<span class="sourceLineNo">486</span>   * Holds the size of a region at the given time, millis since the epoch.<a name="line.486"></a>
+<span class="sourceLineNo">487</span>   */<a name="line.487"></a>
+<span class="sourceLineNo">488</span>  private static class SizeSnapshotWithTimestamp {<a name="line.488"></a>
+<span class="sourceLineNo">489</span>    private final long size;<a name="line.489"></a>
+<span class="sourceLineNo">490</span>    private final long time;<a name="line.490"></a>
+<span class="sourceLineNo">491</span><a name="line.491"></a>
+<span class="sourceLineNo">492</span>    public SizeSnapshotWithTimestamp(long size, long time) {<a name="line.492"></a>
+<span class="sourceLineNo">493</span>      this.size = size;<a name="line.493"></a>
+<span class="sourceLineNo">494</span>      this.time = time;<a name="line.494"></a>
+<span class="sourceLineNo">495</span>    }<a name="line.495"></a>
+<span class="sourceLineNo">496</span><a name="line

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.html b/devapidocs/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.html
index bc0cba8..109fb84 100644
--- a/devapidocs/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.html
+++ b/devapidocs/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.html
@@ -290,7 +290,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObs
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postAbortProcedure</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postAddColumnFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postAddReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postAddRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAssign-org.apache
 .hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postAssign</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postBalance</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-boolean-">postBalanceRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-boolean-">postBalanceSwitch</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postClearDeadServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverC
 ontext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postCloneSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedAddColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postCompletedAddColumnFamilyAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCompletedCreateTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">postCompletedDeleteColumnFamily
 Action</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDeleteTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDisableTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedEnableTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedMergeRegionsA
 ction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postCompletedModifyColumnFamilyAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedSplitRegionAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedTruncateTableAction-org
 .apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedTruncateTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postCreateNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCreateTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">postDeleteColumnFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.S
 tring-">postDeleteNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">postDeleteSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDisableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDisableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postEnableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.ht
 ml#postEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postEnableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postGetLocks</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postGetNamespaceDescriptor</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postGetProcedures</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postGetReplicationPeerConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/
 coprocessor/MasterObserver.html#postGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">postGetTableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">postGetTableNames</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postListDeadServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postListNamespaceDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postListReplicationPeers</a>, <a href
 ="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">postListSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.master.locking.LockProcedure-boolean-">postLockHeartbeat</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postMergeRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postMergeRegionsCommitAction</a>, <a href=".
 ./../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postModifyColumnFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">post
 Move</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">postMoveServersAndTables</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveTables</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postRegionOffline</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveReplicationPeer-org.apache.hadoop.hbase.copr
 ocessor.ObserverContext-java.lang.String-">postRemoveReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.procedure2.LockType-java.lang.String-">postRequestLock</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postRestoreSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackM
 ergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postRollBackMergeRegionsAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postRollBackSplitRegionAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetNamespaceQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">postSetSplitOrMergeEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coproc
 essor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetTableQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a>, <a href="../../../.
 ./../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postStartMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postStartMaster</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTableFlush</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTruncateTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUnassign-org.apache.hadoop.hbase.coprocessor.Observe
 rContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">postUnassign</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postUpdateReplicationPeerConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.procedure2.ProcedureExecutor-long-">preAbortProcedure</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preAddColumnFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.O
 bserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preAddColumnFamilyAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preAddReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preAddRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preAssign</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preBalance</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocesso
 r/MasterObserver.html#preBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preBalanceRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-">preBalanceSwitch</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preClearDeadServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preDeleteColumnFamily</a>, <a href
 ="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preDeleteColumnFamilyAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDeleteNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">preDeleteSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTableAction-org.apache
 .hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDisableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preEnableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocess
 or/MasterObserver.html#preEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetLocks</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetNamespaceDescriptor</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetProcedures</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetReplic
 ationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetReplicationPeerConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">preGetTableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">preGetTableNames</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preListDeadServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">preListNamespaceDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/copro
 cessor/MasterObserver.html#preListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preListReplicationPeers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">preListSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.master.locking.LockProcedure-boolean-">preLockHeartbeat</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMasterInitialization-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preMasterInitialization</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hba
 se.client.RegionInfo:A-">preMergeRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegionsAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-java.util.List-">preMergeRegionsCommitAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preModifyColumnFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.a
 pache.hadoop.hbase.client.ColumnFamilyDescriptor-">preModifyColumnFamilyAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">preMove</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServers-org.apache.hadoop.hbase.coprocessor.Obs
 erverContext-java.util.Set-java.lang.String-">preMoveServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">preMoveServersAndTables</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveTables</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preRegionOffline</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#
 preRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.procedure2.LockType-java.lang.String-">preRequestLock</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preRestoreSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetNamesp
 aceQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">preSetSplitOrMergeEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetTableQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hba
 se.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preShutdown-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preShutdown</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegion-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableN
 ame-byte:A-">preSplitRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegionAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAfterPONRAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preSplitRegionAfterPONRAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionBeforePONRAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-byte:A-java.util.List-">preSplitRegionBeforePONRAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preStopMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preStopMaster</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apa
 che.hadoop.hbase.TableName-">preTableFlush</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">preUnassign</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preUpdateReplicationPeerConfig</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postAbortProcedure</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postAddColumnFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postAddReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postAddRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAssign-org.apache
 .hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postAssign</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postBalance</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-boolean-">postBalanceRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-boolean-">postBalanceSwitch</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postClearDeadServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverC
 ontext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postCloneSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedAddColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postCompletedAddColumnFamilyAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCompletedCreateTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">postCompletedDeleteColumnFamily
 Action</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDeleteTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDisableTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedEnableTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedMergeRegionsA
 ction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postCompletedModifyColumnFamilyAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedSplitRegionAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedTruncateTableAction-org
 .apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedTruncateTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postCreateNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCreateTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">postDeleteColumnFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.S
 tring-">postDeleteNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">postDeleteSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDisableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDisableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postEnableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.ht
 ml#postEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postEnableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postGetLocks</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postGetNamespaceDescriptor</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postGetProcedures</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postGetReplicationPeerConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/
 coprocessor/MasterObserver.html#postGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">postGetTableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">postGetTableNames</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postListDeadServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postListNamespaceDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postListReplicationPeers</a>, <a href
 ="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">postListSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.master.locking.LockProcedure-boolean-">postLockHeartbeat</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postMergeRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postMergeRegionsCommitAction</a>, <a href=".
 ./../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postModifyColumnFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">post
 Move</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">postMoveServersAndTables</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveTables</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postRegionOffline</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveReplicationPeer-org.apache.hadoop.hbase.copr
 ocessor.ObserverContext-java.lang.String-">postRemoveReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.procedure2.LockType-java.lang.String-">postRequestLock</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postRestoreSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackM
 ergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postRollBackMergeRegionsAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postRollBackSplitRegionAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetNamespaceQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">postSetSplitOrMergeEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverCont
 ext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetTableQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSnapshot-org.apache.hadoo
 p.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postStartMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postStartMaster</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTableFlush</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTruncateTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">postUnassign</a>, <a href="..
 /../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postUpdateReplicationPeerConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.procedure2.ProcedureExecutor-long-">preAbortProcedure</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preAddColumnFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFami
 lyDescriptor-">preAddColumnFamilyAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preAddReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preAddRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preAssign</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preBalance</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContex
 t-java.lang.String-">preBalanceRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-">preBalanceSwitch</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preClearDeadServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preDeleteColumnFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteColumnFa
 milyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preDeleteColumnFamilyAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDeleteNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">preDeleteSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTab
 leAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDisableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preEnableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-
 org.apache.hadoop.hbase.TableName-">preEnableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetLocks</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetNamespaceDescriptor</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetProcedures</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">pre
 GetReplicationPeerConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">preGetTableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">preGetTableNames</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preListDeadServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">preListNamespaceDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListReplicationPeers-org.apache.hadoop.hbase.coprocessor.Obs
 erverContext-java.lang.String-">preListReplicationPeers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">preListSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.master.locking.LockProcedure-boolean-">preLockHeartbeat</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMasterInitialization-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preMasterInitialization</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegions</a>, <a href="../../../../../org/apache/hadoop/hb
 ase/coprocessor/MasterObserver.html#preMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegionsAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-java.util.List-">preMergeRegionsCommitAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preModifyColumnFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preModifyColumnFamilyAction</a>, <a hre
 f="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">preMove</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveServers</a>, <a href="../../../../../
 org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">preMoveServersAndTables</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveTables</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preRegionOffline</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">pr
 eRemoveRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.procedure2.LockType-java.lang.String-">preRequestLock</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preRestoreSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetNamespaceQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetSplitOrM
 ergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">preSetSplitOrMergeEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetTableQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQ
 uota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preShutdown-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preShutdown</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegion-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverCo
 ntext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegionAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAfterPONRAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preSplitRegionAfterPONRAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionBeforePONRAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-byte:A-java.util.List-">preSplitRegionBeforePONRAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preStopMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preStopMaster</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTableFlush</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTable-org.apache.hadoop.hbase.coprocessor
 .ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">preUnassign</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preUpdateReplicationPeerConfig</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.Coprocessor">


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.MasterEnvironment.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.MasterEnvironment.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.MasterEnvironment.html
index 2a29b1c..3b0b6dd 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.MasterEnvironment.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.MasterEnvironment.html
@@ -60,9 +60,9 @@
 <span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.procedure2.LockedResource;<a name="line.52"></a>
 <span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.procedure2.Procedure;<a name="line.53"></a>
 <span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.security.User;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.57"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.quotas.GlobalQuotaSettings;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.security.User;<a name="line.57"></a>
 <span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription;<a name="line.58"></a>
 <span class="sourceLineNo">059</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.59"></a>
 <span class="sourceLineNo">060</span><a name="line.60"></a>
@@ -1307,598 +1307,608 @@
 <span class="sourceLineNo">1299</span>    });<a name="line.1299"></a>
 <span class="sourceLineNo">1300</span>  }<a name="line.1300"></a>
 <span class="sourceLineNo">1301</span><a name="line.1301"></a>
-<span class="sourceLineNo">1302</span>  public void preSetUserQuota(final String user, final Quotas quotas) throws IOException {<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span>      @Override<a name="line.1304"></a>
-<span class="sourceLineNo">1305</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span>          throws IOException {<a name="line.1306"></a>
-<span class="sourceLineNo">1307</span>        oserver.preSetUserQuota(ctx, user, quotas);<a name="line.1307"></a>
-<span class="sourceLineNo">1308</span>      }<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span>    });<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span>  }<a name="line.1310"></a>
-<span class="sourceLineNo">1311</span><a name="line.1311"></a>
-<span class="sourceLineNo">1312</span>  public void postSetUserQuota(final String user, final Quotas quotas) throws IOException {<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span>      @Override<a name="line.1314"></a>
-<span class="sourceLineNo">1315</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1315"></a>
-<span class="sourceLineNo">1316</span>          throws IOException {<a name="line.1316"></a>
-<span class="sourceLineNo">1317</span>        oserver.postSetUserQuota(ctx, user, quotas);<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span>      }<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span>    });<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span>  }<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span><a name="line.1321"></a>
-<span class="sourceLineNo">1322</span>  public void preSetUserQuota(final String user, final TableName table, final Quotas quotas)<a name="line.1322"></a>
-<span class="sourceLineNo">1323</span>      throws IOException {<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1324"></a>
-<span class="sourceLineNo">1325</span>      @Override<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span>          throws IOException {<a name="line.1327"></a>
-<span class="sourceLineNo">1328</span>        oserver.preSetUserQuota(ctx, user, table, quotas);<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span>      }<a name="line.1329"></a>
-<span class="sourceLineNo">1330</span>    });<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span>  }<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span><a name="line.1332"></a>
-<span class="sourceLineNo">1333</span>  public void postSetUserQuota(final String user, final TableName table, final Quotas quotas)<a name="line.1333"></a>
-<span class="sourceLineNo">1334</span>      throws IOException {<a name="line.1334"></a>
-<span class="sourceLineNo">1335</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1335"></a>
-<span class="sourceLineNo">1336</span>      @Override<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1337"></a>
+<span class="sourceLineNo">1302</span>  public void preSetUserQuota(<a name="line.1302"></a>
+<span class="sourceLineNo">1303</span>      final String user, final GlobalQuotaSettings quotas) throws IOException {<a name="line.1303"></a>
+<span class="sourceLineNo">1304</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1304"></a>
+<span class="sourceLineNo">1305</span>      @Override<a name="line.1305"></a>
+<span class="sourceLineNo">1306</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1306"></a>
+<span class="sourceLineNo">1307</span>          throws IOException {<a name="line.1307"></a>
+<span class="sourceLineNo">1308</span>        oserver.preSetUserQuota(ctx, user, quotas);<a name="line.1308"></a>
+<span class="sourceLineNo">1309</span>      }<a name="line.1309"></a>
+<span class="sourceLineNo">1310</span>    });<a name="line.1310"></a>
+<span class="sourceLineNo">1311</span>  }<a name="line.1311"></a>
+<span class="sourceLineNo">1312</span><a name="line.1312"></a>
+<span class="sourceLineNo">1313</span>  public void postSetUserQuota(<a name="line.1313"></a>
+<span class="sourceLineNo">1314</span>      final String user, final GlobalQuotaSettings quotas) throws IOException {<a name="line.1314"></a>
+<span class="sourceLineNo">1315</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1315"></a>
+<span class="sourceLineNo">1316</span>      @Override<a name="line.1316"></a>
+<span class="sourceLineNo">1317</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1317"></a>
+<span class="sourceLineNo">1318</span>          throws IOException {<a name="line.1318"></a>
+<span class="sourceLineNo">1319</span>        oserver.postSetUserQuota(ctx, user, quotas);<a name="line.1319"></a>
+<span class="sourceLineNo">1320</span>      }<a name="line.1320"></a>
+<span class="sourceLineNo">1321</span>    });<a name="line.1321"></a>
+<span class="sourceLineNo">1322</span>  }<a name="line.1322"></a>
+<span class="sourceLineNo">1323</span><a name="line.1323"></a>
+<span class="sourceLineNo">1324</span>  public void preSetUserQuota(<a name="line.1324"></a>
+<span class="sourceLineNo">1325</span>      final String user, final TableName table, final GlobalQuotaSettings quotas)<a name="line.1325"></a>
+<span class="sourceLineNo">1326</span>          throws IOException {<a name="line.1326"></a>
+<span class="sourceLineNo">1327</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1327"></a>
+<span class="sourceLineNo">1328</span>      @Override<a name="line.1328"></a>
+<span class="sourceLineNo">1329</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1329"></a>
+<span class="sourceLineNo">1330</span>          throws IOException {<a name="line.1330"></a>
+<span class="sourceLineNo">1331</span>        oserver.preSetUserQuota(ctx, user, table, quotas);<a name="line.1331"></a>
+<span class="sourceLineNo">1332</span>      }<a name="line.1332"></a>
+<span class="sourceLineNo">1333</span>    });<a name="line.1333"></a>
+<span class="sourceLineNo">1334</span>  }<a name="line.1334"></a>
+<span class="sourceLineNo">1335</span><a name="line.1335"></a>
+<span class="sourceLineNo">1336</span>  public void postSetUserQuota(<a name="line.1336"></a>
+<span class="sourceLineNo">1337</span>      final String user, final TableName table, final GlobalQuotaSettings quotas)<a name="line.1337"></a>
 <span class="sourceLineNo">1338</span>          throws IOException {<a name="line.1338"></a>
-<span class="sourceLineNo">1339</span>        oserver.postSetUserQuota(ctx, user, table, quotas);<a name="line.1339"></a>
-<span class="sourceLineNo">1340</span>      }<a name="line.1340"></a>
-<span class="sourceLineNo">1341</span>    });<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span>  }<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span><a name="line.1343"></a>
-<span class="sourceLineNo">1344</span>  public void preSetUserQuota(final String user, final String namespace, final Quotas quotas)<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span>      throws IOException {<a name="line.1345"></a>
-<span class="sourceLineNo">1346</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1346"></a>
-<span class="sourceLineNo">1347</span>      @Override<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1348"></a>
-<span class="sourceLineNo">1349</span>          throws IOException {<a name="line.1349"></a>
-<span class="sourceLineNo">1350</span>        oserver.preSetUserQuota(ctx, user, namespace, quotas);<a name="line.1350"></a>
-<span class="sourceLineNo">1351</span>      }<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span>    });<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span>  }<a name="line.1353"></a>
-<span class="sourceLineNo">1354</span><a name="line.1354"></a>
-<span class="sourceLineNo">1355</span>  public void postSetUserQuota(final String user, final String namespace, final Quotas quotas)<a name="line.1355"></a>
-<span class="sourceLineNo">1356</span>      throws IOException {<a name="line.1356"></a>
-<span class="sourceLineNo">1357</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1357"></a>
-<span class="sourceLineNo">1358</span>      @Override<a name="line.1358"></a>
-<span class="sourceLineNo">1359</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1359"></a>
-<span class="sourceLineNo">1360</span>          throws IOException {<a name="line.1360"></a>
-<span class="sourceLineNo">1361</span>        oserver.postSetUserQuota(ctx, user, namespace, quotas);<a name="line.1361"></a>
-<span class="sourceLineNo">1362</span>      }<a name="line.1362"></a>
-<span class="sourceLineNo">1363</span>    });<a name="line.1363"></a>
-<span class="sourceLineNo">1364</span>  }<a name="line.1364"></a>
-<span class="sourceLineNo">1365</span><a name="line.1365"></a>
-<span class="sourceLineNo">1366</span>  public void preSetTableQuota(final TableName table, final Quotas quotas) throws IOException {<a name="line.1366"></a>
-<span class="sourceLineNo">1367</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1367"></a>
-<span class="sourceLineNo">1368</span>      @Override<a name="line.1368"></a>
-<span class="sourceLineNo">1369</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1369"></a>
-<span class="sourceLineNo">1370</span>          throws IOException {<a name="line.1370"></a>
-<span class="sourceLineNo">1371</span>        oserver.preSetTableQuota(ctx, table, quotas);<a name="line.1371"></a>
-<span class="sourceLineNo">1372</span>      }<a name="line.1372"></a>
-<span class="sourceLineNo">1373</span>    });<a name="line.1373"></a>
-<span class="sourceLineNo">1374</span>  }<a name="line.1374"></a>
-<span class="sourceLineNo">1375</span><a name="line.1375"></a>
-<span class="sourceLineNo">1376</span>  public void postSetTableQuota(final TableName table, final Quotas quotas) throws IOException {<a name="line.1376"></a>
-<span class="sourceLineNo">1377</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1377"></a>
-<span class="sourceLineNo">1378</span>      @Override<a name="line.1378"></a>
-<span class="sourceLineNo">1379</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1379"></a>
-<span class="sourceLineNo">1380</span>          throws IOException {<a name="line.1380"></a>
-<span class="sourceLineNo">1381</span>        oserver.postSetTableQuota(ctx, table, quotas);<a name="line.1381"></a>
-<span class="sourceLineNo">1382</span>      }<a name="line.1382"></a>
-<span class="sourceLineNo">1383</span>    });<a name="line.1383"></a>
-<span class="sourceLineNo">1384</span>  }<a name="line.1384"></a>
-<span class="sourceLineNo">1385</span><a name="line.1385"></a>
-<span class="sourceLineNo">1386</span>  public void preSetNamespaceQuota(final String namespace, final Quotas quotas) throws IOException {<a name="line.1386"></a>
-<span class="sourceLineNo">1387</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1387"></a>
-<span class="sourceLineNo">1388</span>      @Override<a name="line.1388"></a>
-<span class="sourceLineNo">1389</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1389"></a>
-<span class="sourceLineNo">1390</span>          throws IOException {<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span>        oserver.preSetNamespaceQuota(ctx, namespace, quotas);<a name="line.1391"></a>
-<span class="sourceLineNo">1392</span>      }<a name="line.1392"></a>
-<span class="sourceLineNo">1393</span>    });<a name="line.1393"></a>
-<span class="sourceLineNo">1394</span>  }<a name="line.1394"></a>
-<span class="sourceLineNo">1395</span><a name="line.1395"></a>
-<span class="sourceLineNo">1396</span>  public void postSetNamespaceQuota(final String namespace, final Quotas quotas) throws IOException{<a name="line.1396"></a>
-<span class="sourceLineNo">1397</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1397"></a>
-<span class="sourceLineNo">1398</span>      @Override<a name="line.1398"></a>
-<span class="sourceLineNo">1399</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1399"></a>
-<span class="sourceLineNo">1400</span>          throws IOException {<a name="line.1400"></a>
-<span class="sourceLineNo">1401</span>        oserver.postSetNamespaceQuota(ctx, namespace, quotas);<a name="line.1401"></a>
-<span class="sourceLineNo">1402</span>      }<a name="line.1402"></a>
-<span class="sourceLineNo">1403</span>    });<a name="line.1403"></a>
-<span class="sourceLineNo">1404</span>  }<a name="line.1404"></a>
-<span class="sourceLineNo">1405</span><a name="line.1405"></a>
-<span class="sourceLineNo">1406</span>  private static abstract class CoprocessorOperation<a name="line.1406"></a>
-<span class="sourceLineNo">1407</span>      extends ObserverContext&lt;MasterCoprocessorEnvironment&gt; {<a name="line.1407"></a>
-<span class="sourceLineNo">1408</span>    public CoprocessorOperation() {<a name="line.1408"></a>
-<span class="sourceLineNo">1409</span>      this(RpcServer.getRequestUser());<a name="line.1409"></a>
-<span class="sourceLineNo">1410</span>    }<a name="line.1410"></a>
-<span class="sourceLineNo">1411</span><a name="line.1411"></a>
-<span class="sourceLineNo">1412</span>    public CoprocessorOperation(User user) {<a name="line.1412"></a>
-<span class="sourceLineNo">1413</span>      super(user);<a name="line.1413"></a>
-<span class="sourceLineNo">1414</span>    }<a name="line.1414"></a>
+<span class="sourceLineNo">1339</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1339"></a>
+<span class="sourceLineNo">1340</span>      @Override<a name="line.1340"></a>
+<span class="sourceLineNo">1341</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1341"></a>
+<span class="sourceLineNo">1342</span>          throws IOException {<a name="line.1342"></a>
+<span class="sourceLineNo">1343</span>        oserver.postSetUserQuota(ctx, user, table, quotas);<a name="line.1343"></a>
+<span class="sourceLineNo">1344</span>      }<a name="line.1344"></a>
+<span class="sourceLineNo">1345</span>    });<a name="line.1345"></a>
+<span class="sourceLineNo">1346</span>  }<a name="line.1346"></a>
+<span class="sourceLineNo">1347</span><a name="line.1347"></a>
+<span class="sourceLineNo">1348</span>  public void preSetUserQuota(<a name="line.1348"></a>
+<span class="sourceLineNo">1349</span>      final String user, final String namespace, final GlobalQuotaSettings quotas)<a name="line.1349"></a>
+<span class="sourceLineNo">1350</span>          throws IOException {<a name="line.1350"></a>
+<span class="sourceLineNo">1351</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1351"></a>
+<span class="sourceLineNo">1352</span>      @Override<a name="line.1352"></a>
+<span class="sourceLineNo">1353</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1353"></a>
+<span class="sourceLineNo">1354</span>          throws IOException {<a name="line.1354"></a>
+<span class="sourceLineNo">1355</span>        oserver.preSetUserQuota(ctx, user, namespace, quotas);<a name="line.1355"></a>
+<span class="sourceLineNo">1356</span>      }<a name="line.1356"></a>
+<span class="sourceLineNo">1357</span>    });<a name="line.1357"></a>
+<span class="sourceLineNo">1358</span>  }<a name="line.1358"></a>
+<span class="sourceLineNo">1359</span><a name="line.1359"></a>
+<span class="sourceLineNo">1360</span>  public void postSetUserQuota(<a name="line.1360"></a>
+<span class="sourceLineNo">1361</span>      final String user, final String namespace, final GlobalQuotaSettings quotas)<a name="line.1361"></a>
+<span class="sourceLineNo">1362</span>          throws IOException {<a name="line.1362"></a>
+<span class="sourceLineNo">1363</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1363"></a>
+<span class="sourceLineNo">1364</span>      @Override<a name="line.1364"></a>
+<span class="sourceLineNo">1365</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1365"></a>
+<span class="sourceLineNo">1366</span>          throws IOException {<a name="line.1366"></a>
+<span class="sourceLineNo">1367</span>        oserver.postSetUserQuota(ctx, user, namespace, quotas);<a name="line.1367"></a>
+<span class="sourceLineNo">1368</span>      }<a name="line.1368"></a>
+<span class="sourceLineNo">1369</span>    });<a name="line.1369"></a>
+<span class="sourceLineNo">1370</span>  }<a name="line.1370"></a>
+<span class="sourceLineNo">1371</span><a name="line.1371"></a>
+<span class="sourceLineNo">1372</span>  public void preSetTableQuota(<a name="line.1372"></a>
+<span class="sourceLineNo">1373</span>      final TableName table, final GlobalQuotaSettings quotas) throws IOException {<a name="line.1373"></a>
+<span class="sourceLineNo">1374</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1374"></a>
+<span class="sourceLineNo">1375</span>      @Override<a name="line.1375"></a>
+<span class="sourceLineNo">1376</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1376"></a>
+<span class="sourceLineNo">1377</span>          throws IOException {<a name="line.1377"></a>
+<span class="sourceLineNo">1378</span>        oserver.preSetTableQuota(ctx, table, quotas);<a name="line.1378"></a>
+<span class="sourceLineNo">1379</span>      }<a name="line.1379"></a>
+<span class="sourceLineNo">1380</span>    });<a name="line.1380"></a>
+<span class="sourceLineNo">1381</span>  }<a name="line.1381"></a>
+<span class="sourceLineNo">1382</span><a name="line.1382"></a>
+<span class="sourceLineNo">1383</span>  public void postSetTableQuota(<a name="line.1383"></a>
+<span class="sourceLineNo">1384</span>      final TableName table, final GlobalQuotaSettings quotas) throws IOException {<a name="line.1384"></a>
+<span class="sourceLineNo">1385</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1385"></a>
+<span class="sourceLineNo">1386</span>      @Override<a name="line.1386"></a>
+<span class="sourceLineNo">1387</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1387"></a>
+<span class="sourceLineNo">1388</span>          throws IOException {<a name="line.1388"></a>
+<span class="sourceLineNo">1389</span>        oserver.postSetTableQuota(ctx, table, quotas);<a name="line.1389"></a>
+<span class="sourceLineNo">1390</span>      }<a name="line.1390"></a>
+<span class="sourceLineNo">1391</span>    });<a name="line.1391"></a>
+<span class="sourceLineNo">1392</span>  }<a name="line.1392"></a>
+<span class="sourceLineNo">1393</span><a name="line.1393"></a>
+<span class="sourceLineNo">1394</span>  public void preSetNamespaceQuota(<a name="line.1394"></a>
+<span class="sourceLineNo">1395</span>      final String namespace, final GlobalQuotaSettings quotas) throws IOException {<a name="line.1395"></a>
+<span class="sourceLineNo">1396</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1396"></a>
+<span class="sourceLineNo">1397</span>      @Override<a name="line.1397"></a>
+<span class="sourceLineNo">1398</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1398"></a>
+<span class="sourceLineNo">1399</span>          throws IOException {<a name="line.1399"></a>
+<span class="sourceLineNo">1400</span>        oserver.preSetNamespaceQuota(ctx, namespace, quotas);<a name="line.1400"></a>
+<span class="sourceLineNo">1401</span>      }<a name="line.1401"></a>
+<span class="sourceLineNo">1402</span>    });<a name="line.1402"></a>
+<span class="sourceLineNo">1403</span>  }<a name="line.1403"></a>
+<span class="sourceLineNo">1404</span><a name="line.1404"></a>
+<span class="sourceLineNo">1405</span>  public void postSetNamespaceQuota(<a name="line.1405"></a>
+<span class="sourceLineNo">1406</span>      final String namespace, final GlobalQuotaSettings quotas) throws IOException{<a name="line.1406"></a>
+<span class="sourceLineNo">1407</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1407"></a>
+<span class="sourceLineNo">1408</span>      @Override<a name="line.1408"></a>
+<span class="sourceLineNo">1409</span>      public void call(MasterObserver oserver, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1409"></a>
+<span class="sourceLineNo">1410</span>          throws IOException {<a name="line.1410"></a>
+<span class="sourceLineNo">1411</span>        oserver.postSetNamespaceQuota(ctx, namespace, quotas);<a name="line.1411"></a>
+<span class="sourceLineNo">1412</span>      }<a name="line.1412"></a>
+<span class="sourceLineNo">1413</span>    });<a name="line.1413"></a>
+<span class="sourceLineNo">1414</span>  }<a name="line.1414"></a>
 <span class="sourceLineNo">1415</span><a name="line.1415"></a>
-<span class="sourceLineNo">1416</span>    public abstract void call(MasterObserver oserver,<a name="line.1416"></a>
-<span class="sourceLineNo">1417</span>        ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException;<a name="line.1417"></a>
-<span class="sourceLineNo">1418</span><a name="line.1418"></a>
-<span class="sourceLineNo">1419</span>    public void postEnvCall(MasterEnvironment env) {<a name="line.1419"></a>
+<span class="sourceLineNo">1416</span>  private static abstract class CoprocessorOperation<a name="line.1416"></a>
+<span class="sourceLineNo">1417</span>      extends ObserverContext&lt;MasterCoprocessorEnvironment&gt; {<a name="line.1417"></a>
+<span class="sourceLineNo">1418</span>    public CoprocessorOperation() {<a name="line.1418"></a>
+<span class="sourceLineNo">1419</span>      this(RpcServer.getRequestUser());<a name="line.1419"></a>
 <span class="sourceLineNo">1420</span>    }<a name="line.1420"></a>
-<span class="sourceLineNo">1421</span>  }<a name="line.1421"></a>
-<span class="sourceLineNo">1422</span><a name="line.1422"></a>
-<span class="sourceLineNo">1423</span>  private static abstract class CoprocessorOperationWithResult&lt;T&gt; extends CoprocessorOperation {<a name="line.1423"></a>
-<span class="sourceLineNo">1424</span>    private T result = null;<a name="line.1424"></a>
-<span class="sourceLineNo">1425</span>    public void setResult(final T result) { this.result = result; }<a name="line.1425"></a>
-<span class="sourceLineNo">1426</span>    public T getResult() { return this.result; }<a name="line.1426"></a>
-<span class="sourceLineNo">1427</span>  }<a name="line.1427"></a>
+<span class="sourceLineNo">1421</span><a name="line.1421"></a>
+<span class="sourceLineNo">1422</span>    public CoprocessorOperation(User user) {<a name="line.1422"></a>
+<span class="sourceLineNo">1423</span>      super(user);<a name="line.1423"></a>
+<span class="sourceLineNo">1424</span>    }<a name="line.1424"></a>
+<span class="sourceLineNo">1425</span><a name="line.1425"></a>
+<span class="sourceLineNo">1426</span>    public abstract void call(MasterObserver oserver,<a name="line.1426"></a>
+<span class="sourceLineNo">1427</span>        ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException;<a name="line.1427"></a>
 <span class="sourceLineNo">1428</span><a name="line.1428"></a>
-<span class="sourceLineNo">1429</span>  private &lt;T&gt; T execOperationWithResult(final T defaultValue,<a name="line.1429"></a>
-<span class="sourceLineNo">1430</span>      final CoprocessorOperationWithResult&lt;T&gt; ctx) throws IOException {<a name="line.1430"></a>
-<span class="sourceLineNo">1431</span>    if (ctx == null) return defaultValue;<a name="line.1431"></a>
-<span class="sourceLineNo">1432</span>    ctx.setResult(defaultValue);<a name="line.1432"></a>
-<span class="sourceLineNo">1433</span>    execOperation(ctx);<a name="line.1433"></a>
-<span class="sourceLineNo">1434</span>    return ctx.getResult();<a name="line.1434"></a>
-<span class="sourceLineNo">1435</span>  }<a name="line.1435"></a>
-<span class="sourceLineNo">1436</span><a name="line.1436"></a>
-<span class="sourceLineNo">1437</span>  private boolean execOperation(final CoprocessorOperation ctx) throws IOException {<a name="line.1437"></a>
-<span class="sourceLineNo">1438</span>    if (ctx == null) return false;<a name="line.1438"></a>
-<span class="sourceLineNo">1439</span>    boolean bypass = false;<a name="line.1439"></a>
-<span class="sourceLineNo">1440</span>    List&lt;MasterEnvironment&gt; envs = coprocessors.get();<a name="line.1440"></a>
-<span class="sourceLineNo">1441</span>    for (int i = 0; i &lt; envs.size(); i++) {<a name="line.1441"></a>
-<span class="sourceLineNo">1442</span>      MasterEnvironment env = envs.get(i);<a name="line.1442"></a>
-<span class="sourceLineNo">1443</span>      if (env.getInstance() instanceof MasterObserver) {<a name="line.1443"></a>
-<span class="sourceLineNo">1444</span>        ctx.prepare(env);<a name="line.1444"></a>
-<span class="sourceLineNo">1445</span>        Thread currentThread = Thread.currentThread();<a name="line.1445"></a>
-<span class="sourceLineNo">1446</span>        ClassLoader cl = currentThread.getContextClassLoader();<a name="line.1446"></a>
-<span class="sourceLineNo">1447</span>        try {<a name="line.1447"></a>
-<span class="sourceLineNo">1448</span>          currentThread.setContextClassLoader(env.getClassLoader());<a name="line.1448"></a>
-<span class="sourceLineNo">1449</span>          ctx.call((MasterObserver)env.getInstance(), ctx);<a name="line.1449"></a>
-<span class="sourceLineNo">1450</span>        } catch (Throwable e) {<a name="line.1450"></a>
-<span class="sourceLineNo">1451</span>          handleCoprocessorThrowable(env, e);<a name="line.1451"></a>
-<span class="sourceLineNo">1452</span>        } finally {<a name="line.1452"></a>
-<span class="sourceLineNo">1453</span>          currentThread.setContextClassLoader(cl);<a name="line.1453"></a>
-<span class="sourceLineNo">1454</span>        }<a name="line.1454"></a>
-<span class="sourceLineNo">1455</span>        bypass |= ctx.shouldBypass();<a name="line.1455"></a>
-<span class="sourceLineNo">1456</span>        if (ctx.shouldComplete()) {<a name="line.1456"></a>
-<span class="sourceLineNo">1457</span>          break;<a name="line.1457"></a>
-<span class="sourceLineNo">1458</span>        }<a name="line.1458"></a>
-<span class="sourceLineNo">1459</span>      }<a name="line.1459"></a>
-<span class="sourceLineNo">1460</span>      ctx.postEnvCall(env);<a name="line.1460"></a>
-<span class="sourceLineNo">1461</span>    }<a name="line.1461"></a>
-<span class="sourceLineNo">1462</span>    return bypass;<a name="line.1462"></a>
-<span class="sourceLineNo">1463</span>  }<a name="line.1463"></a>
-<span class="sourceLineNo">1464</span><a name="line.1464"></a>
-<span class="sourceLineNo">1465</span>  /**<a name="line.1465"></a>
-<span class="sourceLineNo">1466</span>   * Master coprocessor classes can be configured in any order, based on that priority is set and<a name="line.1466"></a>
-<span class="sourceLineNo">1467</span>   * chained in a sorted order. For preStopMaster()/preShutdown(), coprocessor methods are invoked<a name="line.1467"></a>
-<span class="sourceLineNo">1468</span>   * in call() and environment is shutdown in postEnvCall(). &lt;br&gt;<a name="line.1468"></a>
-<span class="sourceLineNo">1469</span>   * Need to execute all coprocessor methods first then postEnvCall(), otherwise some coprocessors<a name="line.1469"></a>
-<span class="sourceLineNo">1470</span>   * may remain shutdown if any exception occurs during next coprocessor execution which prevent<a name="line.1470"></a>
-<span class="sourceLineNo">1471</span>   * Master stop or cluster shutdown. (Refer:<a name="line.1471"></a>
-<span class="sourceLineNo">1472</span>   * &lt;a href="https://issues.apache.org/jira/browse/HBASE-16663"&gt;HBASE-16663&lt;/a&gt;<a name="line.1472"></a>
-<span class="sourceLineNo">1473</span>   * @param ctx CoprocessorOperation<a name="line.1473"></a>
-<span class="sourceLineNo">1474</span>   * @return true if bypaas coprocessor execution, false if not.<a name="line.1474"></a>
-<span class="sourceLineNo">1475</span>   * @throws IOException<a name="line.1475"></a>
-<span class="sourceLineNo">1476</span>   */<a name="line.1476"></a>
-<span class="sourceLineNo">1477</span>  private boolean execShutdown(final CoprocessorOperation ctx) throws IOException {<a name="line.1477"></a>
-<span class="sourceLineNo">1478</span>    if (ctx == null) return false;<a name="line.1478"></a>
-<span class="sourceLineNo">1479</span>    boolean bypass = false;<a name="line.1479"></a>
-<span class="sourceLineNo">1480</span>    List&lt;MasterEnvironment&gt; envs = coprocessors.get();<a name="line.1480"></a>
-<span class="sourceLineNo">1481</span>    int envsSize = envs.size();<a name="line.1481"></a>
-<span class="sourceLineNo">1482</span>    // Iterate the coprocessors and execute CoprocessorOperation's call()<a name="line.1482"></a>
-<span class="sourceLineNo">1483</span>    for (int i = 0; i &lt; envsSize; i++) {<a name="line.1483"></a>
-<span class="sourceLineNo">1484</span>      MasterEnvironment env = envs.get(i);<a name="line.1484"></a>
-<span class="sourceLineNo">1485</span>      if (env.getInstance() instanceof MasterObserver) {<a name="line.1485"></a>
-<span class="sourceLineNo">1486</span>        ctx.prepare(env);<a name="line.1486"></a>
-<span class="sourceLineNo">1487</span>        Thread currentThread = Thread.currentThread();<a name="line.1487"></a>
-<span class="sourceLineNo">1488</span>        ClassLoader cl = currentThread.getContextClassLoader();<a name="line.1488"></a>
-<span class="sourceLineNo">1489</span>        try {<a name="line.1489"></a>
-<span class="sourceLineNo">1490</span>          currentThread.setContextClassLoader(env.getClassLoader());<a name="line.1490"></a>
-<span class="sourceLineNo">1491</span>          ctx.call((MasterObserver) env.getInstance(), ctx);<a name="line.1491"></a>
-<span class="sourceLineNo">1492</span>        } catch (Throwable e) {<a name="line.1492"></a>
-<span class="sourceLineNo">1493</span>          handleCoprocessorThrowable(env, e);<a name="line.1493"></a>
-<span class="sourceLineNo">1494</span>        } finally {<a name="line.1494"></a>
-<span class="sourceLineNo">1495</span>          currentThread.setContextClassLoader(cl);<a name="line.1495"></a>
-<span class="sourceLineNo">1496</span>        }<a name="line.1496"></a>
-<span class="sourceLineNo">1497</span>        bypass |= ctx.shouldBypass();<a name="line.1497"></a>
-<span class="sourceLineNo">1498</span>        if (ctx.shouldComplete()) {<a name="line.1498"></a>
-<span class="sourceLineNo">1499</span>          break;<a name="line.1499"></a>
-<span class="sourceLineNo">1500</span>        }<a name="line.1500"></a>
-<span class="sourceLineNo">1501</span>      }<a name="line.1501"></a>
-<span class="sourceLineNo">1502</span>    }<a name="line.1502"></a>
-<span class="sourceLineNo">1503</span><a name="line.1503"></a>
-<span class="sourceLineNo">1504</span>    // Iterate the coprocessors and execute CoprocessorOperation's postEnvCall()<a name="line.1504"></a>
-<span class="sourceLineNo">1505</span>    for (int i = 0; i &lt; envsSize; i++) {<a name="line.1505"></a>
-<span class="sourceLineNo">1506</span>      MasterEnvironment env = envs.get(i);<a name="line.1506"></a>
-<span class="sourceLineNo">1507</span>      ctx.postEnvCall(env);<a name="line.1507"></a>
-<span class="sourceLineNo">1508</span>    }<a name="line.1508"></a>
-<span class="sourceLineNo">1509</span>    return bypass;<a name="line.1509"></a>
-<span class="sourceLineNo">1510</span>  }<a name="line.1510"></a>
-<span class="sourceLineNo">1511</span><a name="line.1511"></a>
-<span class="sourceLineNo">1512</span>  public void preMoveServersAndTables(final Set&lt;Address&gt; servers, final Set&lt;TableName&gt; tables, final String targetGroup)<a name="line.1512"></a>
-<span class="sourceLineNo">1513</span>          throws IOException {<a name="line.1513"></a>
-<span class="sourceLineNo">1514</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1514"></a>
-<span class="sourceLineNo">1515</span>      @Override<a name="line.1515"></a>
-<span class="sourceLineNo">1516</span>      public void call(MasterObserver oserver,<a name="line.1516"></a>
-<span class="sourceLineNo">1517</span>                       ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1517"></a>
-<span class="sourceLineNo">1518</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1518"></a>
-<span class="sourceLineNo">1519</span>          oserver.preMoveServersAndTables(ctx, servers, tables, targetGroup);<a name="line.1519"></a>
-<span class="sourceLineNo">1520</span>        }<a name="line.1520"></a>
-<span class="sourceLineNo">1521</span>      }<a name="line.1521"></a>
-<span class="sourceLineNo">1522</span>    });<a name="line.1522"></a>
-<span class="sourceLineNo">1523</span>  }<a name="line.1523"></a>
-<span class="sourceLineNo">1524</span><a name="line.1524"></a>
-<span class="sourceLineNo">1525</span>  public void postMoveServersAndTables(final Set&lt;Address&gt; servers, final Set&lt;TableName&gt; tables, final String targetGroup)<a name="line.1525"></a>
-<span class="sourceLineNo">1526</span>          throws IOException {<a name="line.1526"></a>
-<span class="sourceLineNo">1527</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1527"></a>
-<span class="sourceLineNo">1528</span>      @Override<a name="line.1528"></a>
-<span class="sourceLineNo">1529</span>      public void call(MasterObserver oserver,<a name="line.1529"></a>
-<span class="sourceLineNo">1530</span>                       ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1530"></a>
-<span class="sourceLineNo">1531</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1531"></a>
-<span class="sourceLineNo">1532</span>          oserver.postMoveServersAndTables(ctx, servers, tables, targetGroup);<a name="line.1532"></a>
-<span class="sourceLineNo">1533</span>        }<a name="line.1533"></a>
-<span class="sourceLineNo">1534</span>      }<a name="line.1534"></a>
-<span class="sourceLineNo">1535</span>    });<a name="line.1535"></a>
-<span class="sourceLineNo">1536</span>  }<a name="line.1536"></a>
-<span class="sourceLineNo">1537</span><a name="line.1537"></a>
-<span class="sourceLineNo">1538</span>  public void preMoveServers(final Set&lt;Address&gt; servers, final String targetGroup)<a name="line.1538"></a>
-<span class="sourceLineNo">1539</span>      throws IOException {<a name="line.1539"></a>
-<span class="sourceLineNo">1540</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1540"></a>
-<span class="sourceLineNo">1541</span>      @Override<a name="line.1541"></a>
-<span class="sourceLineNo">1542</span>      public void call(MasterObserver oserver,<a name="line.1542"></a>
-<span class="sourceLineNo">1543</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1543"></a>
-<span class="sourceLineNo">1544</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1544"></a>
-<span class="sourceLineNo">1545</span>          oserver.preMoveServers(ctx, servers, targetGroup);<a name="line.1545"></a>
-<span class="sourceLineNo">1546</span>        }<a name="line.1546"></a>
-<span class="sourceLineNo">1547</span>      }<a name="line.1547"></a>
-<span class="sourceLineNo">1548</span>    });<a name="line.1548"></a>
-<span class="sourceLineNo">1549</span>  }<a name="line.1549"></a>
-<span class="sourceLineNo">1550</span><a name="line.1550"></a>
-<span class="sourceLineNo">1551</span>  public void postMoveServers(final Set&lt;Address&gt; servers, final String targetGroup)<a name="line.1551"></a>
-<span class="sourceLineNo">1552</span>      throws IOException {<a name="line.1552"></a>
-<span class="sourceLineNo">1553</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1553"></a>
-<span class="sourceLineNo">1554</span>      @Override<a name="line.1554"></a>
-<span class="sourceLineNo">1555</span>      public void call(MasterObserver oserver,<a name="line.1555"></a>
-<span class="sourceLineNo">1556</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1556"></a>
-<span class="sourceLineNo">1557</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1557"></a>
-<span class="sourceLineNo">1558</span>          oserver.postMoveServers(ctx, servers, targetGroup);<a name="line.1558"></a>
-<span class="sourceLineNo">1559</span>        }<a name="line.1559"></a>
-<span class="sourceLineNo">1560</span>      }<a name="line.1560"></a>
-<span class="sourceLineNo">1561</span>    });<a name="line.1561"></a>
-<span class="sourceLineNo">1562</span>  }<a name="line.1562"></a>
-<span class="sourceLineNo">1563</span><a name="line.1563"></a>
-<span class="sourceLineNo">1564</span>  public void preMoveTables(final Set&lt;TableName&gt; tables, final String targetGroup)<a name="line.1564"></a>
-<span class="sourceLineNo">1565</span>      throws IOException {<a name="line.1565"></a>
-<span class="sourceLineNo">1566</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1566"></a>
-<span class="sourceLineNo">1567</span>      @Override<a name="line.1567"></a>
-<span class="sourceLineNo">1568</span>      public void call(MasterObserver oserver,<a name="line.1568"></a>
-<span class="sourceLineNo">1569</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1569"></a>
-<span class="sourceLineNo">1570</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1570"></a>
-<span class="sourceLineNo">1571</span>          oserver.preMoveTables(ctx, tables, targetGroup);<a name="line.1571"></a>
-<span class="sourceLineNo">1572</span>        }<a name="line.1572"></a>
-<span class="sourceLineNo">1573</span>      }<a name="line.1573"></a>
-<span class="sourceLineNo">1574</span>    });<a name="line.1574"></a>
-<span class="sourceLineNo">1575</span>  }<a name="line.1575"></a>
-<span class="sourceLineNo">1576</span><a name="line.1576"></a>
-<span class="sourceLineNo">1577</span>  public void postMoveTables(final Set&lt;TableName&gt; tables, final String targetGroup)<a name="line.1577"></a>
-<span class="sourceLineNo">1578</span>      throws IOException {<a name="line.1578"></a>
-<span class="sourceLineNo">1579</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1579"></a>
-<span class="sourceLineNo">1580</span>      @Override<a name="line.1580"></a>
-<span class="sourceLineNo">1581</span>      public void call(MasterObserver oserver,<a name="line.1581"></a>
-<span class="sourceLineNo">1582</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1582"></a>
-<span class="sourceLineNo">1583</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1583"></a>
-<span class="sourceLineNo">1584</span>          oserver.postMoveTables(ctx, tables, targetGroup);<a name="line.1584"></a>
-<span class="sourceLineNo">1585</span>        }<a name="line.1585"></a>
-<span class="sourceLineNo">1586</span>      }<a name="line.1586"></a>
-<span class="sourceLineNo">1587</span>    });<a name="line.1587"></a>
-<span class="sourceLineNo">1588</span>  }<a name="line.1588"></a>
-<span class="sourceLineNo">1589</span><a name="line.1589"></a>
-<span class="sourceLineNo">1590</span>  public void preAddRSGroup(final String name)<a name="line.1590"></a>
-<span class="sourceLineNo">1591</span>      throws IOException {<a name="line.1591"></a>
-<span class="sourceLineNo">1592</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1592"></a>
-<span class="sourceLineNo">1593</span>      @Override<a name="line.1593"></a>
-<span class="sourceLineNo">1594</span>      public void call(MasterObserver oserver,<a name="line.1594"></a>
-<span class="sourceLineNo">1595</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1595"></a>
-<span class="sourceLineNo">1596</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1596"></a>
-<span class="sourceLineNo">1597</span>          oserver.preAddRSGroup(ctx, name);<a name="line.1597"></a>
-<span class="sourceLineNo">1598</span>        }<a name="line.1598"></a>
-<span class="sourceLineNo">1599</span>      }<a name="line.1599"></a>
-<span class="sourceLineNo">1600</span>    });<a name="line.1600"></a>
-<span class="sourceLineNo">1601</span>  }<a name="line.1601"></a>
-<span class="sourceLineNo">1602</span><a name="line.1602"></a>
-<span class="sourceLineNo">1603</span>  public void postAddRSGroup(final String name)<a name="line.1603"></a>
-<span class="sourceLineNo">1604</span>      throws IOException {<a name="line.1604"></a>
-<span class="sourceLineNo">1605</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1605"></a>
-<span class="sourceLineNo">1606</span>      @Override<a name="line.1606"></a>
-<span class="sourceLineNo">1607</span>      public void call(MasterObserver oserver,<a name="line.1607"></a>
-<span class="sourceLineNo">1608</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1608"></a>
-<span class="sourceLineNo">1609</span>        if (((MasterEnvironment) ctx.getEnvironment()).supportGroupCPs) {<a name="line.1609"></a>
-<span class="sourceLineNo">1610</span>          oserver.postAddRSGroup(ctx, name);<a name="line.1610"></a>
-<span class="sourceLineNo">1611</span>        }<a name="line.1611"></a>
-<span class="sourceLineNo">1612</span>      }<a name="line.1612"></a>
-<span class="sourceLineNo">1613</span>    });<a name="line.1613"></a>
-<span class="sourceLineNo">1614</span>  }<a name="line.1614"></a>
-<span class="sourceLineNo">1615</span><a name="line.1615"></a>
-<span class="sourceLineNo">1616</span>  public void preRemoveRSGroup(final String name)<a name="line.1616"></a>
-<span class="sourceLineNo">1617</span>      throws IOException {<a name="line.1617"></a>
-<span class="sourceLineNo">1618</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1618"></a>
-<span class="sourceLineNo">1619</span>      @Override<a name="line.1619"></a>
-<span class="sourceLineNo">1620</span>      public void call(MasterObserver oserver,<a name="line.1620"></a>
-<span class="sourceLineNo">1621</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1621"></a>
-<span class="sourceLineNo">1622</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1622"></a>
-<span class="sourceLineNo">1623</span>          oserver.preRemoveRSGroup(ctx, name);<a name="line.1623"></a>
-<span class="sourceLineNo">1624</span>        }<a name="line.1624"></a>
-<span class="sourceLineNo">1625</span>      }<a name="line.1625"></a>
-<span class="sourceLineNo">1626</span>    });<a name="line.1626"></a>
-<span class="sourceLineNo">1627</span>  }<a name="line.1627"></a>
-<span class="sourceLineNo">1628</span><a name="line.1628"></a>
-<span class="sourceLineNo">1629</span>  public void postRemoveRSGroup(final String name)<a name="line.1629"></a>
-<span class="sourceLineNo">1630</span>      throws IOException {<a name="line.1630"></a>
-<span class="sourceLineNo">1631</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1631"></a>
-<span class="sourceLineNo">1632</span>      @Override<a name="line.1632"></a>
-<span class="sourceLineNo">1633</span>      public void call(MasterObserver oserver,<a name="line.1633"></a>
-<span class="sourceLineNo">1634</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1634"></a>
-<span class="sourceLineNo">1635</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1635"></a>
-<span class="sourceLineNo">1636</span>          oserver.postRemoveRSGroup(ctx, name);<a name="line.1636"></a>
-<span class="sourceLineNo">1637</span>        }<a name="line.1637"></a>
-<span class="sourceLineNo">1638</span>      }<a name="line.1638"></a>
-<span class="sourceLineNo">1639</span>    });<a name="line.1639"></a>
-<span class="sourceLineNo">1640</span>  }<a name="line.1640"></a>
-<span class="sourceLineNo">1641</span><a name="line.1641"></a>
-<span class="sourceLineNo">1642</span>  public void preBalanceRSGroup(final String name)<a name="line.1642"></a>
-<span class="sourceLineNo">1643</span>      throws IOException {<a name="line.1643"></a>
-<span class="sourceLineNo">1644</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1644"></a>
-<span class="sourceLineNo">1645</span>      @Override<a name="line.1645"></a>
-<span class="sourceLineNo">1646</span>      public void call(MasterObserver oserver,<a name="line.1646"></a>
-<span class="sourceLineNo">1647</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1647"></a>
-<span class="sourceLineNo">1648</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1648"></a>
-<span class="sourceLineNo">1649</span>          oserver.preBalanceRSGroup(ctx, name);<a name="line.1649"></a>
-<span class="sourceLineNo">1650</span>        }<a name="line.1650"></a>
-<span class="sourceLineNo">1651</span>      }<a name="line.1651"></a>
-<span class="sourceLineNo">1652</span>    });<a name="line.1652"></a>
-<span class="sourceLineNo">1653</span>  }<a name="line.1653"></a>
-<span class="sourceLineNo">1654</span><a name="line.1654"></a>
-<span class="sourceLineNo">1655</span>  public void postBalanceRSGroup(final String name, final boolean balanceRan)<a name="line.1655"></a>
-<span class="sourceLineNo">1656</span>      throws IOException {<a name="line.1656"></a>
-<span class="sourceLineNo">1657</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1657"></a>
-<span class="sourceLineNo">1658</span>      @Override<a name="line.1658"></a>
-<span class="sourceLineNo">1659</span>      public void call(MasterObserver oserver,<a name="line.1659"></a>
-<span class="sourceLineNo">1660</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1660"></a>
-<span class="sourceLineNo">1661</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1661"></a>
-<span class="sourceLineNo">1662</span>          oserver.postBalanceRSGroup(ctx, name, balanceRan);<a name="line.1662"></a>
-<span class="sourceLineNo">1663</span>        }<a name="line.1663"></a>
-<span class="sourceLineNo">1664</span>      }<a name="line.1664"></a>
-<span class="sourceLineNo">1665</span>    });<a name="line.1665"></a>
-<span class="sourceLineNo">1666</span>  }<a name="line.1666"></a>
-<span class="sourceLineNo">1667</span><a name="line.1667"></a>
-<span class="sourceLineNo">1668</span>  public void preAddReplicationPeer(final String peerId, final ReplicationPeerConfig peerConfig)<a name="line.1668"></a>
-<span class="sourceLineNo">1669</span>      throws IOException {<a name="line.1669"></a>
-<span class="sourceLineNo">1670</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1670"></a>
-<span class="sourceLineNo">1671</span>      @Override<a name="line.1671"></a>
-<span class="sourceLineNo">1672</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1672"></a>
-<span class="sourceLineNo">1673</span>          throws IOException {<a name="line.1673"></a>
-<span class="sourceLineNo">1674</span>        observer.preAddReplicationPeer(ctx, peerId, peerConfig);<a name="line.1674"></a>
-<span class="sourceLineNo">1675</span>      }<a name="line.1675"></a>
-<span class="sourceLineNo">1676</span>    });<a name="line.1676"></a>
-<span class="sourceLineNo">1677</span>  }<a name="line.1677"></a>
-<span class="sourceLineNo">1678</span><a name="line.1678"></a>
-<span class="sourceLineNo">1679</span>  public void postAddReplicationPeer(final String peerId, final ReplicationPeerConfig peerConfig)<a name="line.1679"></a>
-<span class="sourceLineNo">1680</span>      throws IOException {<a name="line.1680"></a>
-<span class="sourceLineNo">1681</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1681"></a>
-<span class="sourceLineNo">1682</span>      @Override<a name="line.1682"></a>
-<span class="sourceLineNo">1683</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1683"></a>
-<span class="sourceLineNo">1684</span>          throws IOException {<a name="line.1684"></a>
-<span class="sourceLineNo">1685</span>        observer.postAddReplicationPeer(ctx, peerId, peerConfig);<a name="line.1685"></a>
-<span class="sourceLineNo">1686</span>      }<a name="line.1686"></a>
-<span class="sourceLineNo">1687</span>    });<a name="line.1687"></a>
-<span class="sourceLineNo">1688</span>  }<a name="line.1688"></a>
-<span class="sourceLineNo">1689</span><a name="line.1689"></a>
-<span class="sourceLineNo">1690</span>  public void preRemoveReplicationPeer(final String peerId) throws IOException {<a name="line.1690"></a>
+<span class="sourceLineNo">1429</span>    public void postEnvCall(MasterEnvironment env) {<a name="line.1429"></a>
+<span class="sourceLineNo">1430</span>    }<a name="line.1430"></a>
+<span class="sourceLineNo">1431</span>  }<a name="line.1431"></a>
+<span class="sourceLineNo">1432</span><a name="line.1432"></a>
+<span class="sourceLineNo">1433</span>  private static abstract class CoprocessorOperationWithResult&lt;T&gt; extends CoprocessorOperation {<a name="line.1433"></a>
+<span class="sourceLineNo">1434</span>    private T result = null;<a name="line.1434"></a>
+<span class="sourceLineNo">1435</span>    public void setResult(final T result) { this.result = result; }<a name="line.1435"></a>
+<span class="sourceLineNo">1436</span>    public T getResult() { return this.result; }<a name="line.1436"></a>
+<span class="sourceLineNo">1437</span>  }<a name="line.1437"></a>
+<span class="sourceLineNo">1438</span><a name="line.1438"></a>
+<span class="sourceLineNo">1439</span>  private &lt;T&gt; T execOperationWithResult(final T defaultValue,<a name="line.1439"></a>
+<span class="sourceLineNo">1440</span>      final CoprocessorOperationWithResult&lt;T&gt; ctx) throws IOException {<a name="line.1440"></a>
+<span class="sourceLineNo">1441</span>    if (ctx == null) return defaultValue;<a name="line.1441"></a>
+<span class="sourceLineNo">1442</span>    ctx.setResult(defaultValue);<a name="line.1442"></a>
+<span class="sourceLineNo">1443</span>    execOperation(ctx);<a name="line.1443"></a>
+<span class="sourceLineNo">1444</span>    return ctx.getResult();<a name="line.1444"></a>
+<span class="sourceLineNo">1445</span>  }<a name="line.1445"></a>
+<span class="sourceLineNo">1446</span><a name="line.1446"></a>
+<span class="sourceLineNo">1447</span>  private boolean execOperation(final CoprocessorOperation ctx) throws IOException {<a name="line.1447"></a>
+<span class="sourceLineNo">1448</span>    if (ctx == null) return false;<a name="line.1448"></a>
+<span class="sourceLineNo">1449</span>    boolean bypass = false;<a name="line.1449"></a>
+<span class="sourceLineNo">1450</span>    List&lt;MasterEnvironment&gt; envs = coprocessors.get();<a name="line.1450"></a>
+<span class="sourceLineNo">1451</span>    for (int i = 0; i &lt; envs.size(); i++) {<a name="line.1451"></a>
+<span class="sourceLineNo">1452</span>      MasterEnvironment env = envs.get(i);<a name="line.1452"></a>
+<span class="sourceLineNo">1453</span>      if (env.getInstance() instanceof MasterObserver) {<a name="line.1453"></a>
+<span class="sourceLineNo">1454</span>        ctx.prepare(env);<a name="line.1454"></a>
+<span class="sourceLineNo">1455</span>        Thread currentThread = Thread.currentThread();<a name="line.1455"></a>
+<span class="sourceLineNo">1456</span>        ClassLoader cl = currentThread.getContextClassLoader();<a name="line.1456"></a>
+<span class="sourceLineNo">1457</span>        try {<a name="line.1457"></a>
+<span class="sourceLineNo">1458</span>          currentThread.setContextClassLoader(env.getClassLoader());<a name="line.1458"></a>
+<span class="sourceLineNo">1459</span>          ctx.call((MasterObserver)env.getInstance(), ctx);<a name="line.1459"></a>
+<span class="sourceLineNo">1460</span>        } catch (Throwable e) {<a name="line.1460"></a>
+<span class="sourceLineNo">1461</span>          handleCoprocessorThrowable(env, e);<a name="line.1461"></a>
+<span class="sourceLineNo">1462</span>        } finally {<a name="line.1462"></a>
+<span class="sourceLineNo">1463</span>          currentThread.setContextClassLoader(cl);<a name="line.1463"></a>
+<span class="sourceLineNo">1464</span>        }<a name="line.1464"></a>
+<span class="sourceLineNo">1465</span>        bypass |= ctx.shouldBypass();<a name="line.1465"></a>
+<span class="sourceLineNo">1466</span>        if (ctx.shouldComplete()) {<a name="line.1466"></a>
+<span class="sourceLineNo">1467</span>          break;<a name="line.1467"></a>
+<span class="sourceLineNo">1468</span>        }<a name="line.1468"></a>
+<span class="sourceLineNo">1469</span>      }<a name="line.1469"></a>
+<span class="sourceLineNo">1470</span>      ctx.postEnvCall(env);<a name="line.1470"></a>
+<span class="sourceLineNo">1471</span>    }<a name="line.1471"></a>
+<span class="sourceLineNo">1472</span>    return bypass;<a name="line.1472"></a>
+<span class="sourceLineNo">1473</span>  }<a name="line.1473"></a>
+<span class="sourceLineNo">1474</span><a name="line.1474"></a>
+<span class="sourceLineNo">1475</span>  /**<a name="line.1475"></a>
+<span class="sourceLineNo">1476</span>   * Master coprocessor classes can be configured in any order, based on that priority is set and<a name="line.1476"></a>
+<span class="sourceLineNo">1477</span>   * chained in a sorted order. For preStopMaster()/preShutdown(), coprocessor methods are invoked<a name="line.1477"></a>
+<span class="sourceLineNo">1478</span>   * in call() and environment is shutdown in postEnvCall(). &lt;br&gt;<a name="line.1478"></a>
+<span class="sourceLineNo">1479</span>   * Need to execute all coprocessor methods first then postEnvCall(), otherwise some coprocessors<a name="line.1479"></a>
+<span class="sourceLineNo">1480</span>   * may remain shutdown if any exception occurs during next coprocessor execution which prevent<a name="line.1480"></a>
+<span class="sourceLineNo">1481</span>   * Master stop or cluster shutdown. (Refer:<a name="line.1481"></a>
+<span class="sourceLineNo">1482</span>   * &lt;a href="https://issues.apache.org/jira/browse/HBASE-16663"&gt;HBASE-16663&lt;/a&gt;<a name="line.1482"></a>
+<span class="sourceLineNo">1483</span>   * @param ctx CoprocessorOperation<a name="line.1483"></a>
+<span class="sourceLineNo">1484</span>   * @return true if bypaas coprocessor execution, false if not.<a name="line.1484"></a>
+<span class="sourceLineNo">1485</span>   * @throws IOException<a name="line.1485"></a>
+<span class="sourceLineNo">1486</span>   */<a name="line.1486"></a>
+<span class="sourceLineNo">1487</span>  private boolean execShutdown(final CoprocessorOperation ctx) throws IOException {<a name="line.1487"></a>
+<span class="sourceLineNo">1488</span>    if (ctx == null) return false;<a name="line.1488"></a>
+<span class="sourceLineNo">1489</span>    boolean bypass = false;<a name="line.1489"></a>
+<span class="sourceLineNo">1490</span>    List&lt;MasterEnvironment&gt; envs = coprocessors.get();<a name="line.1490"></a>
+<span class="sourceLineNo">1491</span>    int envsSize = envs.size();<a name="line.1491"></a>
+<span class="sourceLineNo">1492</span>    // Iterate the coprocessors and execute CoprocessorOperation's call()<a name="line.1492"></a>
+<span class="sourceLineNo">1493</span>    for (int i = 0; i &lt; envsSize; i++) {<a name="line.1493"></a>
+<span class="sourceLineNo">1494</span>      MasterEnvironment env = envs.get(i);<a name="line.1494"></a>
+<span class="sourceLineNo">1495</span>      if (env.getInstance() instanceof MasterObserver) {<a name="line.1495"></a>
+<span class="sourceLineNo">1496</span>        ctx.prepare(env);<a name="line.1496"></a>
+<span class="sourceLineNo">1497</span>        Thread currentThread = Thread.currentThread();<a name="line.1497"></a>
+<span class="sourceLineNo">1498</span>        ClassLoader cl = currentThread.getContextClassLoader();<a name="line.1498"></a>
+<span class="sourceLineNo">1499</span>        try {<a name="line.1499"></a>
+<span class="sourceLineNo">1500</span>          currentThread.setContextClassLoader(env.getClassLoader());<a name="line.1500"></a>
+<span class="sourceLineNo">1501</span>          ctx.call((MasterObserver) env.getInstance(), ctx);<a name="line.1501"></a>
+<span class="sourceLineNo">1502</span>        } catch (Throwable e) {<a name="line.1502"></a>
+<span class="sourceLineNo">1503</span>          handleCoprocessorThrowable(env, e);<a name="line.1503"></a>
+<span class="sourceLineNo">1504</span>        } finally {<a name="line.1504"></a>
+<span class="sourceLineNo">1505</span>          currentThread.setContextClassLoader(cl);<a name="line.1505"></a>
+<span class="sourceLineNo">1506</span>        }<a name="line.1506"></a>
+<span class="sourceLineNo">1507</span>        bypass |= ctx.shouldBypass();<a name="line.1507"></a>
+<span class="sourceLineNo">1508</span>        if (ctx.shouldComplete()) {<a name="line.1508"></a>
+<span class="sourceLineNo">1509</span>          break;<a name="line.1509"></a>
+<span class="sourceLineNo">1510</span>        }<a name="line.1510"></a>
+<span class="sourceLineNo">1511</span>      }<a name="line.1511"></a>
+<span class="sourceLineNo">1512</span>    }<a name="line.1512"></a>
+<span class="sourceLineNo">1513</span><a name="line.1513"></a>
+<span class="sourceLineNo">1514</span>    // Iterate the coprocessors and execute CoprocessorOperation's postEnvCall()<a name="line.1514"></a>
+<span class="sourceLineNo">1515</span>    for (int i = 0; i &lt; envsSize; i++) {<a name="line.1515"></a>
+<span class="sourceLineNo">1516</span>      MasterEnvironment env = envs.get(i);<a name="line.1516"></a>
+<span class="sourceLineNo">1517</span>      ctx.postEnvCall(env);<a name="line.1517"></a>
+<span class="sourceLineNo">1518</span>    }<a name="line.1518"></a>
+<span class="sourceLineNo">1519</span>    return bypass;<a name="line.1519"></a>
+<span class="sourceLineNo">1520</span>  }<a name="line.1520"></a>
+<span class="sourceLineNo">1521</span><a name="line.1521"></a>
+<span class="sourceLineNo">1522</span>  public void preMoveServersAndTables(final Set&lt;Address&gt; servers, final Set&lt;TableName&gt; tables, final String targetGroup)<a name="line.1522"></a>
+<span class="sourceLineNo">1523</span>          throws IOException {<a name="line.1523"></a>
+<span class="sourceLineNo">1524</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1524"></a>
+<span class="sourceLineNo">1525</span>      @Override<a name="line.1525"></a>
+<span class="sourceLineNo">1526</span>      public void call(MasterObserver oserver,<a name="line.1526"></a>
+<span class="sourceLineNo">1527</span>                       ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1527"></a>
+<span class="sourceLineNo">1528</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1528"></a>
+<span class="sourceLineNo">1529</span>          oserver.preMoveServersAndTables(ctx, servers, tables, targetGroup);<a name="line.1529"></a>
+<span class="sourceLineNo">1530</span>        }<a name="line.1530"></a>
+<span class="sourceLineNo">1531</span>      }<a name="line.1531"></a>
+<span class="sourceLineNo">1532</span>    });<a name="line.1532"></a>
+<span class="sourceLineNo">1533</span>  }<a name="line.1533"></a>
+<span class="sourceLineNo">1534</span><a name="line.1534"></a>
+<span class="sourceLineNo">1535</span>  public void postMoveServersAndTables(final Set&lt;Address&gt; servers, final Set&lt;TableName&gt; tables, final String targetGroup)<a name="line.1535"></a>
+<span class="sourceLineNo">1536</span>          throws IOException {<a name="line.1536"></a>
+<span class="sourceLineNo">1537</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1537"></a>
+<span class="sourceLineNo">1538</span>      @Override<a name="line.1538"></a>
+<span class="sourceLineNo">1539</span>      public void call(MasterObserver oserver,<a name="line.1539"></a>
+<span class="sourceLineNo">1540</span>                       ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1540"></a>
+<span class="sourceLineNo">1541</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1541"></a>
+<span class="sourceLineNo">1542</span>          oserver.postMoveServersAndTables(ctx, servers, tables, targetGroup);<a name="line.1542"></a>
+<span class="sourceLineNo">1543</span>        }<a name="line.1543"></a>
+<span class="sourceLineNo">1544</span>      }<a name="line.1544"></a>
+<span class="sourceLineNo">1545</span>    });<a name="line.1545"></a>
+<span class="sourceLineNo">1546</span>  }<a name="line.1546"></a>
+<span class="sourceLineNo">1547</span><a name="line.1547"></a>
+<span class="sourceLineNo">1548</span>  public void preMoveServers(final Set&lt;Address&gt; servers, final String targetGroup)<a name="line.1548"></a>
+<span class="sourceLineNo">1549</span>      throws IOException {<a name="line.1549"></a>
+<span class="sourceLineNo">1550</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1550"></a>
+<span class="sourceLineNo">1551</span>      @Override<a name="line.1551"></a>
+<span class="sourceLineNo">1552</span>      public void call(MasterObserver oserver,<a name="line.1552"></a>
+<span class="sourceLineNo">1553</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1553"></a>
+<span class="sourceLineNo">1554</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1554"></a>
+<span class="sourceLineNo">1555</span>          oserver.preMoveServers(ctx, servers, targetGroup);<a name="line.1555"></a>
+<span class="sourceLineNo">1556</span>        }<a name="line.1556"></a>
+<span class="sourceLineNo">1557</span>      }<a name="line.1557"></a>
+<span class="sourceLineNo">1558</span>    });<a name="line.1558"></a>
+<span class="sourceLineNo">1559</span>  }<a name="line.1559"></a>
+<span class="sourceLineNo">1560</span><a name="line.1560"></a>
+<span class="sourceLineNo">1561</span>  public void postMoveServers(final Set&lt;Address&gt; servers, final String targetGroup)<a name="line.1561"></a>
+<span class="sourceLineNo">1562</span>      throws IOException {<a name="line.1562"></a>
+<span class="sourceLineNo">1563</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1563"></a>
+<span class="sourceLineNo">1564</span>      @Override<a name="line.1564"></a>
+<span class="sourceLineNo">1565</span>      public void call(MasterObserver oserver,<a name="line.1565"></a>
+<span class="sourceLineNo">1566</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1566"></a>
+<span class="sourceLineNo">1567</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1567"></a>
+<span class="sourceLineNo">1568</span>          oserver.postMoveServers(ctx, servers, targetGroup);<a name="line.1568"></a>
+<span class="sourceLineNo">1569</span>        }<a name="line.1569"></a>
+<span class="sourceLineNo">1570</span>      }<a name="line.1570"></a>
+<span class="sourceLineNo">1571</span>    });<a name="line.1571"></a>
+<span class="sourceLineNo">1572</span>  }<a name="line.1572"></a>
+<span class="sourceLineNo">1573</span><a name="line.1573"></a>
+<span class="sourceLineNo">1574</span>  public void preMoveTables(final Set&lt;TableName&gt; tables, final String targetGroup)<a name="line.1574"></a>
+<span class="sourceLineNo">1575</span>      throws IOException {<a name="line.1575"></a>
+<span class="sourceLineNo">1576</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1576"></a>
+<span class="sourceLineNo">1577</span>      @Override<a name="line.1577"></a>
+<span class="sourceLineNo">1578</span>      public void call(MasterObserver oserver,<a name="line.1578"></a>
+<span class="sourceLineNo">1579</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1579"></a>
+<span class="sourceLineNo">1580</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1580"></a>
+<span class="sourceLineNo">1581</span>          oserver.preMoveTables(ctx, tables, targetGroup);<a name="line.1581"></a>
+<span class="sourceLineNo">1582</span>        }<a name="line.1582"></a>
+<span class="sourceLineNo">1583</span>      }<a name="line.1583"></a>
+<span class="sourceLineNo">1584</span>    });<a name="line.1584"></a>
+<span class="sourceLineNo">1585</span>  }<a name="line.1585"></a>
+<span class="sourceLineNo">1586</span><a name="line.1586"></a>
+<span class="sourceLineNo">1587</span>  public void postMoveTables(final Set&lt;TableName&gt; tables, final String targetGroup)<a name="line.1587"></a>
+<span class="sourceLineNo">1588</span>      throws IOException {<a name="line.1588"></a>
+<span class="sourceLineNo">1589</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1589"></a>
+<span class="sourceLineNo">1590</span>      @Override<a name="line.1590"></a>
+<span class="sourceLineNo">1591</span>      public void call(MasterObserver oserver,<a name="line.1591"></a>
+<span class="sourceLineNo">1592</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1592"></a>
+<span class="sourceLineNo">1593</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1593"></a>
+<span class="sourceLineNo">1594</span>          oserver.postMoveTables(ctx, tables, targetGroup);<a name="line.1594"></a>
+<span class="sourceLineNo">1595</span>        }<a name="line.1595"></a>
+<span class="sourceLineNo">1596</span>      }<a name="line.1596"></a>
+<span class="sourceLineNo">1597</span>    });<a name="line.1597"></a>
+<span class="sourceLineNo">1598</span>  }<a name="line.1598"></a>
+<span class="sourceLineNo">1599</span><a name="line.1599"></a>
+<span class="sourceLineNo">1600</span>  public void preAddRSGroup(final String name)<a name="line.1600"></a>
+<span class="sourceLineNo">1601</span>      throws IOException {<a name="line.1601"></a>
+<span class="sourceLineNo">1602</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1602"></a>
+<span class="sourceLineNo">1603</span>      @Override<a name="line.1603"></a>
+<span class="sourceLineNo">1604</span>      public void call(MasterObserver oserver,<a name="line.1604"></a>
+<span class="sourceLineNo">1605</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1605"></a>
+<span class="sourceLineNo">1606</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1606"></a>
+<span class="sourceLineNo">1607</span>          oserver.preAddRSGroup(ctx, name);<a name="line.1607"></a>
+<span class="sourceLineNo">1608</span>        }<a name="line.1608"></a>
+<span class="sourceLineNo">1609</span>      }<a name="line.1609"></a>
+<span class="sourceLineNo">1610</span>    });<a name="line.1610"></a>
+<span class="sourceLineNo">1611</span>  }<a name="line.1611"></a>
+<span class="sourceLineNo">1612</span><a name="line.1612"></a>
+<span class="sourceLineNo">1613</span>  public void postAddRSGroup(final String name)<a name="line.1613"></a>
+<span class="sourceLineNo">1614</span>      throws IOException {<a name="line.1614"></a>
+<span class="sourceLineNo">1615</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1615"></a>
+<span class="sourceLineNo">1616</span>      @Override<a name="line.1616"></a>
+<span class="sourceLineNo">1617</span>      public void call(MasterObserver oserver,<a name="line.1617"></a>
+<span class="sourceLineNo">1618</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1618"></a>
+<span class="sourceLineNo">1619</span>        if (((MasterEnvironment) ctx.getEnvironment()).supportGroupCPs) {<a name="line.1619"></a>
+<span class="sourceLineNo">1620</span>          oserver.postAddRSGroup(ctx, name);<a name="line.1620"></a>
+<span class="sourceLineNo">1621</span>        }<a name="line.1621"></a>
+<span class="sourceLineNo">1622</span>      }<a name="line.1622"></a>
+<span class="sourceLineNo">1623</span>    });<a name="line.1623"></a>
+<span class="sourceLineNo">1624</span>  }<a name="line.1624"></a>
+<span class="sourceLineNo">1625</span><a name="line.1625"></a>
+<span class="sourceLineNo">1626</span>  public void preRemoveRSGroup(final String name)<a name="line.1626"></a>
+<span class="sourceLineNo">1627</span>      throws IOException {<a name="line.1627"></a>
+<span class="sourceLineNo">1628</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1628"></a>
+<span class="sourceLineNo">1629</span>      @Override<a name="line.1629"></a>
+<span class="sourceLineNo">1630</span>      public void call(MasterObserver oserver,<a name="line.1630"></a>
+<span class="sourceLineNo">1631</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1631"></a>
+<span class="sourceLineNo">1632</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1632"></a>
+<span class="sourceLineNo">1633</span>          oserver.preRemoveRSGroup(ctx, name);<a name="line.1633"></a>
+<span class="sourceLineNo">1634</span>        }<a name="line.1634"></a>
+<span class="sourceLineNo">1635</span>      }<a name="line.1635"></a>
+<span class="sourceLineNo">1636</span>    });<a name="line.1636"></a>
+<span class="sourceLineNo">1637</span>  }<a name="line.1637"></a>
+<span class="sourceLineNo">1638</span><a name="line.1638"></a>
+<span class="sourceLineNo">1639</span>  public void postRemoveRSGroup(final String name)<a name="line.1639"></a>
+<span class="sourceLineNo">1640</span>      throws IOException {<a name="line.1640"></a>
+<span class="sourceLineNo">1641</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1641"></a>
+<span class="sourceLineNo">1642</span>      @Override<a name="line.1642"></a>
+<span class="sourceLineNo">1643</span>      public void call(MasterObserver oserver,<a name="line.1643"></a>
+<span class="sourceLineNo">1644</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1644"></a>
+<span class="sourceLineNo">1645</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1645"></a>
+<span class="sourceLineNo">1646</span>          oserver.postRemoveRSGroup(ctx, name);<a name="line.1646"></a>
+<span class="sourceLineNo">1647</span>        }<a name="line.1647"></a>
+<span class="sourceLineNo">1648</span>      }<a name="line.1648"></a>
+<span class="sourceLineNo">1649</span>    });<a name="line.1649"></a>
+<span class="sourceLineNo">1650</span>  }<a name="line.1650"></a>
+<span class="sourceLineNo">1651</span><a name="line.1651"></a>
+<span class="sourceLineNo">1652</span>  public void preBalanceRSGroup(final String name)<a name="line.1652"></a>
+<span class="sourceLineNo">1653</span>      throws IOException {<a name="line.1653"></a>
+<span class="sourceLineNo">1654</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1654"></a>
+<span class="sourceLineNo">1655</span>      @Override<a name="line.1655"></a>
+<span class="sourceLineNo">1656</span>      public void call(MasterObserver oserver,<a name="line.1656"></a>
+<span class="sourceLineNo">1657</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1657"></a>
+<span class="sourceLineNo">1658</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1658"></a>
+<span class="sourceLineNo">1659</span>          oserver.preBalanceRSGroup(ctx, name);<a name="line.1659"></a>
+<span class="sourceLineNo">1660</span>        }<a name="line.1660"></a>
+<span class="sourceLineNo">1661</span>      }<a name="line.1661"></a>
+<span class="sourceLineNo">1662</span>    });<a name="line.1662"></a>
+<span class="sourceLineNo">1663</span>  }<a name="line.1663"></a>
+<span class="sourceLineNo">1664</span><a name="line.1664"></a>
+<span class="sourceLineNo">1665</span>  public void postBalanceRSGroup(final String name, final boolean balanceRan)<a name="line.1665"></a>
+<span class="sourceLineNo">1666</span>      throws IOException {<a name="line.1666"></a>
+<span class="sourceLineNo">1667</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1667"></a>
+<span class="sourceLineNo">1668</span>      @Override<a name="line.1668"></a>
+<span class="sourceLineNo">1669</span>      public void call(MasterObserver oserver,<a name="line.1669"></a>
+<span class="sourceLineNo">1670</span>          ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {<a name="line.1670"></a>
+<span class="sourceLineNo">1671</span>        if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) {<a name="line.1671"></a>
+<span class="sourceLineNo">1672</span>          oserver.postBalanceRSGroup(ctx, name, balanceRan);<a name="line.1672"></a>
+<span class="sourceLineNo">1673</span>        }<a name="line.1673"></a>
+<span class="sourceLineNo">1674</span>      }<a name="line.1674"></a>
+<span class="sourceLineNo">1675</span>    });<a name="line.1675"></a>
+<span class="sourceLineNo">1676</span>  }<a name="line.1676"></a>
+<span class="sourceLineNo">1677</span><a name="line.1677"></a>
+<span class="sourceLineNo">1678</span>  public void preAddReplicationPeer(final String peerId, final ReplicationPeerConfig peerConfig)<a name="line.1678"></a>
+<span class="sourceLineNo">1679</span>      throws IOException {<a name="line.1679"></a>
+<span class="sourceLineNo">1680</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1680"></a>
+<span class="sourceLineNo">1681</span>      @Override<a name="line.1681"></a>
+<span class="sourceLineNo">1682</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1682"></a>
+<span class="sourceLineNo">1683</span>          throws IOException {<a name="line.1683"></a>
+<span class="sourceLineNo">1684</span>        observer.preAddReplicationPeer(ctx, peerId, peerConfig);<a name="line.1684"></a>
+<span class="sourceLineNo">1685</span>      }<a name="line.1685"></a>
+<span class="sourceLineNo">1686</span>    });<a name="line.1686"></a>
+<span class="sourceLineNo">1687</span>  }<a name="line.1687"></a>
+<span class="sourceLineNo">1688</span><a name="line.1688"></a>
+<span class="sourceLineNo">1689</span>  public void postAddReplicationPeer(final String peerId, final ReplicationPeerConfig peerConfig)<a name="line.1689"></a>
+<span class="sourceLineNo">1690</span>      throws IOException {<a name="line.1690"></a>
 <span class="sourceLineNo">1691</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1691"></a>
 <span class="sourceLineNo">1692</span>      @Override<a name="line.1692"></a>
 <span class="sourceLineNo">1693</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1693"></a>
 <span class="sourceLineNo">1694</span>          throws IOException {<a name="line.1694"></a>
-<span class="sourceLineNo">1695</span>        observer.preRemoveReplicationPeer(ctx, peerId);<a name="line.1695"></a>
+<span class="sourceLineNo">1695</span>        observer.postAddReplicationPeer(ctx, peerId, peerConfig);<a name="line.1695"></a>
 <span class="sourceLineNo">1696</span>      }<a name="line.1696"></a>
 <span class="sourceLineNo">1697</span>    });<a name="line.1697"></a>
 <span class="sourceLineNo">1698</span>  }<a name="line.1698"></a>
 <span class="sourceLineNo">1699</span><a name="line.1699"></a>
-<span class="sourceLineNo">1700</span>  public void postRemoveReplicationPeer(final String peerId) throws IOException {<a name="line.1700"></a>
+<span class="sourceLineNo">1700</span>  public void preRemoveReplicationPeer(final String peerId) throws IOException {<a name="line.1700"></a>
 <span class="sourceLineNo">1701</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1701"></a>
 <span class="sourceLineNo">1702</span>      @Override<a name="line.1702"></a>
 <span class="sourceLineNo">1703</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1703"></a>
 <span class="sourceLineNo">1704</span>          throws IOException {<a name="line.1704"></a>
-<span class="sourceLineNo">1705</span>        observer.postRemoveReplicationPeer(ctx, peerId);<a name="line.1705"></a>
+<span class="sourceLineNo">1705</span>        observer.preRemoveReplicationPeer(ctx, peerId);<a name="line.1705"></a>
 <span class="sourceLineNo">1706</span>      }<a name="line.1706"></a>
 <span class="sourceLineNo">1707</span>    });<a name="line.1707"></a>
 <span class="sourceLineNo">1708</span>  }<a name="line.1708"></a>
 <span class="sourceLineNo">1709</span><a name="line.1709"></a>
-<span class="sourceLineNo">1710</span>  public void preEnableReplicationPeer(final String peerId) throws IOException {<a name="line.1710"></a>
+<span class="sourceLineNo">1710</span>  public void postRemoveReplicationPeer(final String peerId) throws IOException {<a name="line.1710"></a>
 <span class="sourceLineNo">1711</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1711"></a>
 <span class="sourceLineNo">1712</span>      @Override<a name="line.1712"></a>
 <span class="sourceLineNo">1713</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1713"></a>
 <span class="sourceLineNo">1714</span>          throws IOException {<a name="line.1714"></a>
-<span class="sourceLineNo">1715</span>        observer.preEnableReplicationPeer(ctx, peerId);<a name="line.1715"></a>
+<span class="sourceLineNo">1715</span>        observer.postRemoveReplicationPeer(ctx, peerId);<a name="line.1715"></a>
 <span class="sourceLineNo">1716</span>      }<a name="line.1716"></a>
 <span class="sourceLineNo">1717</span>    });<a name="line.1717"></a>
 <span class="sourceLineNo">1718</span>  }<a name="line.1718"></a>
 <span class="sourceLineNo">1719</span><a name="line.1719"></a>
-<span class="sourceLineNo">1720</span>  public void postEnableReplicationPeer(final String peerId) throws IOException {<a name="line.1720"></a>
+<span class="sourceLineNo">1720</span>  public void preEnableReplicationPeer(final String peerId) throws IOException {<a name="line.1720"></a>
 <span class="sourceLineNo">1721</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1721"></a>
 <span class="sourceLineNo">1722</span>      @Override<a name="line.1722"></a>
 <span class="sourceLineNo">1723</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1723"></a>
 <span class="sourceLineNo">1724</span>          throws IOException {<a name="line.1724"></a>
-<span class="sourceLineNo">1725</span>        observer.postEnableReplicationPeer(ctx, peerId);<a name="line.1725"></a>
+<span class="sourceLineNo">1725</span>        observer.preEnableReplicationPeer(ctx, peerId);<a name="line.1725"></a>
 <span class="sourceLineNo">1726</span>      }<a name="line.1726"></a>
 <span class="sourceLineNo">1727</span>    });<a name="line.1727"></a>
 <span class="sourceLineNo">1728</span>  }<a name="line.1728"></a>
 <span class="sourceLineNo">1729</span><a name="line.1729"></a>
-<span class="sourceLineNo">1730</span>  public void preDisableReplicationPeer(final String peerId) throws IOException {<a name="line.1730"></a>
+<span class="sourceLineNo">1730</span>  public void postEnableReplicationPeer(final String peerId) throws IOException {<a name="line.1730"></a>
 <span class="sourceLineNo">1731</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1731"></a>
 <span class="sourceLineNo">1732</span>      @Override<a name="line.1732"></a>
 <span class="sourceLineNo">1733</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1733"></a>
 <span class="sourceLineNo">1734</span>          throws IOException {<a name="line.1734"></a>
-<span class="sourceLineNo">1735</span>        observer.preDisableReplicationPeer(ctx, peerId);<a name="line.1735"></a>
+<span class="sourceLineNo">1735</span>        observer.postEnableReplicationPeer(ctx, peerId);<a name="line.1735"></a>
 <span class="sourceLineNo">1736</span>      }<a name="line.1736"></a>
 <span class="sourceLineNo">1737</span>    });<a name="line.1737"></a>
 <span class="sourceLineNo">1738</span>  }<a name="line.1738"></a>
 <span class="sourceLineNo">1739</span><a name="line.1739"></a>
-<span class="sourceLineNo">1740</span>  public void postDisableReplicationPeer(final String peerId) throws IOException {<a name="line.1740"></a>
+<span class="sourceLineNo">1740</span>  public void preDisableReplicationPeer(final String peerId) throws IOException {<a name="line.1740"></a>
 <span class="sourceLineNo">1741</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1741"></a>
 <span class="sourceLineNo">1742</span>      @Override<a name="line.1742"></a>
 <span class="sourceLineNo">1743</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1743"></a>
 <span class="sourceLineNo">1744</span>          throws IOException {<a name="line.1744"></a>
-<span class="sourceLineNo">1745</span>        observer.postDisableReplicationPeer(ctx, peerId);<a name="line.1745"></a>
+<span class="sourceLineNo">1745</span>        observer.preDisableReplicationPeer(ctx, peerId);<a name="line.1745"></a>
 <span class="sourceLineNo">1746</span>      }<a name="line.1746"></a>
 <span class="sourceLineNo">1747</span>    });<a name="line.1747"></a>
 <span class="sourceLineNo">1748</span>  }<a name="line.1748"></a>
 <span class="sourceLineNo">1749</span><a name="line.1749"></a>
-<span class="sourceLineNo">1750</span>  public void preGetReplicationPeerConfig(final String peerId) throws IOException {<a name="line.1750"></a>
+<span class="sourceLineNo">1750</span>  public void postDisableReplicationPeer(final String peerId) throws IOException {<a name="line.1750"></a>
 <span class="sourceLineNo">1751</span>    execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {<a name="line.1751"></a>
 <span class="sourceLineNo">1752</span>      @Override<a name="line.1752"></a>
 <span class="sourceLineNo">1753</span>      public void call(MasterObserver observer, ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.1753"></a>
 <span class="sourceLineNo">1754</span>          throws IOException {<a name="line.1754"></a>
-<span class="sourceLineNo">1755</span>        observer.preGetReplicationPeerConfig(ctx, peerId);<a name="line.1755"></a>
+<span class="sourceLineNo">1755</span>        observer.postDisableReplicationPeer(ctx, peerId);<a name="line.1755"></a>

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/security/access/CoprocessorWhitelistMasterObserver.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/access/CoprocessorWhitelistMasterObserver.html b/devapidocs/org/apache/hadoop/hbase/security/access/CoprocessorWhitelistMasterObserver.html
index 241708a..9363e91 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/access/CoprocessorWhitelistMasterObserver.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/access/CoprocessorWhitelistMasterObserver.html
@@ -244,7 +244,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postAbortProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postAddColumnFamily</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postAddReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postAddRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAs
 sign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postAssign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postBalance</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-boolean-">postBalanceRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-boolean-">postBalanceSwitch</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postClearDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCloneSnapshot-org.apache.hado
 op.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postCloneSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedAddColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postCompletedAddColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCompletedCreateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-b
 yte:A-">postCompletedDeleteColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDeleteTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDisableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedEnableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.h
 base.client.RegionInfo-">postCompletedMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postCompletedModifyColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/copro
 cessor/MasterObserver.html#postCompletedTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedTruncateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postCreateNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCreateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">postDeleteColumnFamily</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDele
 teNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDeleteNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">postDeleteSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDeleteTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDisableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDisableTabl
 e</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postEnableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postEnableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postGetLocks</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postGetNamespaceDescriptor</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverCon
 text-java.util.List-">postGetProcedures</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postGetReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">postGetTableDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">postGetTableNames</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postListDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListNamespaceDescri
 ptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postListNamespaceDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postListReplicationPeers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">postListSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.master.locking.LockProcedure-boolean-">postLockHeartbeat</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.cli
 ent.RegionInfo:A-">postMergeRegions</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postMergeRegionsCommitAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postModifyColumnFamily</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop
 .hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">postMove</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">postMoveServersAndTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveTable
 s</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postRegionOffline</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.procedure2.LockType-java.lang.String-">postRequestLock</a>, <a href="../../../../../../org/apa
 che/hadoop/hbase/coprocessor/MasterObserver.html#postRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postRestoreSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postRollBackMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postRollBackSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetNamespaceQuota<
 /a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">postSetSplitOrMergeEnabled</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetTableQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.
 hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postStartMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postStartMaster</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverCon
 text-org.apache.hadoop.hbase.TableName-">postTableFlush</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTruncateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">postUnassign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postUpdateReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.procedure2.ProcedureExecutor-long-">preAbortProc
 edure</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preAddColumnFamily</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preAddColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preAddReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preAddRSG
 roup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preAssign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preBalance</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preBalanceRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-">preBalanceSwitch</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preClearDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coproce
 ssor/MasterObserver.html#preCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preCloneSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preCreateNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preDeleteColumnFamily</a>, <a href="../../../../
 ../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preDeleteColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDeleteNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">preDeleteSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTableAction-org.apach
 e.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDisableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preEnableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop
 /hbase/coprocessor/MasterObserver.html#preEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetLocks</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetNamespaceDescriptor</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetProcedures</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/M
 asterObserver.html#preGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">preGetTableDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">preGetTableNames</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preListDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">preListNamespaceDescriptors</a>, <a href=".
 ./../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preListReplicationPeers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">preListSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.master.locking.LockProcedure-boolean-">preLockHeartbeat</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMasterInitialization-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preMasterInitialization</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegions-org.apache.hado
 op.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegions</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-java.util.List-">preMergeRegionsCommitAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preModifyColumnFamily</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyColumnFamilyAction-org.apache.hadoop.hba
 se.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preModifyColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">preMove</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#p
 reMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">preMoveServersAndTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preRegionOffline</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveReplicationPeer</a>, <a href="../../
 ../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.procedure2.LockType-java.lang.String-">preRequestLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preRestoreSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.ap
 ache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetNamespaceQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">preSetSplitOrMergeEnabled</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetTableQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.
 hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preShutdown-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preShutdown</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.h
 tml#preSplitRegion-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegion</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAfterPONRAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preSplitRegionAfterPONRAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionBeforePONRAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-byte:A-java.util.List-">preSplitRegionBeforePONRAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preStopMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preStopMaster</a>, <a href="../../../../../../org/apache/ha
 doop/hbase/coprocessor/MasterObserver.html#preTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTableFlush</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">preUnassign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-or
 g.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preUpdateReplicationPeerConfig</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postAbortProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postAddColumnFamily</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postAddReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postAddRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAs
 sign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postAssign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postBalance</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-boolean-">postBalanceRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-boolean-">postBalanceSwitch</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postClearDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCloneSnapshot-org.apache.hado
 op.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postCloneSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedAddColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postCompletedAddColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCompletedCreateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-b
 yte:A-">postCompletedDeleteColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDeleteTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDisableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedEnableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.h
 base.client.RegionInfo-">postCompletedMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postCompletedModifyColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/copro
 cessor/MasterObserver.html#postCompletedTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedTruncateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postCreateNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCreateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">postDeleteColumnFamily</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDele
 teNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDeleteNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">postDeleteSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDeleteTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDisableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDisableTabl
 e</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postEnableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postEnableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postGetLocks</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postGetNamespaceDescriptor</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverCon
 text-java.util.List-">postGetProcedures</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postGetReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">postGetTableDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">postGetTableNames</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postListDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListNamespaceDescri
 ptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postListNamespaceDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postListReplicationPeers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">postListSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.master.locking.LockProcedure-boolean-">postLockHeartbeat</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.cli
 ent.RegionInfo:A-">postMergeRegions</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postMergeRegionsCommitAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postModifyColumnFamily</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop
 .hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">postMove</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">postMoveServersAndTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveTable
 s</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postRegionOffline</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.procedure2.LockType-java.lang.String-">postRequestLock</a>, <a href="../../../../../../org/apa
 che/hadoop/hbase/coprocessor/MasterObserver.html#postRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postRestoreSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postRollBackMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postRollBackSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetNamespaceQuota</a>, <a href="../.
 ./../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">postSetSplitOrMergeEnabled</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetTableQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQ
 uota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postStartMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postStartMaster</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTableFlush</a>, <a href="../../../../../../or
 g/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTruncateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">postUnassign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postUpdateReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.procedure2.ProcedureExecutor-long-">preAbortProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.h
 tml#preAddColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preAddColumnFamily</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preAddColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preAddReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preAddRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.ht
 ml#preAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preAssign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preBalance</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preBalanceRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-">preBalanceSwitch</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preClearDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverCont
 ext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preCloneSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preCreateNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preDeleteColumnFamily</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteColumnFamilyAction-
 org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preDeleteColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDeleteNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">preDeleteSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTa
 bleAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDisableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preEnableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTable-org.apache.hadoop.hbase.coprocessor.
 ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetLocks</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetNamespaceDescriptor</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetProcedures</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.Observe
 rContext-java.lang.String-">preGetReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">preGetTableDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">preGetTableNames</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preListDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">preListNamespaceDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListReplicatio
 nPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preListReplicationPeers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">preListSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.master.locking.LockProcedure-boolean-">preLockHeartbeat</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMasterInitialization-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preMasterInitialization</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMerg
 eRegions</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-java.util.List-">preMergeRegionsCommitAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preModifyColumnFamily</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.c
 lient.ColumnFamilyDescriptor-">preModifyColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">preMove</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.
 String-">preMoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">preMoveServersAndTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preRegionOffline</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveRSGroup-org.a
 pache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.procedure2.LockType-java.lang.String-">preRequestLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preRestoreSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetNamespaceQuota</a>, <a href="../../..
 /../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">preSetSplitOrMergeEnabled</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetTableQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a
  href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preShutdown-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preShutdown</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegion-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegion</a>, <a href="../../../../../../org/apache/hadoop/h
 base/coprocessor/MasterObserver.html#preSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAfterPONRAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preSplitRegionAfterPONRAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionBeforePONRAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-byte:A-java.util.List-">preSplitRegionBeforePONRAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preStopMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preStopMaster</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTableFlush</a>, <a href="../../.
 ./../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">preUnassign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preUpdateReplicationPeerConfig</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.Coprocessor">

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

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


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/org/apache/hadoop/hbase/quotas/TestThrottleSettings.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/quotas/TestThrottleSettings.html b/testdevapidocs/org/apache/hadoop/hbase/quotas/TestThrottleSettings.html
new file mode 100644
index 0000000..96521fc
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/quotas/TestThrottleSettings.html
@@ -0,0 +1,313 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TestThrottleSettings (Apache HBase 3.0.0-SNAPSHOT Test API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="TestThrottleSettings (Apache HBase 3.0.0-SNAPSHOT Test API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TestThrottleSettings.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/quotas/TestTablesWithQuotas.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/quotas/TestThrottleSettings.html" target="_top">Frames</a></li>
+<li><a href="TestThrottleSettings.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>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.quotas</div>
+<h2 title="Class TestThrottleSettings" class="title">Class TestThrottleSettings</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.quotas.TestThrottleSettings</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestThrottleSettings.html#line.35">TestThrottleSettings</a>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestThrottleSettings.html#TestThrottleSettings--">TestThrottleSettings</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestThrottleSettings.html#testIncompatibleThrottleTypes--">testIncompatibleThrottleTypes</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestThrottleSettings.html#testMerge--">testMerge</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestThrottleSettings.html#testNoThrottleReturnsOriginal--">testNoThrottleReturnsOriginal</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang
 /Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="TestThrottleSettings--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TestThrottleSettings</h4>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestThrottleSettings.html#line.35">TestThrottleSettings</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="testMerge--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>testMerge</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestThrottleSettings.html#line.38">testMerge</a>()
+               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="testIncompatibleThrottleTypes--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>testIncompatibleThrottleTypes</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestThrottleSettings.html#line.60">testIncompatibleThrottleTypes</a>()
+                                   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="testNoThrottleReturnsOriginal--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>testNoThrottleReturnsOriginal</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TestThrottleSettings.html#line.83">testNoThrottleReturnsOriginal</a>()
+                                   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TestThrottleSettings.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/quotas/TestTablesWithQuotas.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/quotas/TestThrottleSettings.html" target="_top">Frames</a></li>
+<li><a href="TestThrottleSettings.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>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;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/org/apache/hadoop/hbase/quotas/class-use/TestGlobalQuotaSettings.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/quotas/class-use/TestGlobalQuotaSettings.html b/testdevapidocs/org/apache/hadoop/hbase/quotas/class-use/TestGlobalQuotaSettings.html
new file mode 100644
index 0000000..b597100
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/quotas/class-use/TestGlobalQuotaSettings.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.hadoop.hbase.quotas.TestGlobalQuotaSettings (Apache HBase 3.0.0-SNAPSHOT Test API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.hadoop.hbase.quotas.TestGlobalQuotaSettings (Apache HBase 3.0.0-SNAPSHOT Test API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">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/quotas/class-use/TestGlobalQuotaSettings.html" target="_top">Frames</a></li>
+<li><a href="TestGlobalQuotaSettings.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.hadoop.hbase.quotas.TestGlobalQuotaSettings" class="title">Uses of Class<br>org.apache.hadoop.hbase.quotas.TestGlobalQuotaSettings</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.hadoop.hbase.quotas.TestGlobalQuotaSettings</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">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/quotas/class-use/TestGlobalQuotaSettings.html" target="_top">Frames</a></li>
+<li><a href="TestGlobalQuotaSettings.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/org/apache/hadoop/hbase/quotas/class-use/TestQuotaGlobalsSettingsBypass.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/quotas/class-use/TestQuotaGlobalsSettingsBypass.html b/testdevapidocs/org/apache/hadoop/hbase/quotas/class-use/TestQuotaGlobalsSettingsBypass.html
new file mode 100644
index 0000000..5c1ca4a
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/quotas/class-use/TestQuotaGlobalsSettingsBypass.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.hadoop.hbase.quotas.TestQuotaGlobalsSettingsBypass (Apache HBase 3.0.0-SNAPSHOT Test API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.hadoop.hbase.quotas.TestQuotaGlobalsSettingsBypass (Apache HBase 3.0.0-SNAPSHOT Test API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html" title="class in org.apache.hadoop.hbase.quotas">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/quotas/class-use/TestQuotaGlobalsSettingsBypass.html" target="_top">Frames</a></li>
+<li><a href="TestQuotaGlobalsSettingsBypass.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.hadoop.hbase.quotas.TestQuotaGlobalsSettingsBypass" class="title">Uses of Class<br>org.apache.hadoop.hbase.quotas.TestQuotaGlobalsSettingsBypass</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.hadoop.hbase.quotas.TestQuotaGlobalsSettingsBypass</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html" title="class in org.apache.hadoop.hbase.quotas">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/quotas/class-use/TestQuotaGlobalsSettingsBypass.html" target="_top">Frames</a></li>
+<li><a href="TestQuotaGlobalsSettingsBypass.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/org/apache/hadoop/hbase/quotas/class-use/TestThrottleSettings.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/quotas/class-use/TestThrottleSettings.html b/testdevapidocs/org/apache/hadoop/hbase/quotas/class-use/TestThrottleSettings.html
new file mode 100644
index 0000000..337a2d5
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/quotas/class-use/TestThrottleSettings.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.hadoop.hbase.quotas.TestThrottleSettings (Apache HBase 3.0.0-SNAPSHOT Test API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.hadoop.hbase.quotas.TestThrottleSettings (Apache HBase 3.0.0-SNAPSHOT Test API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/quotas/TestThrottleSettings.html" title="class in org.apache.hadoop.hbase.quotas">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/quotas/class-use/TestThrottleSettings.html" target="_top">Frames</a></li>
+<li><a href="TestThrottleSettings.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.hadoop.hbase.quotas.TestThrottleSettings" class="title">Uses of Class<br>org.apache.hadoop.hbase.quotas.TestThrottleSettings</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.hadoop.hbase.quotas.TestThrottleSettings</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/quotas/TestThrottleSettings.html" title="class in org.apache.hadoop.hbase.quotas">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/quotas/class-use/TestThrottleSettings.html" target="_top">Frames</a></li>
+<li><a href="TestThrottleSettings.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/org/apache/hadoop/hbase/quotas/package-frame.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/quotas/package-frame.html b/testdevapidocs/org/apache/hadoop/hbase/quotas/package-frame.html
index 55d9f61..5002091 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/quotas/package-frame.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/quotas/package-frame.html
@@ -24,12 +24,14 @@
 <li><a href="TestActivePolicyEnforcement.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">TestActivePolicyEnforcement</a></li>
 <li><a href="TestFileSystemUtilizationChore.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">TestFileSystemUtilizationChore</a></li>
 <li><a href="TestFileSystemUtilizationChore.ExpectedRegionSizeSummationAnswer.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">TestFileSystemUtilizationChore.ExpectedRegionSizeSummationAnswer</a></li>
+<li><a href="TestGlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">TestGlobalQuotaSettings</a></li>
 <li><a href="TestMasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">TestMasterQuotaManager</a></li>
 <li><a href="TestMasterSpaceQuotaObserver.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">TestMasterSpaceQuotaObserver</a></li>
 <li><a href="TestMasterSpaceQuotaObserverWithMocks.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">TestMasterSpaceQuotaObserverWithMocks</a></li>
 <li><a href="TestNamespaceQuotaViolationStore.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">TestNamespaceQuotaViolationStore</a></li>
 <li><a href="TestQuotaAdmin.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">TestQuotaAdmin</a></li>
 <li><a href="TestQuotaFilter.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">TestQuotaFilter</a></li>
+<li><a href="TestQuotaGlobalsSettingsBypass.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">TestQuotaGlobalsSettingsBypass</a></li>
 <li><a href="TestQuotaObserverChore.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">TestQuotaObserverChore</a></li>
 <li><a href="TestQuotaObserverChoreRegionReports.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">TestQuotaObserverChoreRegionReports</a></li>
 <li><a href="TestQuotaObserverChoreWithMiniCluster.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">TestQuotaObserverChoreWithMiniCluster</a></li>
@@ -52,6 +54,7 @@
 <li><a href="TestTableSpaceQuotaViolationNotifier.SingleCellMutationMatcher.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">TestTableSpaceQuotaViolationNotifier.SingleCellMutationMatcher</a></li>
 <li><a href="TestTableSpaceQuotaViolationNotifier.SingleCellPutMatcher.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">TestTableSpaceQuotaViolationNotifier.SingleCellPutMatcher</a></li>
 <li><a href="TestTablesWithQuotas.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">TestTablesWithQuotas</a></li>
+<li><a href="TestThrottleSettings.html" title="class in org.apache.hadoop.hbase.quotas" target="classFrame">TestThrottleSettings</a></li>
 </ul>
 </div>
 </body>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/org/apache/hadoop/hbase/quotas/package-summary.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/quotas/package-summary.html b/testdevapidocs/org/apache/hadoop/hbase/quotas/package-summary.html
index e14fe1f..974309e 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/quotas/package-summary.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/quotas/package-summary.html
@@ -139,37 +139,45 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestMasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">TestMasterQuotaManager</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">TestGlobalQuotaSettings</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestMasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">TestMasterQuotaManager</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestMasterSpaceQuotaObserver.html" title="class in org.apache.hadoop.hbase.quotas">TestMasterSpaceQuotaObserver</a></td>
 <td class="colLast">
 <div class="block">Test class for <code>MasterSpaceQuotaObserver</code>.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestMasterSpaceQuotaObserverWithMocks.html" title="class in org.apache.hadoop.hbase.quotas">TestMasterSpaceQuotaObserverWithMocks</a></td>
 <td class="colLast">
 <div class="block">Test class for MasterSpaceQuotaObserver that does not require a cluster.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestNamespaceQuotaViolationStore.html" title="class in org.apache.hadoop.hbase.quotas">TestNamespaceQuotaViolationStore</a></td>
 <td class="colLast">
 <div class="block">Test class for <code>NamespaceQuotaSnapshotStore</code>.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html" title="class in org.apache.hadoop.hbase.quotas">TestQuotaAdmin</a></td>
 <td class="colLast">
 <div class="block">minicluster tests that validate that quota  entries are properly set in the quota table</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaFilter.html" title="class in org.apache.hadoop.hbase.quotas">TestQuotaFilter</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html" title="class in org.apache.hadoop.hbase.quotas">TestQuotaGlobalsSettingsBypass</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaObserverChore.html" title="class in org.apache.hadoop.hbase.quotas">TestQuotaObserverChore</a></td>
 <td class="colLast">
@@ -298,6 +306,10 @@
 <div class="block">Non-HBase cluster unit tests for <code>QuotaObserverChore.TablesWithQuotas</code>.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/quotas/TestThrottleSettings.html" title="class in org.apache.hadoop.hbase.quotas">TestThrottleSettings</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/quotas/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
index 05e5f0a..bc054ec 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
@@ -101,12 +101,14 @@
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/TestActivePolicyEnforcement.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">TestActivePolicyEnforcement</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/TestFileSystemUtilizationChore.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">TestFileSystemUtilizationChore</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/TestFileSystemUtilizationChore.ExpectedRegionSizeSummationAnswer.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">TestFileSystemUtilizationChore.ExpectedRegionSizeSummationAnswer</span></a> (implements org.mockito.stubbing.Answer&lt;T&gt;)</li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">TestGlobalQuotaSettings</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/TestMasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">TestMasterQuotaManager</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/TestMasterSpaceQuotaObserver.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">TestMasterSpaceQuotaObserver</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/TestMasterSpaceQuotaObserverWithMocks.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">TestMasterSpaceQuotaObserverWithMocks</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/TestNamespaceQuotaViolationStore.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">TestNamespaceQuotaViolationStore</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">TestQuotaAdmin</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaFilter.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">TestQuotaFilter</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">TestQuotaGlobalsSettingsBypass</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaObserverChore.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">TestQuotaObserverChore</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaObserverChoreRegionReports.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">TestQuotaObserverChoreRegionReports</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/TestQuotaObserverChoreWithMiniCluster.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">TestQuotaObserverChoreWithMiniCluster</span></a></li>
@@ -127,6 +129,7 @@
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/TestTableQuotaViolationStore.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">TestTableQuotaViolationStore</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/TestTableSpaceQuotaViolationNotifier.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">TestTableSpaceQuotaViolationNotifier</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/TestTablesWithQuotas.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">TestTablesWithQuotas</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/TestThrottleSettings.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">TestThrottleSettings</span></a></li>
 </ul>
 </li>
 </ul>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html b/testdevapidocs/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html
index 187451b..8905cf2 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html
@@ -114,7 +114,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.88">TestWithDisabledAuthorization</a>
+<pre>public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.87">TestWithDisabledAuthorization</a>
 extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/SecureTestUtil.html" title="class in org.apache.hadoop.hbase.security.access">SecureTestUtil</a></pre>
 </li>
 </ul>
@@ -356,7 +356,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <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/access/TestWithDisabledAuthorization.html#line.89">LOG</a></pre>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.88">LOG</a></pre>
 </li>
 </ul>
 <a name="TEST_UTIL">
@@ -365,7 +365,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <ul class="blockList">
 <li class="blockList">
 <h4>TEST_UTIL</h4>
-<pre>private static final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.97">TEST_UTIL</a></pre>
+<pre>private static final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.96">TEST_UTIL</a></pre>
 </li>
 </ul>
 <a name="TEST_FAMILY">
@@ -374,7 +374,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <ul class="blockList">
 <li class="blockList">
 <h4>TEST_FAMILY</h4>
-<pre>private static final&nbsp;byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.99">TEST_FAMILY</a></pre>
+<pre>private static final&nbsp;byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.98">TEST_FAMILY</a></pre>
 </li>
 </ul>
 <a name="TEST_FAMILY2">
@@ -383,7 +383,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <ul class="blockList">
 <li class="blockList">
 <h4>TEST_FAMILY2</h4>
-<pre>private static final&nbsp;byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.100">TEST_FAMILY2</a></pre>
+<pre>private static final&nbsp;byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.99">TEST_FAMILY2</a></pre>
 </li>
 </ul>
 <a name="TEST_ROW">
@@ -392,7 +392,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <ul class="blockList">
 <li class="blockList">
 <h4>TEST_ROW</h4>
-<pre>private static final&nbsp;byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.101">TEST_ROW</a></pre>
+<pre>private static final&nbsp;byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.100">TEST_ROW</a></pre>
 </li>
 </ul>
 <a name="TEST_Q1">
@@ -401,7 +401,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <ul class="blockList">
 <li class="blockList">
 <h4>TEST_Q1</h4>
-<pre>private static final&nbsp;byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.102">TEST_Q1</a></pre>
+<pre>private static final&nbsp;byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.101">TEST_Q1</a></pre>
 </li>
 </ul>
 <a name="TEST_Q2">
@@ -410,7 +410,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <ul class="blockList">
 <li class="blockList">
 <h4>TEST_Q2</h4>
-<pre>private static final&nbsp;byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.103">TEST_Q2</a></pre>
+<pre>private static final&nbsp;byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.102">TEST_Q2</a></pre>
 </li>
 </ul>
 <a name="TEST_Q3">
@@ -419,7 +419,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <ul class="blockList">
 <li class="blockList">
 <h4>TEST_Q3</h4>
-<pre>private static final&nbsp;byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.104">TEST_Q3</a></pre>
+<pre>private static final&nbsp;byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.103">TEST_Q3</a></pre>
 </li>
 </ul>
 <a name="TEST_Q4">
@@ -428,7 +428,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <ul class="blockList">
 <li class="blockList">
 <h4>TEST_Q4</h4>
-<pre>private static final&nbsp;byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.105">TEST_Q4</a></pre>
+<pre>private static final&nbsp;byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.104">TEST_Q4</a></pre>
 </li>
 </ul>
 <a name="ZERO">
@@ -437,7 +437,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <ul class="blockList">
 <li class="blockList">
 <h4>ZERO</h4>
-<pre>private static final&nbsp;byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.106">ZERO</a></pre>
+<pre>private static final&nbsp;byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.105">ZERO</a></pre>
 </li>
 </ul>
 <a name="CP_ENV">
@@ -446,7 +446,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <ul class="blockList">
 <li class="blockList">
 <h4>CP_ENV</h4>
-<pre>private static&nbsp;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.108">CP_ENV</a></pre>
+<pre>private static&nbsp;org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.107">CP_ENV</a></pre>
 </li>
 </ul>
 <a name="ACCESS_CONTROLLER">
@@ -455,7 +455,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <ul class="blockList">
 <li class="blockList">
 <h4>ACCESS_CONTROLLER</h4>
-<pre>private static&nbsp;org.apache.hadoop.hbase.security.access.AccessController <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.109">ACCESS_CONTROLLER</a></pre>
+<pre>private static&nbsp;org.apache.hadoop.hbase.security.access.AccessController <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.108">ACCESS_CONTROLLER</a></pre>
 </li>
 </ul>
 <a name="RSCP_ENV">
@@ -464,7 +464,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <ul class="blockList">
 <li class="blockList">
 <h4>RSCP_ENV</h4>
-<pre>private static&nbsp;org.apache.hadoop.hbase.coprocessor.RegionServerCoprocessorEnvironment <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.110">RSCP_ENV</a></pre>
+<pre>private static&nbsp;org.apache.hadoop.hbase.coprocessor.RegionServerCoprocessorEnvironment <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.109">RSCP_ENV</a></pre>
 </li>
 </ul>
 <a name="RCP_ENV">
@@ -473,7 +473,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <ul class="blockList">
 <li class="blockList">
 <h4>RCP_ENV</h4>
-<pre>private&nbsp;org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.111">RCP_ENV</a></pre>
+<pre>private&nbsp;org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.110">RCP_ENV</a></pre>
 </li>
 </ul>
 <a name="TEST_TABLE">
@@ -482,7 +482,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <ul class="blockList">
 <li class="blockList">
 <h4>TEST_TABLE</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TestTableName.html" title="class in org.apache.hadoop.hbase">TestTableName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.113">TEST_TABLE</a></pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TestTableName.html" title="class in org.apache.hadoop.hbase">TestTableName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.112">TEST_TABLE</a></pre>
 </li>
 </ul>
 <a name="SUPERUSER">
@@ -491,7 +491,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <ul class="blockList">
 <li class="blockList">
 <h4>SUPERUSER</h4>
-<pre>private static&nbsp;org.apache.hadoop.hbase.security.User <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.118">SUPERUSER</a></pre>
+<pre>private static&nbsp;org.apache.hadoop.hbase.security.User <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.117">SUPERUSER</a></pre>
 </li>
 </ul>
 <a name="USER_ADMIN">
@@ -500,7 +500,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <ul class="blockList">
 <li class="blockList">
 <h4>USER_ADMIN</h4>
-<pre>private static&nbsp;org.apache.hadoop.hbase.security.User <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.120">USER_ADMIN</a></pre>
+<pre>private static&nbsp;org.apache.hadoop.hbase.security.User <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.119">USER_ADMIN</a></pre>
 </li>
 </ul>
 <a name="USER_RW">
@@ -509,7 +509,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <ul class="blockList">
 <li class="blockList">
 <h4>USER_RW</h4>
-<pre>private static&nbsp;org.apache.hadoop.hbase.security.User <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.122">USER_RW</a></pre>
+<pre>private static&nbsp;org.apache.hadoop.hbase.security.User <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.121">USER_RW</a></pre>
 </li>
 </ul>
 <a name="USER_RO">
@@ -518,7 +518,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <ul class="blockList">
 <li class="blockList">
 <h4>USER_RO</h4>
-<pre>private static&nbsp;org.apache.hadoop.hbase.security.User <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.124">USER_RO</a></pre>
+<pre>private static&nbsp;org.apache.hadoop.hbase.security.User <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.123">USER_RO</a></pre>
 </li>
 </ul>
 <a name="USER_OWNER">
@@ -527,7 +527,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <ul class="blockList">
 <li class="blockList">
 <h4>USER_OWNER</h4>
-<pre>private static&nbsp;org.apache.hadoop.hbase.security.User <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.126">USER_OWNER</a></pre>
+<pre>private static&nbsp;org.apache.hadoop.hbase.security.User <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.125">USER_OWNER</a></pre>
 </li>
 </ul>
 <a name="USER_CREATE">
@@ -536,7 +536,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <ul class="blockList">
 <li class="blockList">
 <h4>USER_CREATE</h4>
-<pre>private static&nbsp;org.apache.hadoop.hbase.security.User <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.128">USER_CREATE</a></pre>
+<pre>private static&nbsp;org.apache.hadoop.hbase.security.User <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.127">USER_CREATE</a></pre>
 </li>
 </ul>
 <a name="USER_NONE">
@@ -545,7 +545,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <ul class="blockList">
 <li class="blockList">
 <h4>USER_NONE</h4>
-<pre>private static&nbsp;org.apache.hadoop.hbase.security.User <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.130">USER_NONE</a></pre>
+<pre>private static&nbsp;org.apache.hadoop.hbase.security.User <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.129">USER_NONE</a></pre>
 </li>
 </ul>
 <a name="USER_QUAL">
@@ -554,7 +554,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <ul class="blockListLast">
 <li class="blockList">
 <h4>USER_QUAL</h4>
-<pre>private static&nbsp;org.apache.hadoop.hbase.security.User <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.132">USER_QUAL</a></pre>
+<pre>private static&nbsp;org.apache.hadoop.hbase.security.User <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.131">USER_QUAL</a></pre>
 </li>
 </ul>
 </li>
@@ -571,7 +571,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TestWithDisabledAuthorization</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.88">TestWithDisabledAuthorization</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.87">TestWithDisabledAuthorization</a>()</pre>
 </li>
 </ul>
 </li>
@@ -588,7 +588,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <ul class="blockList">
 <li class="blockList">
 <h4>setupBeforeClass</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.135">setupBeforeClass</a>()
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.134">setupBeforeClass</a>()
                              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -602,7 +602,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <ul class="blockList">
 <li class="blockList">
 <h4>tearDownAfterClass</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.179">tearDownAfterClass</a>()
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.178">tearDownAfterClass</a>()
                                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -616,7 +616,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <ul class="blockList">
 <li class="blockList">
 <h4>setUp</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.184">setUp</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.183">setUp</a>()
            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -630,7 +630,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <ul class="blockList">
 <li class="blockList">
 <h4>tearDown</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.234">tearDown</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.233">tearDown</a>()
               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -644,7 +644,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <ul class="blockList">
 <li class="blockList">
 <h4>testCheckPermissions</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.250">testCheckPermissions</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.249">testCheckPermissions</a>()
                           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -658,7 +658,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <ul class="blockList">
 <li class="blockList">
 <h4>testPassiveGrantRevoke</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.423">testPassiveGrantRevoke</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.422">testPassiveGrantRevoke</a>()
                             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Test grants and revocations with authorization disabled</div>
 <dl>
@@ -673,7 +673,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <ul class="blockList">
 <li class="blockList">
 <h4>testPassiveMasterOperations</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.481">testPassiveMasterOperations</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.480">testPassiveMasterOperations</a>()
                                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Test master observer</div>
 <dl>
@@ -688,7 +688,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <ul class="blockList">
 <li class="blockList">
 <h4>testPassiveRegionServerOperations</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.829">testPassiveRegionServerOperations</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.825">testPassiveRegionServerOperations</a>()
                                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Test region server observer</div>
 <dl>
@@ -703,7 +703,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <ul class="blockList">
 <li class="blockList">
 <h4>testPassiveRegionOperations</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.853">testPassiveRegionOperations</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.849">testPassiveRegionOperations</a>()
                                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Test region observer</div>
 <dl>
@@ -718,7 +718,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/access/Secur
 <ul class="blockListLast">
 <li class="blockList">
 <h4>testPassiveCellPermissions</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.990">testPassiveCellPermissions</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.html#line.986">testPassiveCellPermissions</a>()
                                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
index ea1befb..a8434ed 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
@@ -140,9 +140,9 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/IOTestProvider.AllowedOperations.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">IOTestProvider.AllowedOperations</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/TestWALSplit.Corruptions.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">TestWALSplit.Corruptions</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/FaultyFSLog.FailureType.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">FaultyFSLog.FailureType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/IOTestProvider.AllowedOperations.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">IOTestProvider.AllowedOperations</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/testdevapidocs/overview-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/overview-tree.html b/testdevapidocs/overview-tree.html
index 5b2fe37..eb30ad5 100644
--- a/testdevapidocs/overview-tree.html
+++ b/testdevapidocs/overview-tree.html
@@ -2584,6 +2584,7 @@
 <li type="circle">org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/TestGetLastFlushedSequenceId.html" title="class in org.apache.hadoop.hbase.master"><span class="typeNameLink">TestGetLastFlushedSequenceId</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.http.<a href="org/apache/hadoop/hbase/http/TestGlobalFilter.RecordingFilter.html" title="class in org.apache.hadoop.hbase.http"><span class="typeNameLink">TestGlobalFilter.RecordingFilter</span></a> (implements javax.servlet.Filter)</li>
 <li type="circle">org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/TestGlobalMemStoreSize.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">TestGlobalMemStoreSize</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">TestGlobalQuotaSettings</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/TestGlobalThrottler.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">TestGlobalThrottler</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.mapred.<a href="org/apache/hadoop/hbase/mapred/TestGroupingTableMap.html" title="class in org.apache.hadoop.hbase.mapred"><span class="typeNameLink">TestGroupingTableMap</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestGroupingTableMapper.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">TestGroupingTableMapper</span></a></li>
@@ -2984,6 +2985,7 @@
 <li type="circle">org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestPutWriteToWal.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">TestPutWriteToWal</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">TestQuotaAdmin</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/TestQuotaFilter.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">TestQuotaFilter</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">TestQuotaGlobalsSettingsBypass</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/TestQuotaObserverChore.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">TestQuotaObserverChore</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/TestQuotaObserverChoreRegionReports.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">TestQuotaObserverChoreRegionReports</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/TestQuotaObserverChoreWithMiniCluster.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">TestQuotaObserverChoreWithMiniCluster</span></a></li>
@@ -3431,6 +3433,7 @@
 <li type="circle">org.apache.hadoop.hbase.thrift.<a href="org/apache/hadoop/hbase/thrift/TestThriftServer.html" title="class in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">TestThriftServer</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.thrift.<a href="org/apache/hadoop/hbase/thrift/TestThriftServerCmdLine.html" title="class in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">TestThriftServerCmdLine</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hadoopbackport.<a href="org/apache/hadoop/hbase/io/hadoopbackport/TestThrottledInputStream.html" title="class in org.apache.hadoop.hbase.io.hadoopbackport"><span class="typeNameLink">TestThrottledInputStream</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/TestThrottleSettings.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">TestThrottleSettings</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/TestTimeout.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">TestTimeout</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.errorhandling.<a href="org/apache/hadoop/hbase/errorhandling/TestTimeoutExceptionInjector.html" title="class in org.apache.hadoop.hbase.errorhandling"><span class="typeNameLink">TestTimeoutExceptionInjector</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestTimeRangeMapRed.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">TestTimeRangeMapRed</span></a></li>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityController.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityController.html b/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityController.html
index 7eb0eea..5c2d99b 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityController.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityController.html
@@ -572,7 +572,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postAbortProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postAddColumnFamily</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postAddReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postAddRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAs
 sign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postAssign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postBalance</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-boolean-">postBalanceRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-boolean-">postBalanceSwitch</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postClearDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCloneSnapshot-org.apache.hado
 op.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postCloneSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedAddColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postCompletedAddColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCompletedCreateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-b
 yte:A-">postCompletedDeleteColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDeleteTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDisableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedEnableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.h
 base.client.RegionInfo-">postCompletedMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postCompletedModifyColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/copro
 cessor/MasterObserver.html#postCompletedTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedTruncateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postCreateNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCreateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">postDeleteColumnFamily</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDele
 teNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDeleteNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">postDeleteSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDeleteTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDisableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDisableTabl
 e</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postEnableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postEnableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postGetLocks</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postGetNamespaceDescriptor</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverCon
 text-java.util.List-">postGetProcedures</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postGetReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">postGetTableDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">postGetTableNames</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postListDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListNamespaceDescri
 ptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postListNamespaceDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postListReplicationPeers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">postListSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.master.locking.LockProcedure-boolean-">postLockHeartbeat</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.cli
 ent.RegionInfo:A-">postMergeRegions</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postMergeRegionsCommitAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postModifyColumnFamily</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop
 .hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">postMove</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">postMoveServersAndTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveTable
 s</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postRegionOffline</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.procedure2.LockType-java.lang.String-">postRequestLock</a>, <a href="../../../../../../org/apa
 che/hadoop/hbase/coprocessor/MasterObserver.html#postRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postRestoreSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postRollBackMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postRollBackSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetNamespaceQuota<
 /a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetTableQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-o
 rg.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTableFlush</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTruncateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.a
 pache.hadoop.hbase.client.RegionInfo-boolean-">postUnassign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postUpdateReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.procedure2.ProcedureExecutor-long-">preAbortProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preAddColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddReplicationPeer-org.apache.hadoop.hbase.coproc
 essor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preAddReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preAddRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preAssign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preBalance</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preBalanceRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceSwitch-org.apache.hadoop.hba
 se.coprocessor.ObserverContext-boolean-">preBalanceSwitch</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preClearDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preCloneSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preCreateNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase
 .client.RegionInfo:A-">preCreateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preDeleteColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDeleteNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">pre
 DeleteSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDisableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableReplicationPeer-org.apache.had
 oop.hbase.coprocessor.ObserverContext-java.lang.String-">preEnableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetLocks</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetNamespaceDescriptor</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetProcedures-org.apach
 e.hadoop.hbase.coprocessor.ObserverContext-">preGetProcedures</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">preGetTableDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">preGetTableNames</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preListDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListNa
 mespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">preListNamespaceDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preListReplicationPeers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">preListSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.master.locking.LockProcedure-boolean-">preLockHeartbeat</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMasterInitialization-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preMasterIni
 tialization</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegions</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-java.util.List-">preMergeRegionsCommitAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preModifyColumnFamilyA
 ction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">preMove</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveServers</a>, <a href="../../../../../
 ../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">preMoveServersAndTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preRegionOffline</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.l
 ang.String-">preRemoveRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.procedure2.LockType-java.lang.String-">preRequestLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preRestoreSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetNamespaceQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/c
 oprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetTableQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.
 protobuf.generated.QuotaProtos.Quotas-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preShutdown-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preShutdown</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegion-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegion</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegionAction</a>, <a href="../../../../../../org/apa
 che/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAfterPONRAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preSplitRegionAfterPONRAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionBeforePONRAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-byte:A-java.util.List-">preSplitRegionBeforePONRAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preStopMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preStopMaster</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTableFlush</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTable</a>, <a href="../../../.
 ./../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">preUnassign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preUpdateReplicationPeerConfig</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postAbortProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postAddColumnFamily</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postAddReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postAddRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAs
 sign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postAssign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postBalance</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-boolean-">postBalanceRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-boolean-">postBalanceSwitch</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postClearDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCloneSnapshot-org.apache.hado
 op.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postCloneSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedAddColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postCompletedAddColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCompletedCreateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-b
 yte:A-">postCompletedDeleteColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDeleteTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDisableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedEnableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.h
 base.client.RegionInfo-">postCompletedMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postCompletedModifyColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/copro
 cessor/MasterObserver.html#postCompletedTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedTruncateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postCreateNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCreateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">postDeleteColumnFamily</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDele
 teNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDeleteNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">postDeleteSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDeleteTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDisableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDisableTabl
 e</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postEnableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postEnableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postGetLocks</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postGetNamespaceDescriptor</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverCon
 text-java.util.List-">postGetProcedures</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postGetReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">postGetTableDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">postGetTableNames</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postListDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListNamespaceDescri
 ptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postListNamespaceDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postListReplicationPeers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">postListSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.master.locking.LockProcedure-boolean-">postLockHeartbeat</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.cli
 ent.RegionInfo:A-">postMergeRegions</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postMergeRegionsCommitAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyColumnFamily-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">postModifyColumnFamily</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop
 .hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">postMove</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">postMoveServersAndTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveTable
 s</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postRegionOffline</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.procedure2.LockType-java.lang.String-">postRequestLock</a>, <a href="../../../../../../org/apa
 che/hadoop/hbase/coprocessor/MasterObserver.html#postRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postRestoreSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postRollBackMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postRollBackSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetNamespaceQuota</a>, <a href="../.
 ./../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetTableQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQu
 otaSettings-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTableFlush</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTruncateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">postUnassign</a>, <a href="../../../../../.
 ./org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postUpdateReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.procedure2.ProcedureExecutor-long-">preAbortProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preAddColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeer
 Config-">preAddReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preAddRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preAssign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preBalance</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preBalanceRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-">preBalanceSwitch</a>, <a href="../../../../../../
 org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preClearDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preCloneSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preCreateNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTable</a>, <a href="../../../../../../org/apache/hadoop/hb
 ase/coprocessor/MasterObserver.html#preCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preDeleteColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDeleteNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">preDeleteSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterO
 bserver.html#preDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDisableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preEnableReplicationPeer</a>, <a 
 href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetLocks</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetNamespaceDescriptor</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetProcedures</a>, <a href="../../../../..
 /../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">preGetTableDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">preGetTableNames</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preListDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">pr
 eListNamespaceDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preListReplicationPeers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-">preListSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.master.locking.LockProcedure-boolean-">preLockHeartbeat</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMasterInitialization-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preMasterInitialization</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObse
 rver.html#preMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegions</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-java.util.List-">preMergeRegionsCommitAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyColumnFamilyAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">preModifyColumnFamilyAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.h
 tml#preModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">preMove</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServersAndTables-org.apa
 che.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">preMoveServersAndTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preRegionOffline</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/copr
 ocessor/MasterObserver.html#preRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.procedure2.LockType-java.lang.String-">preRequestLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preRestoreSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetNamespaceQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apac
 he.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetTableQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preShutdown-org.apache.hadoop.hbase.
 coprocessor.ObserverContext-">preShutdown</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegion-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegion</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAfterPONRAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preSplitRegionAfterPONRAction</a>, <a href="../
 ../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionBeforePONRAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-byte:A-java.util.List-">preSplitRegionBeforePONRAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preStopMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preStopMaster</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTableFlush</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTr
 uncateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">preUnassign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preUpdateReplicationPeerConfig</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.coprocessor.RegionObserver">

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

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/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 c6cac89..004e697 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
@@ -177,8 +177,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">WALFactory.Providers</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.Strategies.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">RegionGroupingProvider.Strategies</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">WALFactory.Providers</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/overview-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/overview-tree.html b/devapidocs/overview-tree.html
index a814485..c42a8d8 100644
--- a/devapidocs/overview-tree.html
+++ b/devapidocs/overview-tree.html
@@ -2755,6 +2755,7 @@
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/QuotaRetriever.Iter.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaRetriever.Iter</span></a> (implements java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;E&gt;)</li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaSettings</span></a>
 <ul>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">GlobalQuotaSettings</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaSettingsFactory.QuotaGlobalsSettingsBypass</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/SpaceLimitSettings.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">SpaceLimitSettings</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/ThrottleSettings.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottleSettings</span></a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e6bd0774/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
index 831c66a..68f1cbd 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
@@ -16,11 +16,11 @@
 <span class="sourceLineNo">008</span>@InterfaceAudience.Private<a name="line.8"></a>
 <span class="sourceLineNo">009</span>public class Version {<a name="line.9"></a>
 <span class="sourceLineNo">010</span>  public static final String version = "3.0.0-SNAPSHOT";<a name="line.10"></a>
-<span class="sourceLineNo">011</span>  public static final String revision = "b4830466dbd606ddaf7cc6c87f8eae7141905827";<a name="line.11"></a>
+<span class="sourceLineNo">011</span>  public static final String revision = "15404831355f2217669c6d66ff46bdb3229a9643";<a name="line.11"></a>
 <span class="sourceLineNo">012</span>  public static final String user = "jenkins";<a name="line.12"></a>
-<span class="sourceLineNo">013</span>  public static final String date = "Sat Sep 23 14:42:02 UTC 2017";<a name="line.13"></a>
+<span class="sourceLineNo">013</span>  public static final String date = "Sun Sep 24 14:41:58 UTC 2017";<a name="line.13"></a>
 <span class="sourceLineNo">014</span>  public static final String url = "git://asf920.gq1.ygridcore.net/home/jenkins/jenkins-slave/workspace/hbase_generate_website/hbase";<a name="line.14"></a>
-<span class="sourceLineNo">015</span>  public static final String srcChecksum = "e31cac3a33e8f1876d3a5b8ccf3166d1";<a name="line.15"></a>
+<span class="sourceLineNo">015</span>  public static final String srcChecksum = "6c5ff9f306a7035fbf94090f00a1e4fc";<a name="line.15"></a>
 <span class="sourceLineNo">016</span>}<a name="line.16"></a>