narendly commented on a change in pull request #333: Fix issue when client only 
sets ANY at cluster level throttle config
URL: https://github.com/apache/helix/pull/333#discussion_r310153372
 
 

 ##########
 File path: 
helix-core/src/main/java/org/apache/helix/controller/stages/StateTransitionThrottleController.java
 ##########
 @@ -99,6 +99,21 @@ public StateTransitionThrottleController(Set<String> 
resources, ClusterConfig cl
     }
   }
 
+  // The getter methods are used for debugging and testing purpose
 
 Review comment:
   I am not 100% comfortable with adding methods just for testing/debugging. 
This is a potential vulnerability in scoping. Here's a trick you can do (I have 
done this in some tests):
   
   Instead of adding methods (that shouldn't otherwise be used other than 
testing purposes), create a child class (for example, 
`MockStateTranisitonThrottleController`) that extends this class and just add 
these test/debug methods. That way, in your unit tests, you could use the mock 
class and still utilize these methods that expose internal variables, rather 
than adding methods directly to the main class.
   
   Do you think that would work?

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to