You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by gi...@apache.org on 2018/11/15 14:55:08 UTC

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/68eae623/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/RegionRemoteProcedureBase.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/RegionRemoteProcedureBase.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/RegionRemoteProcedureBase.html
index daf2583..25ef9bf 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/RegionRemoteProcedureBase.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/RegionRemoteProcedureBase.html
@@ -116,75 +116,87 @@
 <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>  @Override<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  protected void rollback(MasterProcedureEnv env) throws IOException, InterruptedException {<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    throw new UnsupportedOperationException();<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>  @Override<a name="line.115"></a>
-<span class="sourceLineNo">116</span>  protected boolean abort(MasterProcedureEnv env) {<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    return false;<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>  /**<a name="line.120"></a>
-<span class="sourceLineNo">121</span>   * Check whether we still need to make the call to RS.<a name="line.121"></a>
-<span class="sourceLineNo">122</span>   * &lt;p/&gt;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>   * Usually this will not happen if we do not allow assigning a already onlined region. But if we<a name="line.123"></a>
-<span class="sourceLineNo">124</span>   * have something wrong in the RSProcedureDispatcher, where we have already sent the request to<a name="line.124"></a>
-<span class="sourceLineNo">125</span>   * RS, but then we tell the upper layer the remote call is failed due to rpc timeout or connection<a name="line.125"></a>
-<span class="sourceLineNo">126</span>   * closed or anything else, then this issue can still happen. So here we add a check to make it<a name="line.126"></a>
-<span class="sourceLineNo">127</span>   * more robust.<a name="line.127"></a>
-<span class="sourceLineNo">128</span>   */<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  protected abstract boolean shouldDispatch(RegionStateNode regionNode);<a name="line.129"></a>
+<span class="sourceLineNo">111</span>  protected boolean waitInitialized(MasterProcedureEnv env) {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    if (TableName.isMetaTableName(getTableName())) {<a name="line.112"></a>
+<span class="sourceLineNo">113</span>      return false;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    }<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    // First we need meta to be loaded, and second, if meta is not online then we will likely to<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    // fail when updating meta so we wait until it is assigned.<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    AssignmentManager am = env.getAssignmentManager();<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    return am.waitMetaLoaded(this) || am.waitMetaAssigned(this, region);<a name="line.118"></a>
+<span class="sourceLineNo">119</span>  }<a name="line.119"></a>
+<span class="sourceLineNo">120</span><a name="line.120"></a>
+<span class="sourceLineNo">121</span>  @Override<a name="line.121"></a>
+<span class="sourceLineNo">122</span>  protected void rollback(MasterProcedureEnv env) throws IOException, InterruptedException {<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    throw new UnsupportedOperationException();<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 boolean abort(MasterProcedureEnv env) {<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    return false;<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>  @Override<a name="line.131"></a>
-<span class="sourceLineNo">132</span>  protected Procedure&lt;MasterProcedureEnv&gt;[] execute(MasterProcedureEnv env)<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      throws ProcedureYieldException, ProcedureSuspendedException, InterruptedException {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    if (dispatched) {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      // we are done, the parent procedure will check whether we are succeeded.<a name="line.135"></a>
-<span class="sourceLineNo">136</span>      return null;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    }<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    RegionStateNode regionNode = getRegionNode(env);<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    regionNode.lock();<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    try {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>      if (!shouldDispatch(regionNode)) {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>        return null;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      }<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      // The code which wakes us up also needs to lock the RSN so here we do not need to synchronize<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      // on the event.<a name="line.145"></a>
-<span class="sourceLineNo">146</span>      ProcedureEvent&lt;?&gt; event = regionNode.getProcedureEvent();<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      try {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        env.getRemoteDispatcher().addOperationToNode(targetServer, this);<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      } catch (FailedRemoteDispatchException e) {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>        LOG.warn("Can not add remote operation {} for region {} to server {}, this usually " +<a name="line.150"></a>
-<span class="sourceLineNo">151</span>          "because the server is alread dead, give up and mark the procedure as complete, " +<a name="line.151"></a>
-<span class="sourceLineNo">152</span>          "the parent procedure will take care of this.", this, region, targetServer, e);<a name="line.152"></a>
-<span class="sourceLineNo">153</span>        return null;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      }<a name="line.154"></a>
-<span class="sourceLineNo">155</span>      dispatched = true;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>      event.suspend();<a name="line.156"></a>
-<span class="sourceLineNo">157</span>      event.suspendIfNotReady(this);<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      throw new ProcedureSuspendedException();<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    } finally {<a name="line.159"></a>
-<span class="sourceLineNo">160</span>      regionNode.unlock();<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    }<a name="line.161"></a>
-<span class="sourceLineNo">162</span>  }<a name="line.162"></a>
-<span class="sourceLineNo">163</span><a name="line.163"></a>
-<span class="sourceLineNo">164</span>  @Override<a name="line.164"></a>
-<span class="sourceLineNo">165</span>  protected void serializeStateData(ProcedureStateSerializer serializer) throws IOException {<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    serializer.serialize(RegionRemoteProcedureBaseStateData.newBuilder()<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      .setRegion(ProtobufUtil.toRegionInfo(region))<a name="line.167"></a>
-<span class="sourceLineNo">168</span>      .setTargetServer(ProtobufUtil.toServerName(targetServer)).setDispatched(dispatched).build());<a name="line.168"></a>
-<span class="sourceLineNo">169</span>  }<a name="line.169"></a>
-<span class="sourceLineNo">170</span><a name="line.170"></a>
-<span class="sourceLineNo">171</span>  @Override<a name="line.171"></a>
-<span class="sourceLineNo">172</span>  protected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    RegionRemoteProcedureBaseStateData data =<a name="line.173"></a>
-<span class="sourceLineNo">174</span>      serializer.deserialize(RegionRemoteProcedureBaseStateData.class);<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    region = ProtobufUtil.toRegionInfo(data.getRegion());<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    targetServer = ProtobufUtil.toServerName(data.getTargetServer());<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    dispatched = data.getDispatched();<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">131</span>  /**<a name="line.131"></a>
+<span class="sourceLineNo">132</span>   * Check whether we still need to make the call to RS.<a name="line.132"></a>
+<span class="sourceLineNo">133</span>   * &lt;p/&gt;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>   * This could happen when master restarts. Since we do not know whether a request has already been<a name="line.134"></a>
+<span class="sourceLineNo">135</span>   * sent to the region server after we add a remote operation to the dispatcher, so the safe way is<a name="line.135"></a>
+<span class="sourceLineNo">136</span>   * to not persist the dispatched field and try to add the remote operation again. But it is<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   * possible that we do have already sent the request to region server and it has also sent back<a name="line.137"></a>
+<span class="sourceLineNo">138</span>   * the response, so here we need to check the region state, if it is not in the expecting state,<a name="line.138"></a>
+<span class="sourceLineNo">139</span>   * we should give up, otherwise we may hang for ever, as the region server will just ignore<a name="line.139"></a>
+<span class="sourceLineNo">140</span>   * redundant calls.<a name="line.140"></a>
+<span class="sourceLineNo">141</span>   */<a name="line.141"></a>
+<span class="sourceLineNo">142</span>  protected abstract boolean shouldDispatch(RegionStateNode regionNode);<a name="line.142"></a>
+<span class="sourceLineNo">143</span><a name="line.143"></a>
+<span class="sourceLineNo">144</span>  @Override<a name="line.144"></a>
+<span class="sourceLineNo">145</span>  protected Procedure&lt;MasterProcedureEnv&gt;[] execute(MasterProcedureEnv env)<a name="line.145"></a>
+<span class="sourceLineNo">146</span>      throws ProcedureYieldException, ProcedureSuspendedException, InterruptedException {<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    if (dispatched) {<a name="line.147"></a>
+<span class="sourceLineNo">148</span>      // we are done, the parent procedure will check whether we are succeeded.<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      return null;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    }<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    RegionStateNode regionNode = getRegionNode(env);<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    regionNode.lock();<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    try {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>      if (!shouldDispatch(regionNode)) {<a name="line.154"></a>
+<span class="sourceLineNo">155</span>        return null;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>      }<a name="line.156"></a>
+<span class="sourceLineNo">157</span>      // The code which wakes us up also needs to lock the RSN so here we do not need to synchronize<a name="line.157"></a>
+<span class="sourceLineNo">158</span>      // on the event.<a name="line.158"></a>
+<span class="sourceLineNo">159</span>      ProcedureEvent&lt;?&gt; event = regionNode.getProcedureEvent();<a name="line.159"></a>
+<span class="sourceLineNo">160</span>      try {<a name="line.160"></a>
+<span class="sourceLineNo">161</span>        env.getRemoteDispatcher().addOperationToNode(targetServer, this);<a name="line.161"></a>
+<span class="sourceLineNo">162</span>      } catch (FailedRemoteDispatchException e) {<a name="line.162"></a>
+<span class="sourceLineNo">163</span>        LOG.warn("Can not add remote operation {} for region {} to server {}, this usually " +<a name="line.163"></a>
+<span class="sourceLineNo">164</span>          "because the server is alread dead, give up and mark the procedure as complete, " +<a name="line.164"></a>
+<span class="sourceLineNo">165</span>          "the parent procedure will take care of this.", this, region, targetServer, e);<a name="line.165"></a>
+<span class="sourceLineNo">166</span>        return null;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      }<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      dispatched = true;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      event.suspend();<a name="line.169"></a>
+<span class="sourceLineNo">170</span>      event.suspendIfNotReady(this);<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      throw new ProcedureSuspendedException();<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    } finally {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>      regionNode.unlock();<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><a name="line.176"></a>
+<span class="sourceLineNo">177</span>  @Override<a name="line.177"></a>
+<span class="sourceLineNo">178</span>  protected void serializeStateData(ProcedureStateSerializer serializer) throws IOException {<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    serializer.serialize(RegionRemoteProcedureBaseStateData.newBuilder()<a name="line.179"></a>
+<span class="sourceLineNo">180</span>      .setRegion(ProtobufUtil.toRegionInfo(region))<a name="line.180"></a>
+<span class="sourceLineNo">181</span>      .setTargetServer(ProtobufUtil.toServerName(targetServer)).build());<a name="line.181"></a>
+<span class="sourceLineNo">182</span>  }<a name="line.182"></a>
+<span class="sourceLineNo">183</span><a name="line.183"></a>
+<span class="sourceLineNo">184</span>  @Override<a name="line.184"></a>
+<span class="sourceLineNo">185</span>  protected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException {<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    RegionRemoteProcedureBaseStateData data =<a name="line.186"></a>
+<span class="sourceLineNo">187</span>      serializer.deserialize(RegionRemoteProcedureBaseStateData.class);<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    region = ProtobufUtil.toRegionInfo(data.getRegion());<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    targetServer = ProtobufUtil.toServerName(data.getTargetServer());<a name="line.189"></a>
+<span class="sourceLineNo">190</span>  }<a name="line.190"></a>
+<span class="sourceLineNo">191</span>}<a name="line.191"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/68eae623/devapidocs/src-html/org/apache/hadoop/hbase/security/access/AccessChecker.InputUser.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/security/access/AccessChecker.InputUser.html b/devapidocs/src-html/org/apache/hadoop/hbase/security/access/AccessChecker.InputUser.html
index f8acad1..daabce4 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/security/access/AccessChecker.InputUser.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/security/access/AccessChecker.InputUser.html
@@ -58,7 +58,7 @@
 <span class="sourceLineNo">050</span>  // TODO: we should move to a design where we don't even instantiate an AccessChecker if<a name="line.50"></a>
 <span class="sourceLineNo">051</span>  // authorization is not enabled (like in RSRpcServices), instead of always instantiating one and<a name="line.51"></a>
 <span class="sourceLineNo">052</span>  // calling requireXXX() only to do nothing (since authorizationEnabled will be false).<a name="line.52"></a>
-<span class="sourceLineNo">053</span>  private TableAuthManager authManager;<a name="line.53"></a>
+<span class="sourceLineNo">053</span>  private AuthManager authManager;<a name="line.53"></a>
 <span class="sourceLineNo">054</span><a name="line.54"></a>
 <span class="sourceLineNo">055</span>  /** Group service to retrieve the user group information */<a name="line.55"></a>
 <span class="sourceLineNo">056</span>  private static Groups groupService;<a name="line.56"></a>
@@ -83,7 +83,7 @@
 <span class="sourceLineNo">075</span>      throws RuntimeException {<a name="line.75"></a>
 <span class="sourceLineNo">076</span>    if (zkw != null) {<a name="line.76"></a>
 <span class="sourceLineNo">077</span>      try {<a name="line.77"></a>
-<span class="sourceLineNo">078</span>        this.authManager = TableAuthManager.getOrCreate(zkw, conf);<a name="line.78"></a>
+<span class="sourceLineNo">078</span>        this.authManager = AuthManager.getOrCreate(zkw, conf);<a name="line.78"></a>
 <span class="sourceLineNo">079</span>      } catch (IOException ioe) {<a name="line.79"></a>
 <span class="sourceLineNo">080</span>        throw new RuntimeException("Error obtaining AccessChecker", ioe);<a name="line.80"></a>
 <span class="sourceLineNo">081</span>      }<a name="line.81"></a>
@@ -95,13 +95,13 @@
 <span class="sourceLineNo">087</span>  }<a name="line.87"></a>
 <span class="sourceLineNo">088</span><a name="line.88"></a>
 <span class="sourceLineNo">089</span>  /**<a name="line.89"></a>
-<span class="sourceLineNo">090</span>   * Releases {@link TableAuthManager}'s reference.<a name="line.90"></a>
+<span class="sourceLineNo">090</span>   * Releases {@link AuthManager}'s reference.<a name="line.90"></a>
 <span class="sourceLineNo">091</span>   */<a name="line.91"></a>
 <span class="sourceLineNo">092</span>  public void stop() {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    TableAuthManager.release(authManager);<a name="line.93"></a>
+<span class="sourceLineNo">093</span>    AuthManager.release(authManager);<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>  public TableAuthManager getAuthManager() {<a name="line.96"></a>
+<span class="sourceLineNo">096</span>  public AuthManager getAuthManager() {<a name="line.96"></a>
 <span class="sourceLineNo">097</span>    return authManager;<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>
@@ -123,7 +123,7 @@
 <span class="sourceLineNo">115</span>    AuthResult result = null;<a name="line.115"></a>
 <span class="sourceLineNo">116</span><a name="line.116"></a>
 <span class="sourceLineNo">117</span>    for (Action permission : permissions) {<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      if (authManager.hasAccess(user, tableName, permission)) {<a name="line.118"></a>
+<span class="sourceLineNo">118</span>      if (authManager.accessUserTable(user, tableName, permission)) {<a name="line.118"></a>
 <span class="sourceLineNo">119</span>        result = AuthResult.allow(request, "Table permission granted",<a name="line.119"></a>
 <span class="sourceLineNo">120</span>            user, permission, tableName, null, null);<a name="line.120"></a>
 <span class="sourceLineNo">121</span>        break;<a name="line.121"></a>
@@ -172,7 +172,7 @@
 <span class="sourceLineNo">164</span>      return;<a name="line.164"></a>
 <span class="sourceLineNo">165</span>    }<a name="line.165"></a>
 <span class="sourceLineNo">166</span>    AuthResult result;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    if (authManager.authorize(user, perm)) {<a name="line.167"></a>
+<span class="sourceLineNo">167</span>    if (authManager.authorizeUserGlobal(user, perm)) {<a name="line.167"></a>
 <span class="sourceLineNo">168</span>      result = AuthResult.allow(request, "Global check allowed", user, perm, tableName, familyMap);<a name="line.168"></a>
 <span class="sourceLineNo">169</span>    } else {<a name="line.169"></a>
 <span class="sourceLineNo">170</span>      result = AuthResult.deny(request, "Global check failed", user, perm, tableName, familyMap);<a name="line.170"></a>
@@ -203,7 +203,7 @@
 <span class="sourceLineNo">195</span>      return;<a name="line.195"></a>
 <span class="sourceLineNo">196</span>    }<a name="line.196"></a>
 <span class="sourceLineNo">197</span>    AuthResult authResult;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    if (authManager.authorize(user, perm)) {<a name="line.198"></a>
+<span class="sourceLineNo">198</span>    if (authManager.authorizeUserGlobal(user, perm)) {<a name="line.198"></a>
 <span class="sourceLineNo">199</span>      authResult = AuthResult.allow(request, "Global check allowed", user, perm, null);<a name="line.199"></a>
 <span class="sourceLineNo">200</span>      authResult.getParams().setNamespace(namespace);<a name="line.200"></a>
 <span class="sourceLineNo">201</span>      logResult(authResult);<a name="line.201"></a>
@@ -233,7 +233,7 @@
 <span class="sourceLineNo">225</span>    AuthResult result = null;<a name="line.225"></a>
 <span class="sourceLineNo">226</span><a name="line.226"></a>
 <span class="sourceLineNo">227</span>    for (Action permission : permissions) {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      if (authManager.authorize(user, namespace, permission)) {<a name="line.228"></a>
+<span class="sourceLineNo">228</span>      if (authManager.authorizeUserNamespace(user, namespace, permission)) {<a name="line.228"></a>
 <span class="sourceLineNo">229</span>        result =<a name="line.229"></a>
 <span class="sourceLineNo">230</span>            AuthResult.allow(request, "Namespace permission granted", user, permission, namespace);<a name="line.230"></a>
 <span class="sourceLineNo">231</span>        break;<a name="line.231"></a>
@@ -268,7 +268,7 @@
 <span class="sourceLineNo">260</span>    AuthResult result = null;<a name="line.260"></a>
 <span class="sourceLineNo">261</span><a name="line.261"></a>
 <span class="sourceLineNo">262</span>    for (Action permission : permissions) {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      if (authManager.authorize(user, namespace, permission)) {<a name="line.263"></a>
+<span class="sourceLineNo">263</span>      if (authManager.authorizeUserNamespace(user, namespace, permission)) {<a name="line.263"></a>
 <span class="sourceLineNo">264</span>        result =<a name="line.264"></a>
 <span class="sourceLineNo">265</span>            AuthResult.allow(request, "Namespace permission granted", user, permission, namespace);<a name="line.265"></a>
 <span class="sourceLineNo">266</span>        result.getParams().setTableName(tableName).setFamilies(familyMap);<a name="line.266"></a>
@@ -307,7 +307,7 @@
 <span class="sourceLineNo">299</span>    AuthResult result = null;<a name="line.299"></a>
 <span class="sourceLineNo">300</span><a name="line.300"></a>
 <span class="sourceLineNo">301</span>    for (Action permission : permissions) {<a name="line.301"></a>
-<span class="sourceLineNo">302</span>      if (authManager.authorize(user, tableName, family, qualifier, permission)) {<a name="line.302"></a>
+<span class="sourceLineNo">302</span>      if (authManager.authorizeUserTable(user, tableName, family, qualifier, permission)) {<a name="line.302"></a>
 <span class="sourceLineNo">303</span>        result = AuthResult.allow(request, "Table permission granted",<a name="line.303"></a>
 <span class="sourceLineNo">304</span>            user, permission, tableName, family, qualifier);<a name="line.304"></a>
 <span class="sourceLineNo">305</span>        break;<a name="line.305"></a>
@@ -345,7 +345,7 @@
 <span class="sourceLineNo">337</span>    AuthResult result = null;<a name="line.337"></a>
 <span class="sourceLineNo">338</span><a name="line.338"></a>
 <span class="sourceLineNo">339</span>    for (Action permission : permissions) {<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      if (authManager.authorize(user, tableName, null, null, permission)) {<a name="line.340"></a>
+<span class="sourceLineNo">340</span>      if (authManager.authorizeUserTable(user, tableName, permission)) {<a name="line.340"></a>
 <span class="sourceLineNo">341</span>        result = AuthResult.allow(request, "Table permission granted",<a name="line.341"></a>
 <span class="sourceLineNo">342</span>            user, permission, tableName, null, null);<a name="line.342"></a>
 <span class="sourceLineNo">343</span>        result.getParams().setFamily(family).setQualifier(qualifier);<a name="line.343"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/68eae623/devapidocs/src-html/org/apache/hadoop/hbase/security/access/AccessChecker.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/security/access/AccessChecker.html b/devapidocs/src-html/org/apache/hadoop/hbase/security/access/AccessChecker.html
index f8acad1..daabce4 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/security/access/AccessChecker.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/security/access/AccessChecker.html
@@ -58,7 +58,7 @@
 <span class="sourceLineNo">050</span>  // TODO: we should move to a design where we don't even instantiate an AccessChecker if<a name="line.50"></a>
 <span class="sourceLineNo">051</span>  // authorization is not enabled (like in RSRpcServices), instead of always instantiating one and<a name="line.51"></a>
 <span class="sourceLineNo">052</span>  // calling requireXXX() only to do nothing (since authorizationEnabled will be false).<a name="line.52"></a>
-<span class="sourceLineNo">053</span>  private TableAuthManager authManager;<a name="line.53"></a>
+<span class="sourceLineNo">053</span>  private AuthManager authManager;<a name="line.53"></a>
 <span class="sourceLineNo">054</span><a name="line.54"></a>
 <span class="sourceLineNo">055</span>  /** Group service to retrieve the user group information */<a name="line.55"></a>
 <span class="sourceLineNo">056</span>  private static Groups groupService;<a name="line.56"></a>
@@ -83,7 +83,7 @@
 <span class="sourceLineNo">075</span>      throws RuntimeException {<a name="line.75"></a>
 <span class="sourceLineNo">076</span>    if (zkw != null) {<a name="line.76"></a>
 <span class="sourceLineNo">077</span>      try {<a name="line.77"></a>
-<span class="sourceLineNo">078</span>        this.authManager = TableAuthManager.getOrCreate(zkw, conf);<a name="line.78"></a>
+<span class="sourceLineNo">078</span>        this.authManager = AuthManager.getOrCreate(zkw, conf);<a name="line.78"></a>
 <span class="sourceLineNo">079</span>      } catch (IOException ioe) {<a name="line.79"></a>
 <span class="sourceLineNo">080</span>        throw new RuntimeException("Error obtaining AccessChecker", ioe);<a name="line.80"></a>
 <span class="sourceLineNo">081</span>      }<a name="line.81"></a>
@@ -95,13 +95,13 @@
 <span class="sourceLineNo">087</span>  }<a name="line.87"></a>
 <span class="sourceLineNo">088</span><a name="line.88"></a>
 <span class="sourceLineNo">089</span>  /**<a name="line.89"></a>
-<span class="sourceLineNo">090</span>   * Releases {@link TableAuthManager}'s reference.<a name="line.90"></a>
+<span class="sourceLineNo">090</span>   * Releases {@link AuthManager}'s reference.<a name="line.90"></a>
 <span class="sourceLineNo">091</span>   */<a name="line.91"></a>
 <span class="sourceLineNo">092</span>  public void stop() {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    TableAuthManager.release(authManager);<a name="line.93"></a>
+<span class="sourceLineNo">093</span>    AuthManager.release(authManager);<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>  public TableAuthManager getAuthManager() {<a name="line.96"></a>
+<span class="sourceLineNo">096</span>  public AuthManager getAuthManager() {<a name="line.96"></a>
 <span class="sourceLineNo">097</span>    return authManager;<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>
@@ -123,7 +123,7 @@
 <span class="sourceLineNo">115</span>    AuthResult result = null;<a name="line.115"></a>
 <span class="sourceLineNo">116</span><a name="line.116"></a>
 <span class="sourceLineNo">117</span>    for (Action permission : permissions) {<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      if (authManager.hasAccess(user, tableName, permission)) {<a name="line.118"></a>
+<span class="sourceLineNo">118</span>      if (authManager.accessUserTable(user, tableName, permission)) {<a name="line.118"></a>
 <span class="sourceLineNo">119</span>        result = AuthResult.allow(request, "Table permission granted",<a name="line.119"></a>
 <span class="sourceLineNo">120</span>            user, permission, tableName, null, null);<a name="line.120"></a>
 <span class="sourceLineNo">121</span>        break;<a name="line.121"></a>
@@ -172,7 +172,7 @@
 <span class="sourceLineNo">164</span>      return;<a name="line.164"></a>
 <span class="sourceLineNo">165</span>    }<a name="line.165"></a>
 <span class="sourceLineNo">166</span>    AuthResult result;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    if (authManager.authorize(user, perm)) {<a name="line.167"></a>
+<span class="sourceLineNo">167</span>    if (authManager.authorizeUserGlobal(user, perm)) {<a name="line.167"></a>
 <span class="sourceLineNo">168</span>      result = AuthResult.allow(request, "Global check allowed", user, perm, tableName, familyMap);<a name="line.168"></a>
 <span class="sourceLineNo">169</span>    } else {<a name="line.169"></a>
 <span class="sourceLineNo">170</span>      result = AuthResult.deny(request, "Global check failed", user, perm, tableName, familyMap);<a name="line.170"></a>
@@ -203,7 +203,7 @@
 <span class="sourceLineNo">195</span>      return;<a name="line.195"></a>
 <span class="sourceLineNo">196</span>    }<a name="line.196"></a>
 <span class="sourceLineNo">197</span>    AuthResult authResult;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    if (authManager.authorize(user, perm)) {<a name="line.198"></a>
+<span class="sourceLineNo">198</span>    if (authManager.authorizeUserGlobal(user, perm)) {<a name="line.198"></a>
 <span class="sourceLineNo">199</span>      authResult = AuthResult.allow(request, "Global check allowed", user, perm, null);<a name="line.199"></a>
 <span class="sourceLineNo">200</span>      authResult.getParams().setNamespace(namespace);<a name="line.200"></a>
 <span class="sourceLineNo">201</span>      logResult(authResult);<a name="line.201"></a>
@@ -233,7 +233,7 @@
 <span class="sourceLineNo">225</span>    AuthResult result = null;<a name="line.225"></a>
 <span class="sourceLineNo">226</span><a name="line.226"></a>
 <span class="sourceLineNo">227</span>    for (Action permission : permissions) {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      if (authManager.authorize(user, namespace, permission)) {<a name="line.228"></a>
+<span class="sourceLineNo">228</span>      if (authManager.authorizeUserNamespace(user, namespace, permission)) {<a name="line.228"></a>
 <span class="sourceLineNo">229</span>        result =<a name="line.229"></a>
 <span class="sourceLineNo">230</span>            AuthResult.allow(request, "Namespace permission granted", user, permission, namespace);<a name="line.230"></a>
 <span class="sourceLineNo">231</span>        break;<a name="line.231"></a>
@@ -268,7 +268,7 @@
 <span class="sourceLineNo">260</span>    AuthResult result = null;<a name="line.260"></a>
 <span class="sourceLineNo">261</span><a name="line.261"></a>
 <span class="sourceLineNo">262</span>    for (Action permission : permissions) {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      if (authManager.authorize(user, namespace, permission)) {<a name="line.263"></a>
+<span class="sourceLineNo">263</span>      if (authManager.authorizeUserNamespace(user, namespace, permission)) {<a name="line.263"></a>
 <span class="sourceLineNo">264</span>        result =<a name="line.264"></a>
 <span class="sourceLineNo">265</span>            AuthResult.allow(request, "Namespace permission granted", user, permission, namespace);<a name="line.265"></a>
 <span class="sourceLineNo">266</span>        result.getParams().setTableName(tableName).setFamilies(familyMap);<a name="line.266"></a>
@@ -307,7 +307,7 @@
 <span class="sourceLineNo">299</span>    AuthResult result = null;<a name="line.299"></a>
 <span class="sourceLineNo">300</span><a name="line.300"></a>
 <span class="sourceLineNo">301</span>    for (Action permission : permissions) {<a name="line.301"></a>
-<span class="sourceLineNo">302</span>      if (authManager.authorize(user, tableName, family, qualifier, permission)) {<a name="line.302"></a>
+<span class="sourceLineNo">302</span>      if (authManager.authorizeUserTable(user, tableName, family, qualifier, permission)) {<a name="line.302"></a>
 <span class="sourceLineNo">303</span>        result = AuthResult.allow(request, "Table permission granted",<a name="line.303"></a>
 <span class="sourceLineNo">304</span>            user, permission, tableName, family, qualifier);<a name="line.304"></a>
 <span class="sourceLineNo">305</span>        break;<a name="line.305"></a>
@@ -345,7 +345,7 @@
 <span class="sourceLineNo">337</span>    AuthResult result = null;<a name="line.337"></a>
 <span class="sourceLineNo">338</span><a name="line.338"></a>
 <span class="sourceLineNo">339</span>    for (Action permission : permissions) {<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      if (authManager.authorize(user, tableName, null, null, permission)) {<a name="line.340"></a>
+<span class="sourceLineNo">340</span>      if (authManager.authorizeUserTable(user, tableName, permission)) {<a name="line.340"></a>
 <span class="sourceLineNo">341</span>        result = AuthResult.allow(request, "Table permission granted",<a name="line.341"></a>
 <span class="sourceLineNo">342</span>            user, permission, tableName, null, null);<a name="line.342"></a>
 <span class="sourceLineNo">343</span>        result.getParams().setFamily(family).setQualifier(qualifier);<a name="line.343"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/68eae623/devapidocs/src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html b/devapidocs/src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html
index d69fb6a..f5e1bf7 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html
@@ -46,7 +46,7 @@
 <span class="sourceLineNo">038</span> *<a name="line.38"></a>
 <span class="sourceLineNo">039</span> * &lt;p&gt;<a name="line.39"></a>
 <span class="sourceLineNo">040</span> * TODO: There is room for further performance optimization here.<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * Calling TableAuthManager.authorize() per KeyValue imposes a fair amount of<a name="line.41"></a>
+<span class="sourceLineNo">041</span> * Calling AuthManager.authorize() per KeyValue imposes a fair amount of<a name="line.41"></a>
 <span class="sourceLineNo">042</span> * overhead.  A more optimized solution might look at the qualifiers where<a name="line.42"></a>
 <span class="sourceLineNo">043</span> * permissions are actually granted and explicitly limit the scan to those.<a name="line.43"></a>
 <span class="sourceLineNo">044</span> * &lt;/p&gt;<a name="line.44"></a>
@@ -66,7 +66,7 @@
 <span class="sourceLineNo">058</span>    CHECK_CELL_DEFAULT,<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>  private TableAuthManager authManager;<a name="line.61"></a>
+<span class="sourceLineNo">061</span>  private AuthManager authManager;<a name="line.61"></a>
 <span class="sourceLineNo">062</span>  private TableName table;<a name="line.62"></a>
 <span class="sourceLineNo">063</span>  private User user;<a name="line.63"></a>
 <span class="sourceLineNo">064</span>  private boolean isSystemTable;<a name="line.64"></a>
@@ -83,7 +83,7 @@
 <span class="sourceLineNo">075</span>  AccessControlFilter() {<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>  AccessControlFilter(TableAuthManager mgr, User ugi, TableName tableName,<a name="line.78"></a>
+<span class="sourceLineNo">078</span>  AccessControlFilter(AuthManager mgr, User ugi, TableName tableName,<a name="line.78"></a>
 <span class="sourceLineNo">079</span>      Strategy strategy, Map&lt;ByteRange, Integer&gt; cfVsMaxVersions) {<a name="line.79"></a>
 <span class="sourceLineNo">080</span>    authManager = mgr;<a name="line.80"></a>
 <span class="sourceLineNo">081</span>    table = tableName;<a name="line.81"></a>
@@ -127,20 +127,20 @@
 <span class="sourceLineNo">119</span>      return ReturnCode.SKIP;<a name="line.119"></a>
 <span class="sourceLineNo">120</span>    }<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    // XXX: Compare in place, don't clone<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    byte[] family = CellUtil.cloneFamily(cell);<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    byte[] qualifier = CellUtil.cloneQualifier(cell);<a name="line.123"></a>
+<span class="sourceLineNo">122</span>    byte[] f = CellUtil.cloneFamily(cell);<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    byte[] q = CellUtil.cloneQualifier(cell);<a name="line.123"></a>
 <span class="sourceLineNo">124</span>    switch (strategy) {<a name="line.124"></a>
 <span class="sourceLineNo">125</span>      // Filter only by checking the table or CF permissions<a name="line.125"></a>
 <span class="sourceLineNo">126</span>      case CHECK_TABLE_AND_CF_ONLY: {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>        if (authManager.authorize(user, table, family, qualifier, Permission.Action.READ)) {<a name="line.127"></a>
+<span class="sourceLineNo">127</span>        if (authManager.authorizeUserTable(user, table, f, q, Permission.Action.READ)) {<a name="line.127"></a>
 <span class="sourceLineNo">128</span>          return ReturnCode.INCLUDE;<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>      break;<a name="line.131"></a>
 <span class="sourceLineNo">132</span>      // Cell permissions can override table or CF permissions<a name="line.132"></a>
 <span class="sourceLineNo">133</span>      case CHECK_CELL_DEFAULT: {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>        if (authManager.authorize(user, table, family, qualifier, Permission.Action.READ) ||<a name="line.134"></a>
-<span class="sourceLineNo">135</span>            authManager.authorize(user, table, cell, Permission.Action.READ)) {<a name="line.135"></a>
+<span class="sourceLineNo">134</span>        if (authManager.authorizeUserTable(user, table, f, q, Permission.Action.READ) ||<a name="line.134"></a>
+<span class="sourceLineNo">135</span>            authManager.authorizeCell(user, table, cell, Permission.Action.READ)) {<a name="line.135"></a>
 <span class="sourceLineNo">136</span>          return ReturnCode.INCLUDE;<a name="line.136"></a>
 <span class="sourceLineNo">137</span>        }<a name="line.137"></a>
 <span class="sourceLineNo">138</span>      }<a name="line.138"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/68eae623/devapidocs/src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html b/devapidocs/src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html
index d69fb6a..f5e1bf7 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html
@@ -46,7 +46,7 @@
 <span class="sourceLineNo">038</span> *<a name="line.38"></a>
 <span class="sourceLineNo">039</span> * &lt;p&gt;<a name="line.39"></a>
 <span class="sourceLineNo">040</span> * TODO: There is room for further performance optimization here.<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * Calling TableAuthManager.authorize() per KeyValue imposes a fair amount of<a name="line.41"></a>
+<span class="sourceLineNo">041</span> * Calling AuthManager.authorize() per KeyValue imposes a fair amount of<a name="line.41"></a>
 <span class="sourceLineNo">042</span> * overhead.  A more optimized solution might look at the qualifiers where<a name="line.42"></a>
 <span class="sourceLineNo">043</span> * permissions are actually granted and explicitly limit the scan to those.<a name="line.43"></a>
 <span class="sourceLineNo">044</span> * &lt;/p&gt;<a name="line.44"></a>
@@ -66,7 +66,7 @@
 <span class="sourceLineNo">058</span>    CHECK_CELL_DEFAULT,<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>  private TableAuthManager authManager;<a name="line.61"></a>
+<span class="sourceLineNo">061</span>  private AuthManager authManager;<a name="line.61"></a>
 <span class="sourceLineNo">062</span>  private TableName table;<a name="line.62"></a>
 <span class="sourceLineNo">063</span>  private User user;<a name="line.63"></a>
 <span class="sourceLineNo">064</span>  private boolean isSystemTable;<a name="line.64"></a>
@@ -83,7 +83,7 @@
 <span class="sourceLineNo">075</span>  AccessControlFilter() {<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>  AccessControlFilter(TableAuthManager mgr, User ugi, TableName tableName,<a name="line.78"></a>
+<span class="sourceLineNo">078</span>  AccessControlFilter(AuthManager mgr, User ugi, TableName tableName,<a name="line.78"></a>
 <span class="sourceLineNo">079</span>      Strategy strategy, Map&lt;ByteRange, Integer&gt; cfVsMaxVersions) {<a name="line.79"></a>
 <span class="sourceLineNo">080</span>    authManager = mgr;<a name="line.80"></a>
 <span class="sourceLineNo">081</span>    table = tableName;<a name="line.81"></a>
@@ -127,20 +127,20 @@
 <span class="sourceLineNo">119</span>      return ReturnCode.SKIP;<a name="line.119"></a>
 <span class="sourceLineNo">120</span>    }<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    // XXX: Compare in place, don't clone<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    byte[] family = CellUtil.cloneFamily(cell);<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    byte[] qualifier = CellUtil.cloneQualifier(cell);<a name="line.123"></a>
+<span class="sourceLineNo">122</span>    byte[] f = CellUtil.cloneFamily(cell);<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    byte[] q = CellUtil.cloneQualifier(cell);<a name="line.123"></a>
 <span class="sourceLineNo">124</span>    switch (strategy) {<a name="line.124"></a>
 <span class="sourceLineNo">125</span>      // Filter only by checking the table or CF permissions<a name="line.125"></a>
 <span class="sourceLineNo">126</span>      case CHECK_TABLE_AND_CF_ONLY: {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>        if (authManager.authorize(user, table, family, qualifier, Permission.Action.READ)) {<a name="line.127"></a>
+<span class="sourceLineNo">127</span>        if (authManager.authorizeUserTable(user, table, f, q, Permission.Action.READ)) {<a name="line.127"></a>
 <span class="sourceLineNo">128</span>          return ReturnCode.INCLUDE;<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>      break;<a name="line.131"></a>
 <span class="sourceLineNo">132</span>      // Cell permissions can override table or CF permissions<a name="line.132"></a>
 <span class="sourceLineNo">133</span>      case CHECK_CELL_DEFAULT: {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>        if (authManager.authorize(user, table, family, qualifier, Permission.Action.READ) ||<a name="line.134"></a>
-<span class="sourceLineNo">135</span>            authManager.authorize(user, table, cell, Permission.Action.READ)) {<a name="line.135"></a>
+<span class="sourceLineNo">134</span>        if (authManager.authorizeUserTable(user, table, f, q, Permission.Action.READ) ||<a name="line.134"></a>
+<span class="sourceLineNo">135</span>            authManager.authorizeCell(user, table, cell, Permission.Action.READ)) {<a name="line.135"></a>
 <span class="sourceLineNo">136</span>          return ReturnCode.INCLUDE;<a name="line.136"></a>
 <span class="sourceLineNo">137</span>        }<a name="line.137"></a>
 <span class="sourceLineNo">138</span>      }<a name="line.138"></a>