[ https://issues.apache.org/jira/browse/STORM-3320?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jungtaek Lim resolved STORM-3320. --------------------------------- Resolution: Fixed Fix Version/s: 2.0.0 Thanks [~Srdo], I merged into master. > 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 > Priority: Major > Labels: pull-request-available > Fix For: 2.0.0 > > Time Spent: 10m > Remaining Estimate: 0h > > 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)