hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nick Dimiduk (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-11879) Change TableInputFormatBase to take interface arguments
Date Thu, 04 Sep 2014 17:43:52 GMT

    [ https://issues.apache.org/jira/browse/HBASE-11879?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14121638#comment-14121638

Nick Dimiduk commented on HBASE-11879:

+1 for option 2. Be sure to define/document the semantics of the connection lifecycle -- presumably
the caller owns it.

> Change TableInputFormatBase to take interface arguments
> -------------------------------------------------------
>                 Key: HBASE-11879
>                 URL: https://issues.apache.org/jira/browse/HBASE-11879
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Carter
>            Assignee: Carter
> As part of the ongoing interface abstraction work, I'm now investigating {{TableInputFormatBase}},
which has two methods that break encapsulation:
> {code}
> protected HTable getHTable();
> protected void setHTable(HTable table);
> {code}
> 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:
> {code}
> protected Table getTable();
> protected void setTable(Table table);
> protected RegionLocator getRegionLocator();
> protected void setRegionLocator(RegionLocator regionLocator);
> {code}
> Since users will frequently call {{setTable}} and {{setRegionLocator}} together, it probably
also makes sense to add the following convenience method:
> {code}
> protected void setTableAndRegionLocator(Table table, RegionLocator regionLocator);
> {code}

This message was sent by Atlassian JIRA

View raw message