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
Unknown Object (File)
Sat, Jan 11, 5:10 PM
Unknown Object (File)
Sat, Jan 11, 5:09 PM
Unknown Object (File)
Wed, Jan 1, 10:04 PM
Unknown Object (File)
Sat, Dec 28, 11:43 PM
Unknown Object (File)
Tue, Dec 17, 9:41 AM
Unknown Object (File)
Dec 4 2024, 12:04 PM
Unknown Object (File)
Dec 4 2024, 12:04 PM
Unknown Object (File)
Dec 4 2024, 12:04 PM
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