Commit graph

1664 commits

Author SHA1 Message Date
66793a5568 Rework how data is inserted
This is the big change needed to allow for parallel revision
processing. Previously, a lock was used to prevent this since the parallel
transactions could deadlock if each inserted data that the other then went to
insert.

By defining the order in which inserts happen, both in terms of the order of
tables, and the order of rows within the table, this change should guarantee
that there won't be deadlocks.

I'm also hoping this change will address whatever issue was causing some
derivation data to be missing from the database.
2026-01-03 20:40:09 +00:00
72fe3b4e47 Suggest why derivations might not be found 2026-01-03 20:39:27 +00:00
f77b6bb318 Remove pg-conn-finish definition
This is now exported.
2025-11-26 09:47:30 +00:00
0a7873c0d5 Remove the guile-knots package definition from guix-dev.scm
This is in Guix.
2025-11-26 09:46:16 +00:00
75f62f351f Fix string metric values 2025-11-20 15:43:16 +00:00
eb9ec4acd0 Handle unknown resource pool stats 2025-11-20 14:09:40 +00:00
9a03cdff18 Handle package versions not being found 2025-11-13 12:45:50 +00:00
571ed55c9f Fix indentation 2025-11-13 12:39:31 +00:00
0611684b0d Flip the most-appropriate-mime-type arguments
As all the calls are wrong.
2025-11-13 12:16:09 +00:00
b71214083d Avoid inserting duplicate nars
The nar_urls table has a unique index, so drop the ON CONFLICT DO NOTHING
bits.
2025-11-13 12:09:53 +00:00
eb75964e76 Handle query parameter errors on the fix derivation page 2025-11-05 08:42:39 +00:00
0113843a72 Fix types for lint warnings data 2025-11-05 08:35:18 +00:00
9eb1fa079c Avoid divide by 0 2025-11-05 08:22:16 +00:00
7d17e56839 Fix the store item json response code 2025-10-27 08:05:10 +00:00
6e25a64815 Add note about specify-git-repositories 2025-09-26 12:16:46 +01:00
119b814877 Try to avoid an error probably associated with empty package licenses 2025-09-26 12:16:46 +01:00
Ludovic Courtès
98e493f6e0 forgejo: Recognize ‘edited’ as a valid action.
‘edited’ actions are emitted for instance when switching the “draft”
flag of a pull request.
2025-07-17 11:39:47 +02:00
b781d0e86d Add an example slow endpoint to help with testing
How other things handle slow responses.
2025-07-17 09:55:19 +01:00
Ludovic Courtès
eec7715928 forgejo: Enqueue the repository URL, not the pull request URL.
Previously the pull request URL (say,
https://codeberg.org/guix/guix/pulls/123) would be mistaken for the Git
repository URL.
2025-07-16 20:28:18 +02:00
Ludovic Courtès
b35c26a74e forgejo: Always return a response and its body.
Fixes the bug reported in
<https://codeberg.org/guix/maintenance/pulls/18#issuecomment-5851510>.

Previously ‘forgejo-controller’ would return a single value in
successful cases, whichever ‘enqueue-job-for-pull-request’ or
‘mark-pull-request-branch-for-deletion’ would return.
2025-07-16 19:11:33 +02:00
2e91f31559 Replace documentation on dumps with some example configuration
Since the machine running data.qa.guix.gnu.org doesn't currently have the disk
space to generate dumps.
2025-07-11 10:54:58 +01:00
2b6bdcac08 Fix eq? in recording failures 2025-07-10 23:48:52 +01:00
0e11540fe3 Fix exception message 2025-07-10 23:48:46 +01:00
a3d0e72e48 Fix issue with handling failure to build system channel instance
That resulted in empty revisions. Raise an exception rather than returning #f.
2025-07-10 18:06:30 +01:00
683b375d56 Tweak inserting sources
To try and make it faster.
2025-07-10 09:49:35 +01:00
a4480ac357 Change fixed-size-thread-pool to a thread-pool
To avoid the queueing fiber.
2025-07-10 09:49:35 +01:00
3f837481fd Use fibers-batch-map
As the parallelism should probably be customised.
2025-07-10 09:49:35 +01:00
8dcc89df50 Avoid choice-operation for the gc watcher
In case this causes a memory leak.
2025-07-10 09:49:35 +01:00
42ac51212f Use bulk-insert for inserting derivation_sources 2025-07-10 09:49:35 +01:00
2fc20fa37e Tweak and export bulk-insert 2025-07-10 09:49:35 +01:00
2073e446b7 Tweak the job script
Don't use with-fluids (I forget why), and enable core dumps.
2025-07-09 12:50:24 +01:00
90ecbdea70 Update Guile Knots 2025-07-09 12:50:07 +01:00
1728494363 Try to better chunk derivations for insertion 2025-07-08 20:41:16 +01:00
734ee541be Update Guile Knots 2025-07-08 20:41:16 +01:00
f279aa0071 Destroy the utility thread pool 2025-07-08 20:41:04 +01:00
401f916517 Tweak gc logging 2025-07-08 10:25:43 +01:00
8eb5c047b9 Avoid raising an unhandled exception 2025-07-08 07:24:32 +01:00
4d04a7f47b Stop sharing the derivation-ids-hash-table
Since the derivations are independent between systems, and this is just a
cache of the database ids.
2025-07-08 07:24:32 +01:00
0184f10942 Limit the parallelism when running derivation-file-names->derivation-ids
To focus on finishing some systems before starting the next.
2025-07-06 15:01:03 +01:00
02947cc9c4 Replace more instances of system->system-id with lookup-system-id
To avoid systems being inserted from queries.
2025-07-04 14:16:03 +01:00
98e1b6b3c7 Pass systems and targets to find-broken-derivations-in-revision 2025-07-04 13:39:32 +01:00
5701c5ca55 Raise an exception on missing level counts 2025-07-04 13:15:03 +01:00
7e910be46e Allow specifying the systems and targets for compute and fix 2025-07-04 12:49:12 +01:00
28d762b568 Re-indent fibers-let bits 2025-07-04 10:38:37 +01:00
a5e9e2f6a5 Stream the /compare.json response
Since this could be quite large.
2025-07-04 10:36:26 +01:00
62cf3ff7cb Add list->json-array 2025-07-04 10:29:59 +01:00
df79bc198e Include the full URI when logging slow responses 2025-07-01 19:10:21 +01:00
c6366605a5 Allow starting multiple database connections at once 2025-07-01 19:03:14 +01:00
8640958af7 Retry processing background queue jobs on exception 2025-07-01 13:33:22 +01:00
f1e444babe Process queued build events in parallel 2025-07-01 13:07:44 +01:00