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
F14101160: D8067.id.diff
Tue, Nov 26, 3:51 PM
Unknown Object (File)
Sat, Nov 23, 10:32 AM
Unknown Object (File)
Tue, Nov 19, 4:37 AM
Unknown Object (File)
Fri, Nov 15, 9:33 AM
Unknown Object (File)
Sun, Nov 10, 5:36 PM
Unknown Object (File)
Sat, Nov 9, 3:05 AM
Unknown Object (File)
Thu, Nov 7, 3:49 AM
Unknown Object (File)
Sat, Nov 2, 8:49 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