[
https://issues.apache.org/jira/browse/HBASE-6580?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Lars Hofhansl updated HBASE-6580:
---------------------------------
Release Note:
This issue introduces a few new APIs:
* HConnectionManager:
{code}
public static HConnection createConnection(Configuration conf)
public static HConnection createConnection(Configuration conf,
ExecutorService pool)
{code}
* HConnection:
{code}
public HTableInterface getTable(String tableName) throws IOException
public HTableInterface getTable(byte[] tableName) throws IOException
public HTableInterface getTable(String tableName, ExecutorService pool)
throws IOException
public HTableInterface getTable(byte[] tableName, ExecutorService pool)
throws IOException
{code}
By default HConnectionImplementation will create an ExecutorService when
needed. The ExecutorService can optionally passed be passed in.
HTableInterfaces are retrieved from the HConnection. By default the
HConnection's ExecutorService is used, but optionally that can be overridden
for each HTable.
> Deprecate HTablePool in favor of HConnection.getTable(...)
> ----------------------------------------------------------
>
> Key: HBASE-6580
> URL: https://issues.apache.org/jira/browse/HBASE-6580
> Project: HBase
> Issue Type: Improvement
> Affects Versions: 0.94.6, 0.95.0
> Reporter: Lars Hofhansl
> Assignee: Lars Hofhansl
> Fix For: 0.98.0, 0.95.2, 0.94.11
>
> Attachments: 6580-0.94.txt, 6580-0.94-v2.txt, 6580-trunk.txt,
> 6580-trunk-v2.txt, 6580-trunk-v3.txt, 6580-trunk-v4.txt, 6580-trunk-v5.txt,
> 6580-trunk-v6.txt, HBASE-6580_v1.patch, HBASE-6580_v2.patch
>
>
> Update:
> I now propose deprecating HTablePool and instead introduce a getTable method
> on HConnection and allow HConnection to manage the ThreadPool.
> Initial proposal:
> Here I propose a very simple TablePool.
> It could be called LightHTablePool (or something - if you have a better name).
> Internally it would maintain an HConnection and an Executor service and each
> invocation of getTable(...) would create a new HTable and close() would just
> close it.
> In testing I find this more light weight than HTablePool and easier to
> monitor in terms of resources used.
> It would hardly be more than a few dozen lines of code.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira