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

Nick Dimiduk commented on HBASE-10810:
--------------------------------------

[~nkeywal] and I came to the same conclusion simultaneously. I think the test 
should be using a single pool for all tables it creates, instead of using this 
HTable constructor with it's managed pool. In general, I think the HTable 
constructor is dangerous for anything but a one-off and should be removed (see 
HBASE-9117).

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

Reply via email to