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

Mihir Monani edited comment on HBASE-23640 at 1/6/20 6:27 AM:
--------------------------------------------------------------

Hi [~ndimiduk] 

In our test clusters, we are trying to create framework where we can avoid 
setup of passwordless-ssh for destructive actions of Chaos Monkey. For this 
purpose, we are planning to use Zookeeper to create task which will be executed 
by our framework as local action like kill, restart etc. (Like 
RESTApiClusterManager class which is merged into hbase-it code and it is not 
InterfaceAudience.Private )

HBaseClusterManager is InterfaceAudience.Private class and CommandProvider is 
internal class of HBaseClusterManager. Because of that, we can't extend 
HBaseClusterManager directly in our test framework and we have to bundle our 
own ClusterManager in hbase-it package. 

To avoid this, i wanted to make it public (and separate out code for 
CommandProvider also) so we don't have to merge our Custom implementation of 
HBaseClusterManager into hbase-it code.

Does this seems like a good approach to you? Purpose here is to make 
hbase-testing-util extendable.

FYI [HBASE-23639|https://issues.apache.org/jira/browse/HBASE-23639] is first 
step in this exercise to make hbase-testing-util extendable.


was (Author: mihir6692):
Hi [~ndimiduk] 

In our test clusters, we are trying to create framework where we can avoid 
setup of passwordless-ssh for destructive actions of Chaos Monkey. For this 
purpose, we are planning to use Zookeeper to create task which will be executed 
by our framework as local action like kill, restart etc. (Like 
RESTApiClusterManager class which is merged into hbase-it code and it is not 
InterfaceAudience.Private )

HBaseClusterManager is InterfaceAudience.Private class and CommandProvider is 
internal class of HBaseClusterManager. Because of that, we can't extend 
HBaseClusterManager directly in our test framework and we have to bundle our 
own ClusterManager in hbase-it package. 

To avoid this, i wanted to make it public (and separate out code for 
CommandProvider also) so we don't have to merge our Custom implementation of 
HBaseClusterManager into hbase-it code.

Does this seems like a good approach to you? Purpose here is to make 
hbase-testing-util extendable.

> Move HBaseClusterManager.CommandProvider and it's different implementations 
> as seperate class/interface
> -------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-23640
>                 URL: https://issues.apache.org/jira/browse/HBASE-23640
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Mihir Monani
>            Assignee: Mihir Monani
>            Priority: Major
>
> HBaseClusterManager.CommandProvider and it's implementations are private to 
> HBaseClusterManager and hbase-it package. 
> If any one wants to do custom implementations of ClusterManager Interface, 
> they cant's use this code as it is not visible outside the hbase-it package. 
> This Jira is also dependents on 
> [HBASE-23639|https://issues.apache.org/jira/browse/HBASE-23639]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to