Page MenuHomePhabricator

If repository mirroring fails, keep trying the other mirrors
ClosedPublic

Authored by epriestley on Jan 25 2014, 7:52 PM.
Tags
None
Referenced Files
F13297440: D8067.diff
Fri, Jun 7, 5:32 AM
F13264780: D8067.diff
Mon, May 27, 9:52 PM
F13248920: D8067.diff
Fri, May 24, 4:57 AM
F13225937: D8067.id18251.diff
Sun, May 19, 6:24 PM
F13201484: D8067.id18255.diff
Tue, May 14, 12:41 PM
F13201483: D8067.id18251.diff
Tue, May 14, 12:41 PM
F13201432: D8067.id.diff
Tue, May 14, 12:08 PM
F13201405: D8067.diff
Tue, May 14, 11:43 AM
Subscribers

Details

Summary

Ref T4338. Currently, if you have several mirrors and the first one fails, we won't try the other mirrors (since we'll throw and that will take us out of the mirroring process). Instead, try each mirror even if one fails, and then throw an AggregateException with all the failures.

Test Plan
  • Ran bin/repository mirror normally.
  • Faked an exception, ran again, got the AggregateException I expected.

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

btrahan added inline comments.
src/applications/repository/engine/PhabricatorRepositoryMirrorEngine.php
31

this is a cool little class