Page MenuHomePhabricator

sparql_tests sometimes fails with TimeoutError
Closed, ResolvedPublic

Event Timeline

Restricted Application added subscribers: pywikibot-bugs-list, Aklapper. · View Herald Transcript

Weird enought this fails only occasionally and not with maxlag timeout, but with regular request timeout

It seems from the traceback that MaxlagTimeoutError is not raised. Only regular TimeourError is raised instead

======================================================================

ERROR: testQuerySelectFull (tests.sparql_tests.TestSparql)

Test SELECT query with full data.

----------------------------------------------------------------------

Traceback (most recent call last):

  File "/opt/python/3.6.7/lib/python3.6/unittest/mock.py", line 1179, in patched

    return func(*args, **keywargs)

  File "/home/travis/build/wikimedia/pywikibot/tests/sparql_tests.py", line 124, in testQuerySelectFull

    q = sparql.SparqlQuery()

  File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/sparql.py", line 63, in __init__

    self.endpoint = repo.sparql_endpoint

  File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 1361, in callee

    if MediaWikiVersion(self.version()) < MediaWikiVersion(version):

  File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 2744, in version

    expiry=1).split(' ')[1]

  File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 1683, in get

    preloaded = self._get_general(key, expiry)

  File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 1629, in _get_general

    default_info = self._get_siteinfo(props, expiry)

  File "/home/travis/build/wikimedia/pywikibot/pywikibot/site/__init__.py", line 1552, in _get_siteinfo

    data = request.submit()

  File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 2232, in submit

    self._data = super(CachedRequest, self).submit()

  File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1963, in submit

    paramstring)

  File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1716, in _http_request

    body=body, headers=headers)

  File "/home/travis/build/wikimedia/pywikibot/pywikibot/tools/__init__.py", line 1790, in wrapper

    return obj(*__args, **__kw)

  File "/home/travis/build/wikimedia/pywikibot/pywikibot/comms/http.py", line 316, in request

    site.throttle.retry_after = int(r.response_headers.get('retry-after', 0))

AttributeError: 'Container' object has no attribute 'response_headers'

  File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 1738, in _http_request

    self.wait()

  File "/home/travis/build/wikimedia/pywikibot/pywikibot/data/api.py", line 2088, in wait

    raise TimeoutError('Maximum retries attempted without success.')

pywikibot.exceptions.TimeoutError: Maximum retries attempted without success.

======================================================================

It seems API response when maxlag is also incorrect/damaged/unknown to Pywikibot, same as T242083#5954453 (per AttributeError)

Xqt claimed this task.