hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Purtell (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (HBASE-16048) Consider tagging InternalScanner with LimitedPrivate(HBaseInterfaceAudience.COPROC)
Date Fri, 17 Jun 2016 00:11:05 GMT

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

Andrew Purtell edited comment on HBASE-16048 at 6/17/16 12:10 AM:
------------------------------------------------------------------

It's a fair question [~jrottinghuis].

Because coprocessors are internal extension points there are going to be internal types in
method signatures. When they are used as opaque references all is well. When we are approached
by users wanting compatibility guarantees - because they are going to inherit as a base class
or implement the interface - in the past we sometimes have replaced the internal type with
a supportable interface, see HBASE-12972 and HBASE-12975 as two examples. 

In this case, InternalScanner not only is found in method signatures but coprocessor users,
in order to extend scanning, must implement it. It is already a stable interface. Would it
not be what we would come up with if performing another exercise here like HBASE-12972? 

Therefore I am +1 for promoting it to LP


was (Author: apurtell):
It's a fair question [~jrottinghuis].

Because coprocessors are internal extension points there are going to be internal types in
method signatures. When they are used as opaque references all is well. When we are approached
by users wanting compatibility guarantees - because they are going to inherit as a base class
or implement the interface - in the past we sometimes have replaced the internal type with
a supportable interface, see HBASE-12972 and HBASE-12975 as two examples. 

In this case, InternalScanner not only is found in method signatures but coprocessor users,
in order to extend scanning, must implement it. It is already a stable interface. Would it
not be what we would come up with if performing another exercise here like HBASE-12972? 

> Consider tagging InternalScanner with LimitedPrivate(HBaseInterfaceAudience.COPROC) 
> ------------------------------------------------------------------------------------
>
>                 Key: HBASE-16048
>                 URL: https://issues.apache.org/jira/browse/HBASE-16048
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Ted Yu
>
> Some methods (preCompact, preCompactScannerOpen, preFlush, preFlushScannerOpen, etc)
of BaseRegionObserver take InternalScanner as input argument as well as the return type.
> BaseRegionObserver is tagged with @InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.COPROC)
but InternalScanner is tagged with @InterfaceAudience.Private.
> This JIRA is to discuss tagging InternalScanner with @InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.COPROC).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message