[ https://issues.apache.org/jira/browse/HBASE-19356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16272037#comment-16272037 ]
Appy commented on HBASE-19356: ------------------------------ These delegators will have no reference in our own code base. (From my previous comment: "My first impression was, delegates belong close to the patterns which require it. Why should hbase provide delegates when they are not even needed inside HBase.") Currently, downstreamers do {{class ExtendedFoo implements Foo}} and get hit by unrelated interface changes (method additions/deletions/modifications). Or in case of default keyword, they'll still get hit by unrelated deletions/modifications as compile error, and by unrelated additions by silently failures. If we provide delegators, they can do {{class ExtendedFoo extends FooDelegator}} and only override related methods i.e. featureA() in above example. > Provide delegators and base implementation for Phoenix implemented interfaces > ----------------------------------------------------------------------------- > > Key: HBASE-19356 > URL: https://issues.apache.org/jira/browse/HBASE-19356 > Project: HBase > Issue Type: Improvement > Reporter: James Taylor > > Many of the changes Phoenix needs to make for various branches to support > different versions of HBase are due to new methods being added to interfaces. > Often times Phoenix can use a noop or simply needs to add the new method to > it's delegate implementor. It'd be helpful if HBase provided base > implementations and delegates that Phoenix could use instead. Here are some > that come to mind: > - RegionScanner > - HTableInterface (Table interface now?) > - RegionObserver > There are likely others that [~rajeshbabu], [~an...@apache.org], and > [~elserj] would remember. -- This message was sent by Atlassian JIRA (v6.4.14#64029)