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)

Reply via email to