[
https://issues.apache.org/jira/browse/HBASE-13375?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14516543#comment-14516543
]
Mikhail Antonov commented on HBASE-13375:
-----------------------------------------
[~anoop.hbase] - thanks for review!
Before this change we had multiple place when we init super users lists (access
controller, TableAuthManager, and several label services in coprocessor-related
environment. After this re-consolidation we've got one place where we keep/load
them, but we still need to call this initialization from somethere passing in
proper Conf object.
Since these super users/groups lists only make sense inside server processes,
and we own codebase for them, I think that shouldn't be dangerous - if we were
to forget to init this list in some process, it would just fail and we'd fix
the bug.
bq. When lazy loading we have to pass the Conf to isSuperUser by the way.
Hm? I think you mentioned before -
bq. Can we have isSuperUser () method as an instance method so no need to pass
the user?
So that was the approach I took. Seems reasonable to me.
bq. Still I am not liking these methods in User.java
Why? After moving super users lists in this class they seem to belong here, as
we need the methods to parse user names available in this class, and it's in
hbase-common. Previously they lived in AccessControlLists, which is in
hbase-server..so module dependencies get involved.
> Provide HBase superuser higher priority over other users in the RPC handling
> ----------------------------------------------------------------------------
>
> Key: HBASE-13375
> URL: https://issues.apache.org/jira/browse/HBASE-13375
> Project: HBase
> Issue Type: Improvement
> Components: rpc
> Reporter: Devaraj Das
> Assignee: Mikhail Antonov
> Fix For: 1.1.0
>
> Attachments: HBASE-13375-v0.patch, HBASE-13375-v1.patch,
> HBASE-13375-v1.patch, HBASE-13375-v1.patch, HBASE-13375-v2.patch,
> HBASE-13375-v3.patch, HBASE-13375-v4.patch
>
>
> HBASE-13351 annotates Master RPCs so that RegionServer RPCs are treated with
> a higher priority compared to user RPCs (and they are handled by a separate
> set of handlers, etc.). It may be good to stretch this to users too - hbase
> superuser (configured via hbase.superuser) gets higher priority over other
> users in the RPC handling. That way the superuser can always perform
> administrative operations on the cluster even if all the normal priority
> handlers are occupied (for example, we had a situation where all the master's
> handlers were tied up with many simultaneous createTable RPC calls from
> multiple users and the master wasn't able to perform any operations initiated
> by the admin). (Discussed this some with [~enis] and [~elserj]).
> Does this make sense to others?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)