hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Varun Sharma (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-7295) Contention in HBaseClient.getConnection
Date Mon, 18 Mar 2013 21:25:16 GMT

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

Varun Sharma commented on HBASE-7295:
-------------------------------------

Lars,

I maybe forgetting but is it because of the edge cases with PoolMap thread safety or is it
the Connection object thread safety or is it because of the double checked locking issue in
general ?

Thanks
Varun
                
> Contention in HBaseClient.getConnection
> ---------------------------------------
>
>                 Key: HBASE-7295
>                 URL: https://issues.apache.org/jira/browse/HBASE-7295
>             Project: HBase
>          Issue Type: Improvement
>    Affects Versions: 0.94.3
>            Reporter: Varun Sharma
>            Assignee: Varun Sharma
>             Fix For: 0.95.0
>
>         Attachments: 7295-0.94.txt, 7295-0.94-v2.txt, 7295-0.94-v3.txt, 7295-0.94-v4.txt,
7295-0.94-v5.txt, 7295-trunk.txt, 7295-trunk.txt, 7295-trunk-v2.txt, 7295-trunk-v3.txt, 7295-trunk-v3.txt,
7295-trunk-v4.txt
>
>
> HBaseClient.getConnection() synchronizes on the connections object. We found severe contention
on a thrift gateway which was fanning out roughly 3000+ calls per second to hbase region servers.
The thrift gateway had 2000+ threads for handling incoming connections. Threads were blocked
on the syncrhonized block - we set ipc.pool.size to 200. Since we are using RoundRobin/ThreadLocal
pool only - its not necessary to synchronize on connections - it might lead to cases where
we might go slightly over the ipc.max.pool.size() but the additional connections would timeout
after maxIdleTime - underlying PoolMap connections object is thread safe.

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