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
F15413267: D8067.diff
Wed, Mar 19, 5:38 PM
F15410170: D8067.diff
Wed, Mar 19, 6:51 AM
F15407736: D8067.diff
Tue, Mar 18, 7:13 PM
Unknown Object (File)
Mon, Feb 24, 4:56 AM
Unknown Object (File)
Feb 14 2025, 5:37 AM
Unknown Object (File)
Feb 9 2025, 10:29 PM
Unknown Object (File)
Jan 27 2025, 3:02 AM
Unknown Object (File)
Jan 17 2025, 2:30 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