Handle 404 in issue comments collection when issues are disabled
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 68/100
Research direction
Start in augur/tasks/github/messages.py at collect_github_messages and fast_retrieve_all_pr_and_issue_messages, then inspect augur/tasks/github/util/github_data_access.py around get_resource_count, get_resource_page_count, and make_request. Reproduce or test the 404 for the issues/comments endpoint when issues are disabled; done means event processing no longer fails for that repository.
Written by the indexing model from the issue text.
Description
Moving this to its own issue since its a different stack trace.
found in the logs while testing - this happened during event processing.
related Stack Traces
[augur] | [2026-03-20 16:09:19,876: INFO/ForkPoolWorker-2] Task augur.tasks.github.traffic.collect_github_repo_clones_data[15c7ed25-5d06-4b15-8192-9977a9bfa10e] succeeded in 0.009023491002153605s: None [augur] | [2026-03-20 16:09:19,963: WARNING/ForkPoolWorker-4] 2026-03-20 16:09:19 966df2002621 core_task_failure[286] ERROR Task 5d6dc1cb-9dd0-4151-81ea-76ef4992e12b raised exception: Could not find https://api.github.com/repos/gstreamer/gst-plugins-base/issues/comments?per_page=100 [augur] | Traceback: Traceback (most recent call last): [augur] | File "/augur/.venv/lib/python3.11/site-packages/celery/app/trace.py", line 453, in trace_task [augur] | R = retval = fun(*args, **kwargs) [augur] | ^^^^^^^^^^^^^^^^^^^^ [augur] | File "/augur/.venv/lib/python3.11/site-packages/celery/app/trace.py", line 736, in __protected_call__ [augur] | return self.run(*args, **kwargs) [augur] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [augur] | File "/augur/augur/tasks/github/messages.py", line 43, in collect_github_messages [augur] | message_data = fast_retrieve_all_pr_and_issue_messages(repo_git, logger, manifest.key_auth, task_name, core_data_last_collected) [augur] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [augur] | File "/augur/augur/tasks/github/messages.py", line 78, in fast_retrieve_all_pr_and_issue_messages [augur] | message_count = github_data_access.get_resource_count(url) [augur] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [augur] | File "/augur/augur/tasks/github/util/github_data_access.py", line 83, in get_resource_count [augur] | num_pages = self.get_resource_page_count(url) [augur] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [augur] | File "/augur/augur/tasks/github/util/github_data_access.py", line 135, in get_resource_page_count [augur] | response = self.make_request_with_retries(url, method="HEAD") [augur] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [augur] | File "/augur/augur/tasks/github/util/github_data_access.py", line 208, in make_request_with_retries [augur] | return self.__make_request_with_retries(url, method, timeout) [augur] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [augur] | File "/augur/.venv/lib/python3.11/site-packages/tenacity/__init__.py", line 330, in wrapped_f [augur] | return self(f, *args, **kw) [augur] | ^^^^^^^^^^^^^^^^^^^^ [augur] | File "/augur/.venv/lib/python3.11/site-packages/tenacity/__init__.py", line 467, in __call__ [augur] | do = self.iter(retry_state=retry_state) [augur] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [augur] | File "/augur/.venv/lib/python3.11/site-packages/tenacity/__init__.py", line 368, in iter [augur] | result = action(retry_state) [augur] | ^^^^^^^^^^^^^^^^^^^ [augur] | File "/augur/.venv/lib/python3.11/site-packages/tenacity/__init__.py", line 390, in <lambda> [augur] | self._add_action_func(lambda rs: rs.outcome.result()) [augur] | ^^^^^^^^^^^^^^^^^^^ [augur] | File "/usr/local/lib/python3.11/concurrent/futures/_base.py", line 449, in result [augur] | return self.__get_result() [augur] | ^^^^^^^^^^^^^^^^^^^ [augur] | File "/usr/local/lib/python3.11/concurrent/futures/_base.py", line 401, in __get_result [augur] | raise self._exception [augur] | File "/augur/.venv/lib/python3.11/site-packages/tenacity/__init__.py", line 470, in __call__ [augur] | result = fn(*args, **kwargs) [augur] | ^^^^^^^^^^^^^^^^^^^ [augur] | File "/augur/augur/tasks/github/util/github_data_access.py", line 230, in __make_request_with_retries [augur] | result = self.make_request(url, method, timeout) [augur] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [augur] | File "/augur/augur/tasks/github/util/github_data_access.py", line 178, in make_request [augur] | raise UrlNotFoundException(f"Could not find {url}") [augur] | augur.tasks.github.util.github_data_access.UrlNotFoundException: Could not find https://api.github.com/repos/gstreamer/gst-plugins-base/issues/comments?per_page=100 [augur] | [2026-03-20 16:09:19,964: WARNING/ForkPoolWorker-4] 2026-03-20 16:09:19 966df2002621 core_task_failure[286] INFO Repo git: https://github.com/gstreamer/gst-plugins-base [augur] | [2026-03-20 16:09:19,993: ERROR/ForkPoolWorker-4] Task augur.tasks.github.messages.collect_github_messages[5d6dc1cb-9dd0-4151-81ea-76ef4992e12b] raised unexpected: UrlNotFoundException('Could not find https://api.github.com/repos/gstreamer/gst-plugins-base/issues/comments?per_page=100') [augur] | Traceback (most recent call last): [augur] | File "/augur/.venv/lib/python3.11/site-packages/celery/app/trace.py", line 453, in trace_task [augur] | R = retval = fun(*args, **kwargs) [augur] | ^^^^^^^^^^^^^^^^^^^^ [augur] | File "/augur/.venv/lib/python3.11/site-packages/celery/app/trace.py", line 736, in __protected_call__ [augur] | return self.run(*args, **kwargs) [augur] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [augur] | File "/augur/augur/tasks/github/messages.py", line 43, in collect_github_messages [augur] | message_data = fast_retrieve_all_pr_and_issue_messages(repo_git, logger, manifest.key_auth, task_name, core_data_last_collected) [augur] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [augur] | File "/augur/augur/tasks/github/messages.py", line 78, in fast_retrieve_all_pr_and_issue_messages [augur] | message_count = github_data_access.get_resource_count(url) [augur] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [augur] | File "/augur/augur/tasks/github/util/github_data_access.py", line 83, in get_resource_count [augur] | num_pages = self.get_resource_page_count(url) [augur] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [augur] | File "/augur/augur/tasks/github/util/github_data_access.py", line 135, in get_resource_page_count [augur] | response = self.make_request_with_retries(url, method="HEAD") [augur] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [augur] | File "/augur/augur/tasks/github/util/github_data_access.py", line 208, in make_request_with_retries [augur] | return self.__make_request_with_retries(url, method, timeout) [augur] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [augur] | File "/augur/.venv/lib/python3.11/site-packages/tenacity/__init__.py", line 330, in wrapped_f [augur] | return self(f, *args, **kw) [augur] | ^^^^^^^^^^^^^^^^^^^^ [augur] | File "/augur/.venv/lib/python3.11/site-packages/tenacity/__init__.py", line 467, in __call__ [augur] | do = self.iter(retry_state=retry_state) [augur] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [augur] | File "/augur/.venv/lib/python3.11/site-packages/tenacity/__init__.py", line 368, in iter [augur] | result = action(retry_state) [augur] | ^^^^^^^^^^^^^^^^^^^ [augur] | File "/augur/.venv/lib/python3.11/site-packages/tenacity/__init__.py", line 390, in <lambda> [augur] | self._add_action_func(lambda rs: rs.outcome.result()) [augur] | ^^^^^^^^^^^^^^^^^^^ [augur] | File "/usr/local/lib/python3.11/concurrent/futures/_base.py", line 449, in result [augur] | return self.__get_result() [augur] | ^^^^^^^^^^^^^^^^^^^ [augur] | File "/usr/local/lib/python3.11/concurrent/futures/_base.py", line 401, in __get_result [augur] | raise self._exception [augur] | File "/augur/.venv/lib/python3.11/site-packages/tenacity/__init__.py", line 470, in __call__ [augur] | result = fn(*args, **kwargs) [augur] | ^^^^^^^^^^^^^^^^^^^ [augur] | File "/augur/augur/tasks/github/util/github_data_access.py", line 230, in __make_request_with_retries [augur] | result = self.make_request(url, method, timeout) [augur] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [augur] | File "/augur/augur/tasks/github/util/github_data_access.py", line 178, in make_request [augur] | raise UrlNotFoundException(f"Could not find {url}") [augur] | augur.tasks.github.util.github_data_access.UrlNotFoundException: Could not find https://api.github.com/repos/gstreamer/gst-plugins-base/issues/comments?per_page=100
Originally posted by @collectoss-issue-migrator in #229
- Dominant language
- Python
- Stars
- 14
- Forks
- 18
- Avg merge
- 6h 59m
- Merged PRs (30d)
- 1
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from chaoss/CollectOSS
-
challenging first issue CLI
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
chaoss/CollectOSS#414 · 2 comments ·
-
challenging first issue CLI
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
chaoss/CollectOSS#413 · 3 comments ·
-
CLI good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
chaoss/CollectOSS#412 · 1 comment ·
-
devops
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
chaoss/CollectOSS#406 · 3 comments ·
-
dependencies devops good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
chaoss/CollectOSS#349 ·
All issues in chaoss/CollectOSS
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100