Details
-
Sub-task
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
Reviewed
Description
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:
ThreadPoolExecutor pool = new ThreadPoolExecutor(1, maxThreads, keepAliveTime, TimeUnit.SECONDS, new SynchronousQueue<Runnable>(), Threads.newDaemonThreadFactory("htable"));
This comes from the HTable creation
public HTable(Configuration conf, final TableName tableName)
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.
Attachments
Attachments
Issue Links
- relates to
-
HBASE-10701 Cache invalidation improvements from client side
- Closed
-
HBASE-9117 Remove HTablePool and all HConnection pooling related APIs
- Closed