Page MenuHomePhabricator

Make PullLocal daemon more flexible and transparent about scheduling
ClosedPublic

Authored by epriestley on Apr 16 2014, 12:59 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Dec 12, 1:06 AM
Unknown Object (File)
Thu, Dec 12, 1:06 AM
Unknown Object (File)
Thu, Dec 12, 12:49 AM
Unknown Object (File)
Thu, Dec 12, 12:35 AM
Unknown Object (File)
Wed, Dec 11, 6:37 PM
Unknown Object (File)
Wed, Dec 11, 12:13 AM
Unknown Object (File)
Mon, Dec 9, 6:14 PM
Unknown Object (File)
Wed, Dec 4, 6:03 AM
Subscribers

Details

Summary

Ref T4605. Fixes T3466. The major change here is that we now run up to four simultaneous updates. This should ease cases where, e.g., one very slow repository was blocking other repositories. It also tends to increase load; the next diff will introduce smart backoff for cold repositories to ease this.

The rest of this is just a ton of logging so I can IRC debug these things by having users run them in phd debug pulllocal mode.

For T3466:

  • You now have to hit four simultaneous hangs to completely block the update process.
  • Importing repository updates are killed after 4 hours.
  • Imported repository updates are killed after 15 minutes.
Test Plan
  • Ran phd debug pulllocal and observed sensible logs and behavior.
  • Interrupted daemon from sleeps and processing with diffusion.looksoon.
  • Ran with various --not, --no-discovery flags.

Diff Detail

Repository
rP Phabricator
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

epriestley retitled this revision from to Make PullLocal daemon more flexible and transparent about scheduling.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: btrahan.

This actually goes between D8781 and D8782, but I neglected to actually diff it last night.

btrahan edited edge metadata.
This revision is now accepted and ready to land.Apr 16 2014, 6:41 PM
epriestley updated this revision to Diff 20859.

Closed by commit rP5671c4b27669 (authored by @epriestley).