[
https://issues.apache.org/jira/browse/HBASE-13375?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14557809#comment-14557809
]
Andrew Purtell commented on HBASE-13375:
----------------------------------------
PriorityFunction is LP/Evolving(COPROC, PHOENIX). That interface has one
method signature and this patch changes it, so by definition will break all
users. I don't want this as-is on 0.98 and our compatibility guidelines
(https://hbase.apache.org/book.html#hbase.versioning) don't allow this kind of
change on a patch release of branch-1.0 or branch-1.1 as-is either. This kind
of change would be ok for the next minor release (1.2) or master.
The original 'getPriority' method in PriorityFunction is defined as:
{code}
int getPriority(RequestHeader header, Message param);
{code}
Why not leave it in place and add a new user-aware method:
{code}
int getPriority(RequestHeader header, Message param, User user);
{code}
Then we can detect when an implementer of PriorityFunction has the user-aware
getPriority method and call it if available. If not, we call the old method.
There will be no compatibility issues.
> 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: 2.0.0, 1.2.0, 1.1.1
>
> 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-13375-v5.patch,
> HBASE-13375-v6.patch, HBASE-13375-v7.patch, HBASE-13375-v8.patch,
> HBASE-13375-v9-branch-1.1.patch, HBASE-13375-v9.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)