hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Hsieh (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-9495) Sanity check visiblity and audience for hbase-client and hbase-common apis.
Date Wed, 11 Sep 2013 18:14:52 GMT

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

Jonathan Hsieh commented on HBASE-9495:

>From the InterfaceVisiblity code -- in our context I think of coprocs as hbase "projects".
033     /**
034       * Intended only for the project(s) specified in the annotation.
035       * For example, "Common", "HDFS", "MapReduce", "ZooKeeper", "HBase".
036       */
037      @Documented public @interface LimitedPrivate {
038        String[] value();
039      };

bq. 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.

I think this is basically right there are places we need to put some walls up.  (hence why
I'm looking for a dependency tool -- if I don't find one I'm going to end up build a big nasty
postit graph).

> 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

View raw message