hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lars Hofhansl (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-6580) Deprecate HTablePool in favor of HConnection.getTable(...)
Date Thu, 08 Aug 2013 00:00:50 GMT

     [ 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

Mime
View raw message