RESOLVED FIXED 105976
Work around flakyness during autoinstall
https://bugs.webkit.org/show_bug.cgi?id=105976
Summary Work around flakyness during autoinstall
Tim 'mithro' Ansell
Reported 2013-01-02 17:24:11 PST
Work around SourceForge flakyness.
Attachments
Patch (2.59 KB, patch)
2013-01-02 18:26 PST, Tim 'mithro' Ansell
no flags
Patch (2.54 KB, patch)
2013-01-03 19:37 PST, Tim 'mithro' Ansell
no flags
Patch (2.65 KB, patch)
2013-01-03 19:48 PST, Tim 'mithro' Ansell
no flags
Tim 'mithro' Ansell
Comment 1 2013-01-02 18:26:41 PST
Adam Barth
Comment 2 2013-01-03 13:30:11 PST
@eric: Thoughts?
Eric Seidel (no email)
Comment 3 2013-01-03 13:40:05 PST
What do you mean "Flaky"? Could we list a different SF mirror which is not flaky instead?
Tim 'mithro' Ansell
Comment 4 2013-01-03 15:25:58 PST
The download link is http://downloads.sourceforge.net/project/python-irclib/python-irclib/0.4.8/python-irclib-0.4.8.zip Which is the SourceForge redirector that sends you to a local mirror. This redirector very occasionally (like 1 in 100) sends you to a broken mirror and you get an error. The crappy mirrors seem to be mostly in Asia pacific, so you probably don't seen them in the US. Maybe we should retry all failed requests multiple times? Tim
Eric Seidel (no email)
Comment 5 2013-01-03 15:31:59 PST
I think it's OK for the autoinstaller to have retry behavior, yes. I don't think the retry behavior should be limited to sourceforge. I'm surprised we dont' already have some sort of retry-behavior-aware fetch function for you to use?
Tim 'mithro' Ansell
Comment 6 2013-01-03 15:35:31 PST
If you can find one, I'd be happy to use it. Will upload a patch without the SourceForge specific nature.
Eric Seidel (no email)
Comment 7 2013-01-03 15:42:02 PST
I think NetworkTransaction in common.system.net is what you want. :)
Eric Seidel (no email)
Comment 8 2013-01-03 17:23:26 PST
I should note that (despite having created it) I don't know the current autoinstaller "policies". it's possible that autoinstaller tries not to include other parts of webkitpy, and thus it may not be able to use NetworkTransaction. I do not know.
Tim 'mithro' Ansell
Comment 9 2013-01-03 19:37:21 PST
Tim 'mithro' Ansell
Comment 10 2013-01-03 19:40:33 PST
I wasn't sure if autoinstall should depend on the common.system.net, so I upload a patch with the SF specific bits removed.
Eric Seidel (no email)
Comment 11 2013-01-03 19:40:59 PST
Comment on attachment 181264 [details] Patch OK. We should probably log with each retry.
Tim 'mithro' Ansell
Comment 12 2013-01-03 19:48:00 PST
Tim 'mithro' Ansell
Comment 13 2013-01-03 19:48:16 PST
Added logging.
Eric Seidel (no email)
Comment 14 2013-01-03 19:51:10 PST
Comment on attachment 181269 [details] Patch LGTM.
WebKit Review Bot
Comment 15 2013-01-03 20:22:27 PST
Comment on attachment 181269 [details] Patch Clearing flags on attachment: 181269 Committed r138776: <http://trac.webkit.org/changeset/138776>
WebKit Review Bot
Comment 16 2013-01-03 20:22:31 PST
All reviewed patches have been landed. Closing bug.
Dirk Pranke
Comment 17 2013-01-09 18:51:33 PST
For the record, I would be very nervous if we tried to use anything else from webkitpy in autoinstall.py; this function gets called very early on when loading files and I could see us easily triggering circular dependencies if networktransaction.py then tried to import something from webkitpy.thirdparty. I think it was good to make this standalone and we should probably document this accordingly somewhere. Or maybe just have a general rule that webkitpy.common.system isn't allowed to import anything else from webkitpy (don't know if it tries to today or not).
Eric Seidel (no email)
Comment 18 2013-01-09 19:13:21 PST
webkitpy.common certainly imports from layout_tests.port, sadly. My goal would be that layout_tests.port move to webkitpy.common eventually. :)
Dirk Pranke
Comment 19 2013-01-09 19:17:33 PST
(In reply to comment #18) > webkitpy.common certainly imports from layout_tests.port, sadly. My goal would be that layout_tests.port move to webkitpy.common eventually. :) Sure, we should move port, but I'm not actually bothered by webkitpy.common including webkitpy.layout_tests.port ... it's webkitpy.common.*system* that I'm concerned about, since it's the lowest layer in the stack.
Note You need to log in before you can comment on or make changes to this bug.