[ 
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)

Reply via email to