ReadTimeoutError in HTTPSConnectionPool to viktor.ai

Occasionally end user report a problem where the cause looks like a connection error. Below is an example of such a stack trace. It looks like the error is caused inside the Viktor platform. Do I interpret that correctly? And would there be any way to mitigate these issues?

Error stack trace

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/viktor/_vendor/urllib3/connectionpool.py", line 466, in _make_request
    six.raise_from(e, None)
  File "<string>", line 3, in raise_from
  File "/usr/local/lib/python3.10/site-packages/viktor/_vendor/urllib3/connectionpool.py", line 461, in _make_request
    httplib_response = conn.getresponse()
  File "/usr/local/lib/python3.10/http/client.py", line 1374, in getresponse
    response.begin()
  File "/usr/local/lib/python3.10/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
  File "/usr/local/lib/python3.10/http/client.py", line 279, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
  File "/usr/local/lib/python3.10/socket.py", line 705, in readinto
    return self._sock.recv_into(b)
  File "/usr/local/lib/python3.10/ssl.py", line 1274, in recv_into
    return self.read(nbytes, buffer)
  File "/usr/local/lib/python3.10/ssl.py", line 1130, in read
    return self._sslobj.read(len, buffer)
TimeoutError: The read operation timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/viktor/_vendor/requests/adapters.py", line 439, in send
    resp = conn.urlopen(
  File "/usr/local/lib/python3.10/site-packages/viktor/_vendor/urllib3/connectionpool.py", line 798, in urlopen
    retries = retries.increment(
  File "/usr/local/lib/python3.10/site-packages/viktor/_vendor/urllib3/util/retry.py", line 550, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/usr/local/lib/python3.10/site-packages/viktor/_vendor/urllib3/packages/six.py", line 770, in reraise
    raise value
  File "/usr/local/lib/python3.10/site-packages/viktor/_vendor/urllib3/connectionpool.py", line 714, in urlopen
    httplib_response = self._make_request(
  File "/usr/local/lib/python3.10/site-packages/viktor/_vendor/urllib3/connectionpool.py", line 468, in _make_request
    self._raise_timeout(err=e, url=url, timeout_value=read_timeout)
  File "/usr/local/lib/python3.10/site-packages/viktor/_vendor/urllib3/connectionpool.py", line 357, in _raise_timeout
    raise ReadTimeoutError(
viktor._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='api-tauw.viktor.ai', port=443): Read timed out. (read timeout=10)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "viktor_connector/connector.pyx", line 295, in connector.Job.execute
  File "viktor/core.pyx", line 1926, in viktor.core._handle_job
  File "viktor/core.pyx", line 1911, in viktor.core._handle_job._handle_view
  File "viktor/views.pyx", line 1927, in viktor.views.View._wrapper
  File "/home/user/src/app/project/controller.py", line 142, in create_shallow_foundations_overview
    fig = plotter.create_shallow_foundations_overview_table()
  File "/home/user/src/app/project/shallow_foundations_overview_plotter.py", line 297, in create_shallow_foundations_overview_table
    integration_results = integration.process()
  File "/usr/local/lib/python3.10/site-packages/viktor_shared/base_integrations/base_integration.py", line 241, in process
    raw_output = self.__class__.run_worker(serialized_input)
  File "/usr/local/lib/python3.10/site-packages/viktor_shared/base_integrations/decorators.py", line 57, in wrapper
    return func(*args, **kwargs)
  File "viktor/utils.pyx", line 288, in viktor.utils.memoize.wrapped_fun
  File "/usr/local/lib/python3.10/site-packages/viktor_shared/base_integrations/base_integration_dfoundations.py", line 107, in run_worker
    analysis.execute(300)
  File "viktor/external/external_program.pyx", line 365, in viktor.external.external_program.ExternalProgram.execute
  File "/usr/local/lib/python3.10/site-packages/viktor/_vendor/requests/sessions.py", line 590, in post
    return self.request('POST', url, data=data, json=json, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/viktor/_vendor/requests/sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python3.10/site-packages/viktor/_vendor/requests/sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/viktor/_vendor/requests/adapters.py", line 529, in send
    raise ReadTimeout(e, request=request)
viktor._vendor.requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='api-tauw.viktor.ai', port=443): Read timed out. (read timeout=10)

Hello and thank you for your message,

We have been investigating the issue and the issue indeed appears to be in our platform. This bug seems to occasionally lead to failing API-calls. We are working on resolving the issue and we will keep you posted in this thread.

Best,
Jorn

Yesterday evening we deployed some configuration changes that we expect will resolve this issue. We are monitoring whether it indeed has the desired effect.

Jorn

1 Like