Github user revans2 commented on a diff in the pull request:

    https://github.com/apache/storm/pull/2710#discussion_r207576736
  
    --- Diff: 
storm-client/src/jvm/org/apache/storm/daemon/supervisor/ClientSupervisorUtils.java
 ---
    @@ -28,11 +29,14 @@
     import org.apache.storm.shade.org.apache.commons.lang.StringUtils;
     import org.apache.storm.utils.ConfigUtils;
     import org.apache.storm.utils.ObjectReader;
    +import org.apache.storm.utils.ShellUtils;
     import org.apache.storm.utils.Utils;
     import org.slf4j.Logger;
     import org.slf4j.LoggerFactory;
     
     public class ClientSupervisorUtils {
    +    public static final Meter numWorkerLaunchExceptions = 
ShellUtils.numShellExceptions;
    --- End diff --
    
    This all feels a bit too confusing to me.
    
    `ShellUtils.numShellExceptions` is static and pulled in from multiple 
different locations, but only registered once in the supervisor. I personally 
would rather see it where `ClientSupervisorUtils` registers the Meter, as it is 
tied to the supervisor having it do it here is fine.
    
    For ShellUtils, I would like to see it not have a static meter, but instead 
optionally pass a meter in when calling run, or perhaps optionally include it 
in the constructor. 


---

Reply via email to