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

Geoffrey Jacoby commented on HBASE-22874:
-----------------------------------------

[~shahrs87] - if you want to take it, go for it -- if not I can probably get to 
it sometime in the next week or so. I think it's more than a 30 minute task 
because it wouldn't just be changing the InterfaceAudience or creating a new 
interface with the method "run(String[])", which we already have in the Tool 
interface anyway. 

I think [~Apache9]'s correct that BulkLoadHFiles / BulkLoadHFilesTool is the 
right model here -- there's an IA.Public interface suitable for API usage and a 
LimitedPrivate(Tools) implementation class suitable for command line use. 

That means refactoring the Canary so that it exposes a true API instead of the 
arg-parsed String array (and extracting it into Java interface), and then 
refactoring the Tool portion of the canary to parse the args and call the API 
instead. Figuring out exactly what that API looks like so that we're 
comfortable marking the IA as Public will probably take some thought, because 
the Canary has quite a few command arguments.

> 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
>            Assignee: Rushabh S Shah
>            Priority: Blocker
>             Fix For: 3.0.0, 1.5.0, 2.3.0, 2.2.1, 2.1.6, 1.3.6, 1.4.11
>
>
> It can be marked as IA.LimitedPrivate(TOOLS).



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

Reply via email to