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

Jesse Yates commented on HBASE-8928:
------------------------------------

Looks like the visibility stuff for ChaosMonkey already exist in tip of 0.94, 
except for:
{code}
   /**
    * A context for a Policy
    */
-  private static class PolicyContext extends ActionContext {
-    PolicyContext(IntegrationTestingUtility util) {
+  public static class PolicyContext extends ActionContext {
+    public PolicyContext(IntegrationTestingUtility util) {
       super(util);
     }
   }
@@ -440,7 +441,8 @@ public class ChaosMonkey extends AbstractHBaseTool 
implements Stoppable {
    * A policy to introduce chaos to the cluster
    */
   public static abstract class Policy extends StoppableImplementation 
implements Runnable {
-    PolicyContext context;
+    protected PolicyContext context;
+
     public void init(PolicyContext context) throws Exception {
       this.context = context;
     }
{code}

Which is out of date for the current state of 0.94; want to take another look? 
LoadTest visibilities looks good to me for 0.94.
                
> Make ChaosMonkey & LoadTest tools extensible, to allow addition of more 
> actions and policies.
> ---------------------------------------------------------------------------------------------
>
>                 Key: HBASE-8928
>                 URL: https://issues.apache.org/jira/browse/HBASE-8928
>             Project: HBase
>          Issue Type: Bug
>          Components: test
>    Affects Versions: 0.95.2
>            Reporter: gautam
>            Assignee: Enis Soztutar
>         Attachments: HBASE-8928-0.94.patch, HBASE-8928-trunk.patch
>
>
> Let me split this requirement into 2 parts:
> i) ChaosMonkey
> I was trying to add more tests around new actions and policies by leveraging 
> the existing classes nested inside ChaosMonkey.
> But it turned out that some of the classes cannot be used outside, unless we 
> make those visible to the world.
> Here is an example:
> I cannot extend ChaosMonkey.Action, as the init(ActionContext context) method 
> has package-wide visibility.
> There are other places as well which makes it impossible for anyone to extend 
> on top of this hierarchy.
> ii) LoadTestTool
> I wanted to extend this tool to define failure/pass criteria based on % of 
> read/write failed, rather than comparing against absolute 0. 
> For that this beautiful class should mark some of its properties usable by 
> its child, by marking those protected.
> I wanted to get unblocked here first. 
> Once this gets fixed, I think I can take up a JIRA item to refactor these 
> tools, if required.

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

Reply via email to