[
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], [[email protected]], and
> [~elserj] would remember.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)