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

Zhihong Yu commented on HBASE-5190:
-----------------------------------

Should we use high_scale_lib for the callQueueSize ?
{code}
       if (LOG.isDebugEnabled())
-        LOG.debug(" got call #" + id + ", " + buf.length + " bytes");
+        LOG.debug(" got call #" + id + ", " + callSize + " bytes");
{code}
Please wrap the log with braces.
{code}
+            IOException.class.getName(),
+            "Call queue is full, retry later");
{code}
Would giving some details about queue capacity help client make better decision 
?
{code}
+    // TODO add a deprecated comment for ipc.server.max.queue.size
{code}
Should the above comment be added to 0.90.7 ?
                
> Limit the IPC queue size based on calls' payload size
> -----------------------------------------------------
>
>                 Key: HBASE-5190
>                 URL: https://issues.apache.org/jira/browse/HBASE-5190
>             Project: HBase
>          Issue Type: Improvement
>    Affects Versions: 0.90.5
>            Reporter: Jean-Daniel Cryans
>            Assignee: Jean-Daniel Cryans
>             Fix For: 0.94.0
>
>         Attachments: HBASE-5190-v2.patch, HBASE-5190.patch
>
>
> Currently we limit the number of calls in the IPC queue only on their count. 
> It used to be really high and was dropped down recently to num_handlers * 10 
> (so 100 by default) because it was easy to OOME yourself when huge calls were 
> being queued. It's still possible to hit this problem if you use really big 
> values and/or a lot of handlers, so the idea is that we should take into 
> account the payload size. I can see 3 solutions:
>  - Do the accounting outside of the queue itself for all calls coming in and 
> out and when a call doesn't fit, throw a retryable exception.
>  - Same accounting but instead block the call when it comes in until space is 
> made available.
>  - Add a new parameter for the maximum size (in bytes) of a Call and then set 
> the size the IPC queue (in terms of the number of items) so that it could 
> only contain as many items as some predefined maximum size (in bytes) for the 
> whole queue.

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