Github user nickwallen commented on the issue:

    https://github.com/apache/metron/pull/748
  
    I committed another change.  Everything seems to be working with this 
additional fix.  Would like @anandsubbu to add his experiences working with 
this patch.
    
    This problem started with #660 .  I added a conditional to make sure that a 
topology is actually running before trying to stop it and similar logic for 
starting topologies.  This introduced a subtle dependency in that the "is 
running" conditional depends on the Storm UI/API.  If the Storm UI/API is not 
running, then it assumes the topology is already stopped.  This is only a 
problem if the Storm UI/API is stopped before Metron components.
    
    We then attempted a fix in #680.  There we added dependencies to 
`STORM_REST_API-STOP` to ensure that all Metron topologies are stopped prior to 
the Storm UI.  This is necessary since the Metron MPack uses the Storm API to 
check the status of topologies before shutting them down.  
    
    Unfortunately, this did not fix the problem, at least not in all cases. We 
found instances where the Metron MPack was still unable to stop topologies 
before Kerberization because the Storm UI/API had already been stopped.  
    
    After some sleuthing, it seems that the status checks depend on a process 
running on port 8744. 
     I found that the storm component that listens on port 8744 is actually 
called `STORM_UI_SERVER` by Ambari.  So it is the `STORM_UI_SERVER` component 
that we need to add the dependencies to.  And this is what I have added in the 
latest commit. 
    
    I am assuming that this is needed in addition to `STORM_REST_API`, but I am 
not completely sure. 
     So I left the existing `STORM_REST_API` dependencies.


---

Reply via email to