Page MenuHomePhabricator

Lets really skip item and not spin in loop...
ClosedPublic

Authored by artms on Jan 9 2015, 11:40 AM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Mar 27, 9:22 PM
Unknown Object (File)
Wed, Mar 27, 5:07 PM
Unknown Object (File)
Tue, Mar 26, 12:50 PM
Unknown Object (File)
Mar 16 2024, 5:28 PM
Unknown Object (File)
Mar 16 2024, 5:17 PM
Unknown Object (File)
Mar 6 2024, 1:50 PM
Unknown Object (File)
Feb 18 2024, 4:11 PM
Unknown Object (File)
Feb 18 2024, 3:36 PM
Subscribers

Details

Test Plan

Loop will spin forever if repository is not pullable...

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

artms retitled this revision from to Lets really skip item and not spin in loop....
artms updated this object.
artms edited the test plan for this revision. (Show Details)
artms added a reviewer: epriestley.
src/applications/repository/daemon/PhabricatorRepositoryPullLocalDaemon.php
153–154

It seems like if we break, then upper while loop will enter foreach again and it will be a forever loop. I'm not sure if continue is right, maybe we should really (anyway it seems queue will be repopulated on next upper loop iteration):

unset($queue[$id]);

In our environment pull daemon occasionally goes into loop and never recovers, gdb backtrace tell that daemon is spinning in this loop trying to translate log entry...

Guys any progress with it... It is really hitting pull workers hard which spin in loop doing nothing but spaming logs about repository not pullable anymore...

This revision is now accepted and ready to land.May 17 2015, 2:24 PM
This revision was automatically updated to reflect the committed changes.