You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "stack (JIRA)" <ji...@apache.org> on 2012/10/02 23:01:08 UTC
[jira] [Commented] (HBASE-6480) If callQueueSize exceed
maxQueueSize, all call will be rejected, do not reject priorityCall
[ 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