[ 
https://issues.apache.org/jira/browse/HBASE-6480?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Zhihong Ted Yu updated HBASE-6480:
----------------------------------

    Description: 
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}

  was:
Current if the callQueueSize exceed maxQueueSize, all call will be rejected, 
Should we let the priority Call pass through?

Current:
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);
}

Should we change it to :
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);
}


    
> 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.96.0, 0.94.2
>
>         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: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to