Page MenuHomePhabricator

Make daemons ignore "Unreachable" commits and avoid duplicate work
ClosedPublic

Authored by epriestley on Jun 16 2016, 3:04 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Apr 25, 12:00 AM
Unknown Object (File)
Fri, Apr 19, 4:55 PM
Unknown Object (File)
Thu, Apr 11, 8:17 AM
Unknown Object (File)
Sun, Apr 7, 7:57 AM
Unknown Object (File)
Mar 16 2024, 2:27 AM
Unknown Object (File)
Mar 5 2024, 5:24 AM
Unknown Object (File)
Feb 26 2024, 1:08 PM
Unknown Object (File)
Feb 16 2024, 12:58 PM
Subscribers
None

Details

Summary

Ref T9028. This improves the daemon behavior for unreachable commits. There is still no way for commits to become marked unreachable on their own.

  • When a daemon encounters an unreachable commit, fail permanently.
  • When we revive a commit, queue new daemons to process it (since some of the daemons might have failed permanently the first time around).
  • Before doing a step on a commit, check if the step has already been done and skip it if it has. This can't happen normally, but will soon be possible if a commit is repeatedly deleted and revived very quickly.
  • Steps queued with bin/repository reparse ... still execute normally.
Test Plan
  • Used bin/repository reparse to run every step, verified they all mark the commit with the proper flag.
  • Faked the reparse exception in the "skip step" code, used repository reparse to skip every step.
  • Marked a commit as unreachable, ran discover, saw daemons queue for it.
  • Ran daemons with bin/worker execute --id ..., saw them all skip + queue the next step.
  • Marked a commit as unreachable, ran bin/repository reparse on it, got permanent failures immediately for each step.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

epriestley retitled this revision from to Make daemons ignore "Unreachable" commits and avoid duplicate work.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.
chad edited edge metadata.
This revision is now accepted and ready to land.Jun 16 2016, 3:39 PM
This revision was automatically updated to reflect the committed changes.