Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
Reviewed
Description
As part of the ongoing interface abstraction work, I'm now investigating TableInputFormatBase, which has two methods that break encapsulation:
protected HTable getHTable(); protected void setHTable(HTable table);
While these are protected methods, the base @InterfaceAudience.Public is abstract, meaning that it supports extension by user code.
I propose deprecating these two methods and replacing them with these four, once the Table interface is merged:
protected Table getTable(); protected void setTable(Table table); protected RegionLocator getRegionLocator(); protected void setRegionLocator(RegionLocator regionLocator);
Since users will frequently call setTable and setRegionLocator together, it probably also makes sense to add the following convenience method:
protected void setTableAndRegionLocator(Table table, RegionLocator regionLocator);
Attachments
Attachments
Issue Links
- depends upon
-
HBASE-11825 Create Connection and ConnectionManager
- Closed
- is part of
-
HBASE-10602 Cleanup HTable public interface
- Closed