Fixes T7106. If you have bad credentials AND you've pushed an "update this repository" message into the queue, the loop above this level ends up resetting the timer every time we go through it, so the daemon spins in a loop failing forever.
Details
Details
- Reviewers
btrahan - Maniphest Tasks
- T7106: Importing a repo with invalid credentials will cause a lot of retries in too short a period of time
- Commits
- Restricted Diffusion Commit
rP6a3824a61d44: Fix an issue where PullLocal daemon could spin in an error loop
- Created a repo with bad credentials.
- Clicekd "updated now" to queue an update message.
- Saw daemon run in a loop.
- Applied patch, no loop.
Diff Detail
Diff Detail
- Repository
- rP Phabricator
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
src/applications/repository/daemon/PhabricatorRepositoryPullLocalDaemon.php | ||
---|---|---|
78–93 | Specifically, here, we'd re-read the same message and then reset the timer in $retry_after. |
Comment Actions
This has one possibly-negative effect: clicking "update" 50 times on a repository that's failing won't actually make it update immediately 50 times. So if you resolve the issue, you have to wait 15 seconds for it to fix itself. But that basically seems fine to me.