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

Nick Dimiduk commented on HBASE-9495:
-------------------------------------

bq. At some point we need to do a full pass and use start using 
@IntefaceAudience.LimitedPrivate("coproc") (or something like that)for things 
exposed that are safe for coprocs to use, and maybe something similar for 3rd 
party filters, and other plugin hooks.

This isn't quite inline with my understanding of the upstream meaning of that 
annotation. From what I can tell, it's for marking things as being consumed by 
specific external projects, not internal-but-user-facing components. I do agree 
that we need some mechanism though, and maybe we'll need to overload the 
annotations for our own use.

IMHO, any code that touches or leaks into a user application must be 
@IntefaceAudience.Public, including client classes, their parameter interfaces, 
and their returned interfaces, exceptions we bubble up, filters, and whatever 
coprocessor interfaces are necessary to support endpoints (I don't recall what 
those are off the top of my head). Am I missing anything else for this list? 
@IntefaceAudience.LimitedPrivate makes sense for observer coprocessors, master 
plugins, and any interface who's implementation can be overridden by 
configuration.
                
> Sanity check visiblity and audience for hbase-client and hbase-common apis.
> ---------------------------------------------------------------------------
>
>                 Key: HBASE-9495
>                 URL: https://issues.apache.org/jira/browse/HBASE-9495
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Jonathan Hsieh
>            Assignee: Jonathan Hsieh
>
> This is a task to audit and enumerate places where hbase-common and 
> hbase-client should narrow or widen the exposed user program supported api.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to