https://bugzilla.wikimedia.org/show_bug.cgi?id=66063

            Bug ID: 66063
           Summary: network errors not handled correctly
           Product: Pywikibot
           Version: core (2.0)
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: Unprioritized
         Component: General
          Assignee: [email protected]
          Reporter: [email protected]
       Web browser: ---
   Mobile Platform: ---

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).

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
Wikibugs-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to