Commit graph

1619 commits

Author SHA1 Message Date
26a751570c Copy the port monitoring fiber from the build coordinator
As the data service has the same issue where it stops listening on the port.
2024-02-13 09:59:39 +00:00
76712e2b00 Instrument resource pool checkout failures
As I've got no idea why the resource pools sometimes stop working.
2024-02-10 10:11:29 +00:00
26f517d9c2 Improve exception handling for channel instance derivations 2024-02-03 11:08:04 +01:00
ac1a4cb1e2 Cleanup some with-time-logging 2024-02-02 16:58:06 +01:00
7ecb13e403 Compute lint warnings in parallel 2024-02-01 13:16:08 +01:00
0468bc4321 Speed up loading package metadata
By batching the SQL queries.
2024-02-01 13:15:30 +01:00
215a67238a Ignore inferior-protocol-error when computing channel instances
Since this seems to happen for i586-gnu for core-updates currently and I can't
seem to reproduce the issue locally or work out what's wrong.
2024-02-01 10:47:54 +01:00
7acb38377e Fix exception handling in call-with-temporary-thread 2024-02-01 10:39:11 +01:00
d5e663cc1e Split up handling of package description data
To hopefully see which part is slow.
2024-01-31 20:20:48 +01:00
9779ecf3cd Speed up fetching package replacements 2024-01-31 12:30:51 +00:00
7d9704192d Add more logging in when computing channel instance derivations
As there's an issue with current core-updates that I'm struggling to track
down.
2024-01-31 08:59:47 +00:00
ba97ade781 Add some time logging in to inferior-packages-plus-replacements 2024-01-28 09:10:01 +00:00
0f7b31c605 Make sure to keep roots for channel instance derivations 2024-01-28 08:18:44 +00:00
39f626aa45 Remove even more time logging 2024-01-28 08:18:13 +00:00
75f27264a6 Improve logging when computing a channel instance derivation fails 2024-01-27 18:41:02 +00:00
062ee1aed2 Log the time to call inferior-packages-plus-replacements
As I think this is currently quite slow.
2024-01-27 18:40:01 +00:00
e51d2f8932 Remove some time logging
As this is a bit noisy.
2024-01-27 18:39:41 +00:00
e0a6c845e5 Try to fix issues with derivations being GC'ed 2024-01-19 09:57:19 +00:00
a900a1c2ec Remove drain? #t from process job
As it now uses more fibers.
2024-01-18 22:41:02 +00:00
b81e7ea950 Fixup tests 2024-01-18 15:34:40 +00:00
c1d2f3a1b7 Add meaningful parallelism to processing jobs
Make parallel use of inferiors when computing channel instance derivations,
and when extracting information about a revision. This should allow for some
horizontal scalability, reducing the impact of additional systems for which
derivations need computing.

This commit also fixes an apparent issue with package replacements, as
previously the wrong id was used, and this hid some issues around
deduplication.
2024-01-18 15:34:40 +00:00
6842a432d6 Split and instrument parts of inferior-packages->package-metadata-ids
As parts of it are slow.
2024-01-18 14:42:48 +00:00
e51f87cc7e Rewrite part of insert-missing-data-and-return-all-ids to avoid filter
As filter can use part of the input list, which then prevents modifying the
filtered list.
2024-01-18 14:41:54 +00:00
b8bd56a8f5 Fix par-map&
To actually work in parallel.
2024-01-18 14:41:32 +00:00
46b4c87e92 Show backtraces when using parallel fibers and resource pools 2024-01-18 14:41:32 +00:00
5af6233e5b Make it possible to destroy a resource pool
And implement removing idle resources.
2024-01-18 14:41:32 +00:00
15b6dad5a5 Have delete-duplicates/sort! take a equality procedure
And change the default, as eq? doesn't always work.
2024-01-18 14:41:32 +00:00
45d9b1ad7c Add back inferior heap size reporting
I'm sure this was present before, but maybe lost during some refactoring.
2024-01-18 14:41:32 +00:00
60980e2668 Use delete-duplicates/sort! in inferior-packages->license-set-ids
As it should offer a speedup over delete-duplicates.
2024-01-18 14:41:32 +00:00
49b4841c4e Use delete-duplicates/sort! in insert-missing-data-and-return-all-ids
As it's faster than delete-duplicates for large amounts of data.
2024-01-18 14:41:32 +00:00
241d7e4889 Use libc-locales-for-target
To help find the right glibc-locales to use.
2023-12-04 11:11:39 +00:00
8a8dccf2d8 Fix some select-build-servers calls 2023-12-04 11:09:46 +00:00
a3ec1f326d Set %file-port-name-canonicalization when processing jobs
Just in case this helps with performance.
2023-12-04 11:06:27 +00:00
b9026488ed Memoize computing tokens
As I'm not sure how expensive this is, but it doesn't need doing for every
request.
2023-11-24 16:11:57 +00:00
241a704db1 Instrument handling build events 2023-11-24 16:11:42 +00:00
e13febc817 Stop replacements cluttering comparisons
This stops the replaced package getting compared with it's replacement.
2023-11-18 10:36:10 +00:00
b2bf948a00 Add more exception handling to make-resource-pool
As I'm not sure it's working reliably.
2023-11-17 12:32:14 +00:00
da2a405e8b Remove hardcoding of builtin:download
As this was causing problems with builtin:git-download.
2023-11-16 12:20:55 +00:00
de211ef5ea Set the names of more threads
To help with debugging.
2023-11-16 11:30:23 +00:00
37a07c2d6e Try to avoid the metrics timing out
As that makes debugging problems harder.
2023-11-09 16:44:28 +00:00
7891d1327b Add missing empty job log entry 2023-11-05 20:01:37 +00:00
4f1ae74d2f Handle derivations with no sources 2023-11-05 18:49:23 +00:00
341eb4a283 Handle eof when reading logs 2023-11-05 18:49:11 +00:00
b026b8795b Remove peek 2023-11-05 18:49:04 +00:00
b2707b4828 Restore #:error-port when calling open-inferior
As the default is a void port.
2023-11-05 16:12:55 +00:00
1746256ef5 Remove #:use-module (ice-9 custom-ports)
As it's not actually used.
2023-11-05 15:59:53 +00:00
2135bc5e49 Update guix-dev.scm and .envrc 2023-11-05 13:46:20 +00:00
03327c0cc3 Include output information in the package page response
As this will be useful for QA to say whether the package builds reproducibly
or not.
2023-11-05 13:46:20 +00:00
c3cb04cb80 Use fibers when processing new revisions
Just have one fiber at the moment, but this will enable using fibers for
parallelism in the future.

Fibers seemed to cause problems with the logging setup, which was a bit odd in
the first place. So move logging to the parent process which is better anyway.
2023-11-05 13:46:20 +00:00
f5acc60288 Make some sweeping changes to loading new revisions
Move in the direction of being able to run multiple inferior REPLs, and use
some vectors rather than lists in places (maybe this is more efficient).
2023-11-02 12:16:17 +00:00