HomePhabricator

Provide `bin/garbage` for interacting with garbage collection

Description

Provide bin/garbage for interacting with garbage collection

Summary:
Fixes T9494. This:

  • Removes all the random GC.x.y.z config.
  • Puts it all in one place that's locked and which you use bin/garbage set-policy ... to adjust.
  • Makes every TTL-based GC configurable.
  • Simplifies the code in the actual GCs.

Test Plan:

  • Ran bin/garbage collect to collect some garbage, until it stopped collecting.
  • Ran bin/garbage set-policy ... to shorten policy. Saw change in web UI. Ran bin/garbage collect again and saw it collect more garbage.
  • Set policy to indefinite and saw it not collect garabge.
  • Set policy to default and saw it reflected in web UI / collect.
  • Ran bin/phd debug trigger and saw all GCs fire with reasonable looking queries.
  • Read new docs.

Screen Shot 2015-10-01 at 4.16.42 PM.png (1×1 px, 268 KB)

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T9494

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