Last modified: 2014-11-09 19:17:44 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T68063, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 66063 - unrecognised network errors default to 50 minutes of retrying
unrecognised network errors default to 50 minutes of retrying
Status: NEW
Product: Pywikibot
Classification: Unclassified
network (Other open bugs)
core-(2.0)
All All
: Normal major
: ---
Assigned To: John Mark Vandenberg
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2014-06-03 07:23 UTC by John Mark Vandenberg
Modified: 2014-11-09 19:17 UTC (History)
1 user (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description John Mark Vandenberg 2014-06-03 07:23:03 UTC
In the event of a http issue of any kind, pywiki will retry 25 times by default, with a 2 minute delay, meaning a 50 minute wait until it returns to the command line unless the user interrupts the process with ^C.

Each retry it will print an exception.

In the case I am seeing now, the issue is a firewall preventing access to the wiki.  The firewall immediately responds, so this is not a timeout, and 25 retries 2 minutes apart will not magically make the problem disappear.

WARNING: Waiting 120 seconds before retrying.
ERROR: Traceback (most recent call last):
  File "..pywikibot/data/api.py", line 306, in submit
    body=paramstring)
  File "..pywikibot/comms/http.py", line 155, in request
    raise request.data
error: ...

And at the end it will print a long traceback, ending with

  File "..pywikibot/data/api.py", line 434, in wait
    raise TimeoutError("Maximum retries attempted without success.")
pywikibot.data.api.TimeoutError
<class 'pywikibot.data.api.TimeoutError'>
CRITICAL: Waiting for 1 network thread(s) to finish. Press ctrl-c to abort

The error need not have been a TimeoutError - all http errors are reported as a TimeoutError.

The http layer should differentiate real timeout errors from other errors that it can not fix (especially permanent errors like 403 being caused by a firewall).
Comment 1 xqt 2014-06-03 07:41:22 UTC
The full traceback would probably be helpfull as well as any thin to reproduce it.
Comment 2 Gerrit Notification Bot 2014-06-03 11:51:53 UTC
Change 137006 had a related patch set uploaded by John Vandenberg:
Bug 66063: raise urllib exception

https://gerrit.wikimedia.org/r/137006
Comment 3 Gerrit Notification Bot 2014-06-03 12:48:34 UTC
Change 137009 had a related patch set uploaded by John Vandenberg:
Bug 66063: Disable git version network request

https://gerrit.wikimedia.org/r/137009
Comment 4 Gerrit Notification Bot 2014-06-07 09:56:40 UTC
Change 137009 merged by jenkins-bot:
Bug 66063: Disable git version network request

https://gerrit.wikimedia.org/r/137009
Comment 5 Gerrit Notification Bot 2014-06-20 04:34:16 UTC
Change 137006 had a related patch set uploaded by devunt:
Raise urllib exception when network error raised.

https://gerrit.wikimedia.org/r/137006
Comment 6 Gerrit Notification Bot 2014-06-21 14:28:00 UTC
Change 137006 merged by jenkins-bot:
Raise urllib exception when network error raised.

https://gerrit.wikimedia.org/r/137006

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links