storm-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From GitBox <...@apache.org>
Subject [GitHub] [storm] kishorvpatil opened a new pull request #3311: STORM-3677: Fix suicide function if assignment is null
Date Fri, 17 Jul 2020 18:06:48 GMT

kishorvpatil opened a new pull request #3311:
URL: https://github.com/apache/storm/pull/3311


   ## What is the purpose of the change
   
   In refresh-connection thread, if we do get localAssignment, we try to get it from Zookeeper,
if assignment is still null it suggests the worker should not exist.
   
   ## How was the change tested
   
   Manually tested this:
   
   1. Launch topology.
   2. Stop supervisor, validate that worker stays up - as it reads assignment from ZK
   3. Kill topology
   4. Worker suicide function recognizes null assignment and kills itself.
   
   
   Here is worker log after change..
   
   ```
   2020-07-17 17:53:24.494 o.a.s.d.w.WorkerState refresh-connections-timer [WARN] Failed to
read assignment. This should only happen when topology is shutting down.
   java.lang.RuntimeException: Failed to read worker assignment. Supervisor client threw exception,
and assignment in Zookeeper was null
   2020-07-17 17:53:24.503 o.a.s.d.w.WorkerState refresh-connections-timer [INFO] Assigment
is null. We should not be alive!
   2020-07-17 17:53:24.503 o.a.s.u.Utils refresh-connections-timer [ERROR] Halting process:
Worker died
   java.lang.RuntimeException: Halting process: Worker died
           at org.apache.storm.utils.Utils.exitProcess(Utils.java:518) ~[storm-client-2.3.0.y.jar:2.3.0.y]
           at org.apache.storm.utils.Utils$3.run(Utils.java:870) ~[storm-client-2.3.0.y.jar:2.3.0.y]
           at org.apache.storm.daemon.worker.WorkerState.suicideIfLocalAssignmentsChanged(WorkerState.java:398)
~[storm-client-2.3.0.y.jar:2.3.0.y]
           at org.apache.storm.daemon.worker.WorkerState.refreshConnections(WorkerState.java:413)
~[storm-client-2.3.0.y.jar:2.3.0.y]
           at org.apache.storm.StormTimer$1.run(StormTimer.java:110) [storm-client-2.3.0.y.jar:2.3.0.y]
           at org.apache.storm.StormTimer$StormTimerTask.run(StormTimer.java:226) [storm-client-2.3.0.y.jar:2.3.0.y]
   
   ```


----------------------------------------------------------------
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:
users@infra.apache.org



Mime
View raw message