Description
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?
Attachments
Attachments
Issue Links
- incorporates
-
HBASE-9117 Remove HTablePool and all HConnection pooling related APIs
-
- Closed
-
-
HBASE-9527 Review all old api that takes a table name as a byte array and ensure none can pass ns + tablename
-
- Closed
-
-
HBASE-10757 Change HTable class doc so it sends people to HCM getting instances
-
- Closed
-
-
HBASE-11797 Create Table interface to replace HTableInterface
-
- Closed
-
-
HBASE-11825 Create Connection and ConnectionManager
-
- Closed
-
-
HBASE-11826 Split each tableOrRegionName admin methods into two targetted methods
-
- Closed
-
-
HBASE-11879 Change TableInputFormatBase to take interface arguments
-
- Closed
-
- is related to
-
HBASE-12029 Use Table and RegionLocator in HTable.getRegionLocations()
-
- Closed
-
-
HBASE-10934 Provide Admin interface to abstract HBaseAdmin
-
- Closed
-
-
HBASE-11068 Update code to use Admin factory method instead of constructor
-
- Closed
-
-
HBASE-10856 Prep for 1.0
-
- Closed
-
- relates to
-
HBASE-12083 Deprecate new HBaseAdmin() in favor of Connection.getAdmin()
-
- Closed
-
- links to
1.
|
Deprecate / Remove HTableUtil |
|
Closed | Michael Stack |