[ https://issues.apache.org/jira/browse/STORM-532?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14214877#comment-14214877 ]
ASF GitHub Bot commented on STORM-532: -------------------------------------- Github user revans2 commented on a diff in the pull request: https://github.com/apache/storm/pull/296#discussion_r20450306 --- Diff: storm-core/src/clj/backtype/storm/util.clj --- @@ -372,6 +372,13 @@ (throw (RuntimeException. (str "Got unexpected process name: " name)))) (first split))) +(defn exists-process? + [process-id] + (if on-windows? + (exec-command! ( str "tasklist /v /fi \"PID eq " process-id + "\"" " | find /i \"" process-id "\"")) + (exists-file? (str "/proc/" process-id)) --- End diff -- /proc also does not exist on all unix variants, I would prefer to see something more robust for different OSes. > Supervisor should restart worker immediately, if the worker process does not > exist any more > -------------------------------------------------------------------------------------------- > > Key: STORM-532 > URL: https://issues.apache.org/jira/browse/STORM-532 > Project: Apache Storm > Issue Type: Improvement > Affects Versions: 0.10.0 > Reporter: caofangkun > Assignee: caofangkun > Priority: Minor > > For now > if the worker process does not exist any more > Supervisor will have to wait a few seconds for worker heartbeart timeout and > restart worker . > If supervisor knows the worker processid and check if the process exists in > the sync-processes thread ,may need less time to restart worker. > 1: record worker process id in the worker local heartbeart > 2: in supervisor sync-processes ,get process id from worker local heartbeat > and check if the process exits > 3: if not restart it immediately -- This message was sent by Atlassian JIRA (v6.3.4#6332)