Commit graph

1503 commits

Author SHA1 Message Date
9bf4eea2fd Name the temporary threads 2025-02-04 10:45:52 +00:00
6deeccc22f Remove some knots workarounds 2025-02-03 22:59:34 +00:00
3646de6097 Update exception handling in load-new-guix-revision 2025-02-03 22:59:34 +00:00
931b7bc593 Add a slightly crude method to ignore systems and targets
While processing a revision. It would be good to also record what systems and
targets are in the platforms so it's clear what data is missing, but that can
be added later.
2025-02-03 22:59:34 +00:00
acdedb075d Ensure COLUMNS is set 2025-02-03 13:06:45 +01:00
f9e6daad99 Use the default knots web server exception handler 2025-02-03 12:18:54 +01:00
49f9aa4822 Force add resources parallelism to 1 for some resource pools
This'll be the default in coming revisions of knots, and is neccessary for
pools being used to share a single object.
2025-02-02 01:23:49 +01:00
8bce47dc69 Remove use of call-with-utility-thread
As I think it's no longer necessary, and the PostgreSQL connection is being
handled here incorrectly.
2025-01-31 13:01:37 +01:00
5cca88ca2a Work around the resource pool needing a destructor 2025-01-31 08:56:04 +01:00
8f3968af1e Configure the knots web server connection buffer size
Rather than changing the buffer size when processing each request.
2025-01-29 18:34:20 +01:00
98c4fae76f Move the exception handling to the knots web server
Rather than adding another layer. This commit also removes the extra fibers
layer when processing requests. I forget exactly why this was added, but if
the reason resurfaces then it should be addressed in knots.
2025-01-29 18:34:20 +01:00
7dd6be1c3b Update Knots 2025-01-29 18:34:20 +01:00
83f2981c64 Fix branch package version page if no data is found 2025-01-27 12:25:11 +00:00
9a1c1b30cb Fix matching NULL 2025-01-27 12:25:04 +00:00
ad30746fab Fix null handling in result-serializer-simple-list-with-null-handling 2025-01-26 10:10:50 +00:00
25bf45fe77 Handle NULL values for included_branches 2025-01-17 12:23:46 +00:00
c886685e92 Update Guile Knots 2025-01-14 13:49:28 +00:00
d6cfd780e8 Log resource pool stats on errors 2025-01-06 19:31:54 +00:00
52a307612f Fix log message 2025-01-06 18:53:19 +00:00
d3c87fb1dc Attempt to reduce memory churn when processing package metadata 2024-12-29 12:23:56 +00:00
cdffef2397 Report on the GC when processing revisions 2024-12-29 12:22:38 +00:00
50127de12a Parallelise inserting derivation counts 2024-12-29 12:22:38 +00:00
6ce51e8880 Remove random x 2024-12-29 12:22:38 +00:00
ed5419866f Avoid null characters in package descriptions 2024-12-29 12:12:28 +00:00
93eac06fd6 Update Guile Knots 2024-12-29 11:05:07 +00:00
62d6b59013 Make build_servers.id just generated by default
As to make it easier to set explicitly.
2024-12-15 20:54:11 +00:00
73b53f46a3 Add utility functions for configuring the database 2024-12-15 20:17:10 +00:00
8b49884816 Use knots
A library of extracted Guile Fibers patterns and utilities.
2024-12-15 20:17:10 +00:00
a33e32275e Add a comment 2024-12-09 10:53:06 +00:00
d7c7f74ff1 Log differently when using the load-new-guix-revision-inserts lock 2024-12-09 10:53:06 +00:00
859b0093f8 Avoid getting the load-new-guix-revision-inserts lock twice 2024-12-09 10:53:06 +00:00
62fc9b7225 Fix hash display for formatted derivations 2024-12-09 10:53:06 +00:00
5664cde17c Improve some query formatting 2024-12-09 10:53:06 +00:00
ba97dfc1fe Fix wrong number of values from channel-derivations-by-system->guix-store-item 2024-12-09 10:53:06 +00:00
5ed98343d7 Rework loading revision data
These changes were motivated by switching to a mechanism of loading data that
isn't dependent on the big advisory lock that prevents more than one revision
from being processed at a time.

Since INSERT ... RETURNING id; is used, this can block if another transaction
inserts the same data, and then cause an error when that transaction
commits. The solution is to use ON CONFLICT DO NOTHING, but you have to handle
the case when the INSERT doesn't return an id since the other transaction has
inserted it.

This commit rewrites insert-missing-data-and-return-all-ids to do as described
above, as well as being more efficient in how existing data is detected and to
use more vectors. Other utilities for inserting data are added as well.
2024-12-09 10:53:06 +00:00
b128e9bd7a Improve null handling 2024-12-01 22:56:12 +00:00
bb84e45c42 Handle conflicts in insert-missing-data-and-return-all-ids 2024-12-01 22:56:12 +00:00
c949deb9d4 Memoize field-can-be-null? 2024-11-29 14:06:08 +00:00
930169751c Handle conflicts when inserting lint warning message sets 2024-11-29 14:06:08 +00:00
9a38374e7c Use insert-missing-data-and-return-all-ids for locations 2024-11-29 14:06:08 +00:00
221394eafb Add in call-with-worker-thread to try to avoid sort problems 2024-11-29 13:49:38 +00:00
cb1bc060c8 Move log message 2024-11-29 10:37:56 +00:00
e14fd88d8f Don't lookup #f in the hash table 2024-11-29 10:09:41 +00:00
64aeeffd8e Insert guix_revision_package_derivation_distribution_counts later
As this should speed up processing revisions.
2024-11-26 14:12:17 +00:00
620ac16e26 Don't crash when linters crash
This is currently happening because some linters try to evaluate parts of
packages for cross-building to aarch64-linux-gnu, but not all packages support
that and some crash in this case.

I'm not quite sure what the correct behaviour should be, but maybe the data
service needs to try and handle these crashes rather than not processing the
entire revision.
2024-11-26 09:27:50 +00:00
112bc95a13 Restore calling update-derivation-ids-hash-table!
In derivation-file-names->derivation-ids. This is important for performance
since it avoids reading derivations with an entry already in the database.
2024-11-25 10:56:01 +00:00
bda4269b56 Change to logging the filtered derivations
As that's what's relevant here.
2024-11-25 10:55:45 +00:00
84e78ef3ed Stop queries being able to insert systems 2024-11-13 09:55:03 +00:00
e7ada1bada Allow using the heap profiler in the inferior 2024-11-08 22:34:28 +00:00
ebeb4212ff More efficiently create some vectors
And instrument the inferior memory after creating the gds-inferior-packages
vector.
2024-11-08 22:34:28 +00:00