HomePhabricator

Clean up a few more daemon behaviors

Description

Clean up a few more daemon behaviors

Summary:
Ref T12298.

  • If all daemons in all pools are hibernating already, we may exit immediately without sending EXIT events and fail to update the web UI.
  • A max() should be min() ("sleep for at most 180 seconds", not "sleep for at least 180 seconds").
  • If there are no daemons in a pool (unlikely/theoretical), we might not set the shutdown flag on the pool correctly.
  • An autoscale message may actually mean that a pool is exiting.

Test Plan:

  • Ran bin/phd debug task, waited for daemon to hibernate, killed it, saw it vanish from daemon console.
  • Saw it hibernate for 60s, not 180s.
  • Uh, killed a pool real fast and nothing broke? This one is hard/impossible to test.
  • Read the newer autoscale message.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T12298

Differential Revision: https://secure.phabricator.com/D17560

Details

Provenance
epriestleyAuthored on Mar 24 2017, 8:40 PM
epriestleyPushed on Mar 24 2017, 9:01 PM
Reviewer
chad
Differential Revision
D17560: Clean up a few more daemon behaviors
Parents
rPHUf2b2abeacf84: Send EXIT events more consistently from daemons
Branches
Unknown
Tags
Unknown
Tasks
T12298: Allow daemon pools to autoscale down to 0 processes
Build Status
Buildable 16144
Build 21426: Run Core Tests