You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Enis Soztutar (JIRA)" <ji...@apache.org> on 2014/05/01 02:42:15 UTC

[jira] [Commented] (HBASE-10810) LoadTestTool should share the connection and connection pool

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

Enis Soztutar commented on HBASE-10810:
---------------------------------------

Thanks Nick for the review. 
bq. What's unclear to me is how the 100 reader threads will contend for the (up to) 256 threads in the shared pool used by all HTables for the connection
In case this becomes a problem, we can increase the default pool side that the LTT connection is using.

> LoadTestTool should share the connection and connection pool
> ------------------------------------------------------------
>
>                 Key: HBASE-10810
>                 URL: https://issues.apache.org/jira/browse/HBASE-10810
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Enis Soztutar
>            Assignee: Enis Soztutar
>             Fix For: hbase-10070
>
>         Attachments: hbase-10810_v1.patch
>
>
> While running the IT test from HBASE-10572, we've noticed that the number of threads jumps to 4K's when CM actions are going on. 
> Our [~ndimiduk] summarizes the problem quite good: 
> MultiThreadedReader creates this pool for each HTable:
> {code}
>     ThreadPoolExecutor pool = new ThreadPoolExecutor(1, maxThreads, keepAliveTime, TimeUnit.SECONDS,
>         new SynchronousQueue<Runnable>(), Threads.newDaemonThreadFactory("htable"));
> {code}
> This comes from the HTable creation
> {code}  
> public HTable(Configuration conf, final TableName tableName)
> {code}
> As well the javadoc says Recommended.
> This is wrong.
> In this issue we can change the LTT sub classes to use the shared connection object and initialize their tables using HConnection.getTable() rather than new HTable(). 
> This is relevant to trunk as well, but there since there is only one outstanding RPC per thread, it is not such a big problem. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)