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>
 

Reply via email to