You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Nick Dimiduk (JIRA)" <ji...@apache.org> on 2014/02/25 01:54:19 UTC

[jira] [Created] (HBASE-10602) Cleanup HTable public interface

Nick Dimiduk created HBASE-10602:
------------------------------------

             Summary: Cleanup HTable public interface
                 Key: HBASE-10602
                 URL: https://issues.apache.org/jira/browse/HBASE-10602
             Project: HBase
          Issue Type: Improvement
          Components: Client, Usability
            Reporter: Nick Dimiduk
             Fix For: 0.99.0


HBASE-6580 replaced the preferred means of HTableInterface acquisition to the HConnection#getTable factory methods. HBASE-9117 removes the HConnection cache, placing the burden of responsible connection cleanup on whomever acquires it.

The remaining HTable constructors use a Connection instance and manage their own HConnection on the callers behalf. This is convenient but also a surprising source of poor performance for anyone accustomed to the previous connection caching behavior. I propose deprecating those remaining constructors for 0.98/0.96 and removing them for 1.0.

While I'm at it, I suggest we pursue some API hygiene in general and convert HTable into an interface. I'm sure there are method overloads for accepting String/byte[]/TableName where just TableName is sufficient. Can that be done for 1.0 as well?



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)