[ 
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)

Reply via email to