There's a f41-updates-testing compose that is failing repo sanity checks and failing to go out.
This is blocking all updates. ;(
A patial copy of the logs:
INFO/ForkPoolWorker-16] Running sanity checks on /mnt/koji/compose/updates/Fedora-41-updates-testing-20250710.0 Jul 10 02:13:04 bodhi-backend01.rdu3.fedoraproject.org celery-3[13961]: [2025-07-10 02:13:04,426: INFO/ForkPoolWorker-16] Starting sanity check on /mnt/koji/compose/updates/Fedora-41-updates-testing-20250710.0/compose/Everything/source/tree/repodata Jul 10 02:13:04 bodhi-backend01.rdu3.fedoraproject.org celery-3[13961]: [2025-07-10 02:13:04,657: INFO/ForkPoolWorker-16] Finished sanity check on /mnt/koji/compose/updates/Fedora-41-updates-testing-20250710.0/compose/Everything/source/tree/repodata Jul 10 02:29:02 bodhi-backend01.rdu3.fedoraproject.org celery-3[13961]: [2025-07-10 02:29:02,691: ERROR/ForkPoolWorker-16] Repodata sanity check failed, compose thrown out: (psycopg2.OperationalError) could not receive data from server: Connection timed out Jul 10 02:29:02 bodhi-backend01.rdu3.fedoraproject.org celery-3[13961]: [SQL: SELECT composes.release_id AS composes_release_id, composes.request AS composes_request, composes.checkpoints AS composes_checkpoints, composes.error_message AS composes_error_message, composes.date_created AS composes_date_created, composes.state_date AS composes_state_date, composes.state AS composes_state Jul 10 02:29:02 bodhi-backend01.rdu3.fedoraproject.org celery-3[13961]: FROM composes Jul 10 02:29:02 bodhi-backend01.rdu3.fedoraproject.org celery-3[13961]: WHERE composes.release_id = %(pk_1)s AND composes.request = %(pk_2)s] Jul 10 02:29:02 bodhi-backend01.rdu3.fedoraproject.org celery-3[13961]: [parameters: {'pk_1': 80, 'pk_2': 'testing'}] Jul 10 02:29:02 bodhi-backend01.rdu3.fedoraproject.org celery-3[13961]: (Background on this error at: https://sqlalche.me/e/20/e3q8) Jul 10 02:29:02 bodhi-backend01.rdu3.fedoraproject.org celery-3[13961]: Traceback (most recent call last): Jul 10 02:29:02 bodhi-backend01.rdu3.fedoraproject.org celery-3[13961]: File "/usr/lib64/python3.13/site-packages/sqlalchemy/engine/base.py", line 1963, in _exec_single_context Jul 10 02:29:02 bodhi-backend01.rdu3.fedoraproject.org celery-3[13961]: self.dialect.do_execute( Jul 10 02:29:02 bodhi-backend01.rdu3.fedoraproject.org celery-3[13961]: ~~~~~~~~~~~~~~~~~~~~~~~^ Jul 10 02:29:02 bodhi-backend01.rdu3.fedoraproject.org celery-3[13961]: cursor, str_statement, effective_parameters, context Jul 10 02:29:02 bodhi-backend01.rdu3.fedoraproject.org celery-3[13961]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Jul 10 02:29:02 bodhi-backend01.rdu3.fedoraproject.org celery-3[13961]: ) Jul 10 02:29:02 bodhi-backend01.rdu3.fedoraproject.org celery-3[13961]: ^ Jul 10 02:29:02 bodhi-backend01.rdu3.fedoraproject.org celery-3[13961]: File "/usr/lib64/python3.13/site-packages/sqlalchemy/engine/default.py", line 943, in do_execute
I've been adding some debugging to try and figure out where it's getting the db timeout without much luck so far.
I just fired off another one now... but I expect it to fail.
CC: @mattia
The only call to db in the sanity_check is to get the createrepo config for the release, which is performed only for arches other than sources. So this line seems to be the culprit. I can't imagine why it started failing now and only for F41 though.
Can you to to modify the composer like:
from munch import munchify rel_data = munchify(self.compose.release) drpms = get_createrepo_config(rel_data).get('drpms_enabled') for arch in arches: # sanity check our repodata try: if arch == 'source': repodata = os.path.join(self.path, 'compose', 'Everything', arch, 'tree', 'repodata') sanity_check_repodata(repodata, repo_type='source', drpms=False) else: repodata = os.path.join(self.path, 'compose', 'Everything', arch, 'os', 'repodata') repo_type = 'module' if self.ctype == ContentType.module else 'yum' # for module repos drpms is not considered sanity_check_repodata(repodata, repo_type=repo_type, drpms=drpms) except Exception: log.exception("Repodata sanity check failed, compose thrown out") self._toss_out_repo() raise
(basically, move the drpms = line before the for loop and pass a munch object to the external method instead of the database object)
drpms =
https://patch-diff.githubusercontent.com/raw/fedora-infra/bodhi/pull/5915.patch
So i got to that theory too...
I just commented the drpm call and set it to false...
#drpms = get_createrepo_config(self.compose.release).get('drpms_enabled') drpms = False
That gave me:
INFO/ForkPoolWorker-16] Finished sanity check on /mnt/koji/compose/updates/Fedora-41-updates-test ing-20250710.2/compose/Everything/x86_64/os/repodata Jul 10 06:29:23 bodhi-backend01.rdu3.fedoraproject.org celery-3[159680]: [2025-07-10 06:29:23,967: INFO/ForkPoolWorker-16] Not waiting for a repo signature Jul 10 06:29:23 bodhi-backend01.rdu3.fedoraproject.org celery-3[159680]: [2025-07-10 06:29:23,969: INFO/ForkPoolWorker-16] Creating symlink: /mnt/koji/compose/updates/f41-updates-testing => /mnt/k oji/compose/updates/Fedora-41-updates-testing-20250710.2 Jul 10 06:45:23 bodhi-backend01.rdu3.fedoraproject.org celery-3[159680]: [2025-07-10 06:45:23,173: ERROR/ForkPoolWorker-16] Exception in ComposerThread(f41-updates-testing) Jul 10 06:45:23 bodhi-backend01.rdu3.fedoraproject.org celery-3[159680]: Traceback (most recent ca ll last): Jul 10 06:45:23 bodhi-backend01.rdu3.fedoraproject.org celery-3[159680]: File "/usr/lib64/python 3.13/site-packages/sqlalchemy/engine/base.py", line 1963, in _exec_single_context Jul 10 06:45:23 bodhi-backend01.rdu3.fedoraproject.org celery-3[159680]: self.dialect.do_execu te( Jul 10 06:45:23 bodhi-backend01.rdu3.fedoraproject.org celery-3[159680]: ~~~~~~~~~~~~~~~~~~~~~ ~~^ Jul 10 06:45:23 bodhi-backend01.rdu3.fedoraproject.org celery-3[159680]: cursor, str_state ment, effective_parameters, context Jul 10 06:45:23 bodhi-backend01.rdu3.fedoraproject.org celery-3[159680]: ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Jul 10 06:45:23 bodhi-backend01.rdu3.fedoraproject.org celery-3[159680]: ) Jul 10 06:45:23 bodhi-backend01.rdu3.fedoraproject.org celery-3[159680]: ^ Jul 10 06:45:23 bodhi-backend01.rdu3.fedoraproject.org celery-3[159680]: File "/usr/lib64/python 3.13/site-packages/sqlalchemy/engine/default.py", line 943, in do_execute
so it got further, but then failed after sanity check.
I guess I'll try resuming again?
ok, it finished.
I guess lets try another...
worked. Trying more.
But of course we should still try and figure out whats going on...
Metadata Update from @phsmoura: - Issue tagged with: high-gain, high-trouble, ops
So, the rest finished, but f41-updates-testing failed the same way... resumed it and it completed.
Sadly, more failures today, F42 testing this time. ☹️
I very much wonder if this is the same thing @abompard tracked down in https://pagure.io/fedora-infrastructure/issue/12622
ie, a tcp timeout between a build vlan thing and db01.
I very much wonder if this is the same thing @abompard tracked down in https://pagure.io/fedora-infrastructure/issue/12622 ie, a tcp timeout between a build vlan thing and db01.
This can be verified by hacking the lines https://github.com/fedora-infra/bodhi/blob/05517fb58871639267aff39639d8119aa95c134f/bodhi-server/bodhi/server/init.py#L171 like:
connect_args={ 'timeout': 10, 'options': f'-c statement_timeout={config["sqlalchemy_extra.statement_timeout"]}' }
@abompard suggested adding:
sqlalchemy.pool_recycle = 600
to have it recycle idle connections after 600 seconds. I've put that in place manually now, will see if it gets things happy in tonights push.
So, I think that was it. No problems yesterday. We can watch today's...
+1 i looked and monitored it today and yesterday as well, no problem found
Yeah, I think that was it indeed. Thanks everyone!
Metadata Update from @kevin: - Issue close_status updated to: Fixed with Explanation - Issue status updated to: Closed (was: Open)