You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Lars Hofhansl (Issue Comment Edited) (JIRA)" <ji...@apache.org> on 2011/12/07 08:20:40 UTC

[jira] [Issue Comment Edited] (HBASE-4956) Control direct memory buffer consumption by HBaseClient

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

Lars Hofhansl edited comment on HBASE-4956 at 12/7/11 7:18 AM:
---------------------------------------------------------------

We might not have to go all the way to use netty (although that would be nice).
If we find that it is possible to avoid calling HBaseClient.Connection.sendParam from the client thread, but have the call actually be made from the Connection thread (after the callable representing the operation was queued), we have limited the number of threads that will have cached DirectBuffer on their behalf.
Stack suggested the only reason for the direct call might be to pass errors back to the client. We could hand the client a Deferred or Future that will eventually hold any encountered exception, the client could (and would by default to keep the current synchronous behavior) also wait on that object.
                
      was (Author: lhofhansl):
    We might not have to go all the way to use netty (although that would be nice).
If we find that it is possible to avoid calling HBaseClient.Connection.sendParam from the client thread, but have the call actually be made from the Connection thread (after the callable representing the operation was queued), we have limited the number of threads that will have cached DirectBuffer on their behalf.
Stack suggested the only reason for the direct call might be to pass errors back to the client. We could hand the client a Deferred or Future that will eventually hold any encountered exception, the client could (and would be default to keep the current synchronous behavior) also wait on that object.
                  
> Control direct memory buffer consumption by HBaseClient
> -------------------------------------------------------
>
>                 Key: HBASE-4956
>                 URL: https://issues.apache.org/jira/browse/HBASE-4956
>             Project: HBase
>          Issue Type: New Feature
>            Reporter: Ted Yu
>
> As Jonathan explained here https://groups.google.com/group/asynchbase/browse_thread/thread/c45bc7ba788b2357?pli=1 , standard hbase client inadvertently consumes large amount of direct memory.
> We should consider using netty for NIO-related tasks.

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