Stig Rohde Døssing created STORM-3320:
-----------------------------------------
Summary: Executors should start when all worker connections are
ready
Key: STORM-3320
URL: https://issues.apache.org/jira/browse/STORM-3320
Project: Apache Storm
Issue Type: Bug
Affects Versions: 2.0.0
Reporter: Stig Rohde Døssing
Assignee: Stig Rohde Døssing
We conflate "being activated" with "all workers are ready" in WorkerState, by
making isWorkerActivated a part of isTopologyActivated.
The issue with this is that isTopologyActivated is used to communicate
activation/deactivation to the executors, and is updated on a timer (default
only every 10 seconds). isWorkerActivated is really meant to be a one-way
switch, which lets us delay executor initialization until all other workers in
the topology are also started.
Since we mix the two up, if a worker is started in the topology and all other
connections aren't ready immediately (e.g. as happens every time you deploy a
topology, some workers will boot faster than others), the worker may have to
wait up to 10 seconds to start.
We should make sure the wait for isWorkerActivated happens via CountDownLatch
instead, so the executor will start as soon as the connections are ready.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)