hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-6480) If callQueueSize exceed maxQueueSize, all call will be rejected, do not reject priorityCall
Date Tue, 02 Oct 2012 21:01:08 GMT

    [ https://issues.apache.org/jira/browse/HBASE-6480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13468069#comment-13468069
] 

stack commented on HBASE-6480:
------------------------------

[~aoxiang] These should be some upper bound.  What is your operational experience running
with this patch?  The idea is good.  This call is probably expensive ' callSize = call.getSize();'
 What happens when client gets 'callTooBig'?  It retries?  Can it wait before it retries?
                
> If callQueueSize exceed maxQueueSize, all call will be rejected, do not reject priorityCall

> --------------------------------------------------------------------------------------------
>
>                 Key: HBASE-6480
>                 URL: https://issues.apache.org/jira/browse/HBASE-6480
>             Project: HBase
>          Issue Type: Bug
>            Reporter: binlijin
>             Fix For: 0.94.3, 0.96.0
>
>         Attachments: HBASE-6480-94.patch, HBASE-6480-trunk.patch
>
>
> Current if the callQueueSize exceed maxQueueSize, all call will be rejected, Should we
let the priority Call pass through?
> Current:
> {code}
> if ((callSize + callQueueSize.get()) > maxQueueSize) {
>   Call callTooBig = xxx
>   return ;
> }
> if (priorityCallQueue != null && getQosLevel(param) > highPriorityLevel) {
>   priorityCallQueue.put(call);
>   updateCallQueueLenMetrics(priorityCallQueue);
> } else {
>   callQueue.put(call);              // queue the call; maybe blocked here
>   updateCallQueueLenMetrics(callQueue);
> }
> {code}
> Should we change it to :
> {code}
> if (priorityCallQueue != null && getQosLevel(param) > highPriorityLevel) {
>   priorityCallQueue.put(call);
>   updateCallQueueLenMetrics(priorityCallQueue);
> } else {
>   if ((callSize + callQueueSize.get()) > maxQueueSize) {
>    Call callTooBig = xxx
>    return ;
>   }
>   callQueue.put(call);              // queue the call; maybe blocked here
>   updateCallQueueLenMetrics(callQueue);
> }
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message