Enis Soztutar created HBASE-10810:
-------------------------------------

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