[ 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)