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

Duo Zhang commented on HBASE-22874:
-----------------------------------

OK, jira is back finnaly.

The IA.Public means all the public API can not be changed unless it is 
deprecated for a whole major version, this is a very strong guarantee, so when 
providing an IA.Public stuff you need to be very careful.

For IA.LimitedPrivate("TOOLS"), it means that you can invoke it from command 
line, with the ToolRunner, and usually we will give it a special name, such as 
our 'pe' and 'ltt'. And if want to use the tool in code, typically, the way is 
to use it like this


{code:java}
ToolRunner.run(conf, new Tool(), args);
{code}

So the guarantee here is that, it will extends the Tool interface and can be 
invoked through the ToolRunner. And maybe we should always provide a default 
constructor probably we do not...






> Canary should not be IA.Public
> ------------------------------
>
>                 Key: HBASE-22874
>                 URL: https://issues.apache.org/jira/browse/HBASE-22874
>             Project: HBase
>          Issue Type: Bug
>          Components: canary
>            Reporter: Duo Zhang
>            Priority: Blocker
>             Fix For: 3.0.0, 2.3.0, 2.0.6, 2.2.1, 2.1.6
>
>
> It can be marked as IA.LimitedPrivate(TOOLS).



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

Reply via email to