hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Enis Soztutar (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-10810) LoadTestTool should share the connection and connection pool
Date Sat, 22 Mar 2014 00:52:43 GMT

     [ https://issues.apache.org/jira/browse/HBASE-10810?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Enis Soztutar updated HBASE-10810:

    Attachment: hbase-10810_v1.patch

Here is a simple enough patch. It changes new HTable()'s with HConnection.getTable() calls.

I've tested this with LTT and IntegrationTestTimeBoundedRequestsWithRegionReplicas with 100
writer / reader threads. 

The number of threads during execution with CM does not exceed 410 (100 threads for readers
+ 256 for pool + some other). 

> 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

View raw message