HTTPConnectionPool(host=‘lms’, port=8000): Read timed out

Hello Community,

I’m facing an issue similar to the one in this discussion

I tried the suggested fixes but nothing worked.

System specs: 25 GB RAM, 12 Cores.
tutor version: 17.0.2 → I even tried with the latest, but didn’t work

Full error message:

2025-05-20 12:37:16,440 INFO 80 [course_discovery.apps.core.management.commands.create_or_update_partner] /openedx/discovery/course_discovery/apps/core/management/commands/create_or_update_partner.py:134 - Partner updated with code openedx
System check identified some issues:

WARNINGS:
course_metadata.Course.collaborators: (fields.W340) null has no effect on ManyToManyField.
course_metadata.Degree.specializations: (fields.W340) null has no effect on ManyToManyField.
course_metadata.SearchDefaultResultsConfiguration.courses: (fields.W340) null has no effect on ManyToManyField.
course_metadata.SearchDefaultResultsConfiguration.programs: (fields.W340) null has no effect on ManyToManyField.
taxonomy.JobPostings.job: (fields.W342) Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.
        HINT: ForeignKey(unique=True) is usually better served by a OneToOneField.
taxonomy.SkillsQuiz.skills: (fields.W340) null has no effect on ManyToManyField.
2025-05-20 12:37:18,914 INFO 104 [course_discovery.apps.course_metadata.management.commands.refresh_course_metadata] /openedx/discovery/course_discovery/apps/course_metadata/management/commands/refresh_course_metadata.py:134 - Command is not using threads to write data.
2025-05-20 12:37:18,917 INFO 104 [course_discovery.apps.course_metadata.management.commands.refresh_course_metadata] /openedx/discovery/course_discovery/apps/course_metadata/management/commands/refresh_course_metadata.py:178 - Executing Loader CoursesApiDataLoader, url: https://learn.isaaviations.com/api/courses/v1/
2025-05-20 12:37:23,929 INFO 104 [course_discovery.apps.course_metadata.management.commands.refresh_course_metadata] /openedx/venv/lib/python3.8/site-packages/backoff/_common.py:105 - Backing off run_loader(...) for 0.3s (requests.exceptions.ReadTimeout: HTTPConnectionPool(host='lms', port=8000): Read timed out. (read timeout=5))
2025-05-20 12:37:29,220 INFO 104 [course_discovery.apps.course_metadata.management.commands.refresh_course_metadata] /openedx/venv/lib/python3.8/site-packages/backoff/_common.py:105 - Backing off run_loader(...) for 30.9s (requests.exceptions.ReadTimeout: HTTPConnectionPool(host='lms', port=8000): Read timed out. (read timeout=5))
2025-05-20 12:38:05,111 ERROR 104 [course_discovery.apps.course_metadata.management.commands.refresh_course_metadata] /openedx/venv/lib/python3.8/site-packages/backoff/_common.py:120 - Giving up run_loader(...) after 3 tries (requests.exceptions.ReadTimeout: HTTPConnectionPool(host='lms', port=8000): Read timed out. (read timeout=5))
2025-05-20 12:38:05,111 ERROR 104 [course_discovery.apps.course_metadata.management.commands.refresh_course_metadata] /openedx/discovery/course_discovery/apps/course_metadata/management/commands/refresh_course_metadata.py:40 - CoursesApiDataLoader failed!
Traceback (most recent call last):
  File "/openedx/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 466, in _make_request
    six.raise_from(e, None)
  File "<string>", line 3, in raise_from
  File "/openedx/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 461, in _make_request
    httplib_response = conn.getresponse()
  File "/usr/lib/python3.8/http/client.py", line 1348, in getresponse
    response.begin()
  File "/usr/lib/python3.8/http/client.py", line 316, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python3.8/http/client.py", line 277, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
  File "/usr/lib/python3.8/socket.py", line 669, in readinto
    return self._sock.recv_into(b)
socket.timeout: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/openedx/venv/lib/python3.8/site-packages/requests/adapters.py", line 486, in send
    resp = conn.urlopen(
  File "/openedx/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 798, in urlopen
    retries = retries.increment(
  File "/openedx/venv/lib/python3.8/site-packages/urllib3/util/retry.py", line 550, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/openedx/venv/lib/python3.8/site-packages/urllib3/packages/six.py", line 770, in reraise
    raise value
  File "/openedx/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 714, in urlopen
    httplib_response = self._make_request(
  File "/openedx/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 468, in _make_request
    self._raise_timeout(err=e, url=url, timeout_value=read_timeout)
  File "/openedx/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 357, in _raise_timeout
    raise ReadTimeoutError(
urllib3.exceptions.ReadTimeoutError: HTTPConnectionPool(host='lms', port=8000): Read timed out. (read timeout=5)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/openedx/discovery/course_discovery/apps/course_metadata/management/commands/refresh_course_metadata.py", line 37, in execute_loader
    run_loader()
  File "/openedx/venv/lib/python3.8/site-packages/backoff/_sync.py", line 105, in retry
    ret = target(*args, **kwargs)
  File "/openedx/discovery/course_discovery/apps/course_metadata/management/commands/refresh_course_metadata.py", line 34, in run_loader
    return loader_class(*loader_args).ingest()
  File "/openedx/discovery/course_discovery/apps/course_metadata/data_loaders/api.py", line 50, in __init__
    super().__init__(partner, api_url, max_workers, is_threadsafe, enable_api)
  File "/openedx/discovery/course_discovery/apps/course_metadata/data_loaders/__init__.py", line 36, in __init__
    self.username = self.get_username_from_client(self.api_client)
  File "/openedx/discovery/course_discovery/apps/course_metadata/data_loaders/__init__.py", line 46, in get_username_from_client
    token = client.get_jwt_access_token()
  File "/openedx/venv/lib/python3.8/site-packages/edx_rest_api_client/client.py", line 283, in get_jwt_access_token
    self._ensure_authentication()
  File "/openedx/venv/lib/python3.8/site-packages/edx_rest_api_client/client.py", line 262, in _ensure_authentication
    oauth_access_token_response = get_and_cache_oauth_access_token(
  File "/openedx/venv/lib/python3.8/site-packages/edx_rest_api_client/client.py", line 177, in get_and_cache_oauth_access_token
    oauth_access_token_response = get_oauth_access_token(
  File "/openedx/venv/lib/python3.8/site-packages/edx_rest_api_client/client.py", line 118, in get_oauth_access_token
    response = requests.post(
  File "/openedx/venv/lib/python3.8/site-packages/requests/api.py", line 115, in post
    return request("post", url, data=data, json=json, **kwargs)
  File "/openedx/venv/lib/python3.8/site-packages/requests/api.py", line 59, in request
    return session.request(method=method, url=url, **kwargs)
  File "/openedx/venv/lib/python3.8/site-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
  File "/openedx/venv/lib/python3.8/site-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
  File "/openedx/venv/lib/python3.8/site-packages/requests/adapters.py", line 532, in send
    raise ReadTimeout(e, request=request)
requests.exceptions.ReadTimeout: HTTPConnectionPool(host='lms', port=8000): Read timed out. (read timeout=5)
CommandError: One or more of the data loaders above failed.

Error: Command failed with status 1: docker compose -f /build-data/.local/share/tutor/env/local/docker-compose.yml -f /build-data/.local/share/tutor/env/local/docker-compose.prod.yml --project-name tutor_local -f /build-data/.local/share/tutor/env/local/docker-compose.jobs.yml run --rm discovery-job sh -e -c make migrate

Any help is appreciated.

Hi @Usouf and welcome!

I’ve recategorized your post to Site Operations > Site Operations Help to get the right eyes on it. If you’re seeing the same error in Sumac (tutor v19), please install using that version. V17 is no longer supported.

I also added code block formatting to your error message so it’s easier to read.

1 Like

I did try with tutor v19 but got the same error.

I would stick with using Tutor v19 and get the error resolved on that version.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.