f6eadb0b16
Make the free space requirement configurable
2024-08-20 09:49:41 +01:00
6de908d0f4
Increase the inferior idle seconds
2024-08-18 12:53:12 +01:00
c2ccd81006
Improve the implementation of checking for idle resources
2024-08-18 12:48:29 +01:00
3887435a7d
Improve logging around use of inferiors
2024-08-17 18:31:32 +01:00
210e9a4775
Log the number of inferiors when reporting WAL issues
...
And reduce the threshold.
2024-08-16 21:18:23 +01:00
0592fba35b
Check the WAL size more frequently when using inferiors
...
Since getting an inferior from the pool can take some time, it's not
sufficient to just check prior to attempting to fetch an inferior from the
pool. Instead set a timeout and check periodically.
2024-08-16 11:56:17 +01:00
c335775ed4
Check the WAL size before computing lint warnings
...
As even though this might not use the store, the inferior still holds a store
connection open.
2024-08-16 11:18:40 +01:00
05c3ae5b87
Use more threads for the server
...
Just in case this avoids writing responses blocking new requests coming in.
2024-08-14 21:42:11 +01:00
22eb8d44ca
Move the resource pools to a different thread
...
As the server thread can block for a while when writing big responses.
2024-08-14 21:13:55 +01:00
7f1aaa5e99
Allow setting the scheduler for a resource pool
2024-08-14 21:13:42 +01:00
0c08ce069d
Tweak handling web server errors
2024-08-14 20:40:34 +01:00
b2dcccb264
Name the resource pools
2024-08-14 20:12:19 +01:00
bfb4ff3101
Include the pool name in the resource pool timeout exception
2024-08-14 19:59:36 +01:00
e2e158e33b
Make resource pools a record
...
So that the name is known when requesting a resource from the pool.
2024-08-14 19:56:37 +01:00
eeda1bf33b
Use system-ids for inserting distribution counts
2024-08-12 09:14:36 +01:00
4d0813c331
Add more logging to backfilling guix_revision_package_derivation_distribution_counts
2024-08-12 09:14:36 +01:00
b79c7e83be
Reduce chunk size
...
To try and respond quicker when the WAL is growing.
2024-08-12 09:14:36 +01:00
97b76000ec
Check the WAL size for each chunk
...
Rather than for each system and target, as this should mean the
response (pausing and allowing inferiors and store connections to be closed)
is quicker.
2024-08-12 09:14:36 +01:00
371d76456f
Start trying to handle GC happening while processing revisions
2024-08-12 09:14:36 +01:00
7869082816
Parallelise inserting package derivation distribution counts
2024-08-10 18:28:53 +01:00
885a4758d3
Get the test suite working again
2024-08-07 17:21:49 +01:00
77962f7c2c
Move inserting derivations in to the load-new-guix-revision module
...
And start to more closely integrate it. This makes it possible to start making
it faster by doing more in parallel.
2024-08-07 17:21:28 +01:00
7f746b358b
Add the fiberize utility
2024-08-07 16:50:30 +01:00
3d2335cebe
Stream the render-revision-package-derivations JSON response
...
As it can be large.
2024-08-05 13:45:46 +01:00
d8ade0ea11
Fix the pool metrics
2024-07-29 11:24:24 +01:00
f0f1329461
Tweak timeouts in resource-pool-stats
2024-07-29 11:24:08 +01:00
fbbdc41f5c
Update tests
2024-07-26 22:21:59 +01:00
e8bd27fdb8
Try using 2 threads for the server
2024-07-26 21:42:21 +01:00
2a80304e0c
Add worker thread utils
2024-07-20 00:20:20 +01:00
7df7fd3e52
Compute package derivations in chunks
...
This allows for keeping the inferiors and store connections around for a more
constant period, and allows closing the store connections and allowing the
guix-daemon to clear the WAL file if needed.
2024-07-19 19:45:07 +01:00
ed4ba8eb95
Reduce the WAL size threshold
2024-07-19 19:44:53 +01:00
3f1c2ad603
Rewrite the key parts of loading data to be even more parallel
...
Use a pool for the database connection, and a fibers promise for the package
ids, and run other parts of the process in parallel too. This change also
means that inserting starts as soon as some data is available, rather than
when all the data is available.
2024-07-19 19:44:53 +01:00
5439159a16
Add more fibers utilities
2024-07-19 19:44:53 +01:00
587277f347
Insert package derivations earlier
2024-07-19 12:15:21 +01:00
2da3a195ea
Return two values from channel->source-and-derivations-by-system
2024-07-19 11:50:14 +01:00
b8d9ed19b2
Avoid long running store connections
...
As I think this can cause the guix-daemon WAL to grow excessively.
2024-07-19 11:47:36 +01:00
0ca9c3f64f
Catch and ignore the new cross build derivation errors
2024-07-18 13:58:21 +01:00
b22834dae7
Refactor opening store connections when processing jobs
...
And set the #:built-in-builders.
2024-07-18 13:57:50 +01:00
e81c6377bf
Re-work the fibers scheduling
...
Use a single thread for receiving and responding to requests, and delegate the
processing of the requests to a separate set of threads.
I'm hoping this will avoid the processing of requests affecting accepting new
connections, or the sending of responses.
2024-07-16 23:03:15 +01:00
d8e9de4ed6
Use a bigger buffer for requests/responses
...
As I'm hoping this will increase the data throughput for responses.
2024-07-16 20:37:07 +01:00
5f8cd2dc56
Stream the package derivation page since it can be large
2024-07-16 17:16:22 +01:00
bbbcea8ff6
Add more time logging in to insert-missing-derivations
2024-07-16 16:13:17 +01:00
7da355b034
Log more timing infromation about inserting derivations
2024-07-16 16:07:47 +01:00
1754d1a321
Stop inserting missing source file nars
...
This was more an issue several years ago, so this code is not really needed
now.
2024-07-16 16:06:46 +01:00
a61c4baccd
Try and speed up large package derivation comparisions
2024-07-12 13:33:37 +01:00
9032079bda
Fix delete-revisions-from-branch
2024-07-07 11:59:53 +02:00
de98cbfaa3
Remove the statistics page
...
As it's been broken for a long time now, there are too many rows to count.
2024-06-30 11:14:16 +01:00
335715bc72
Properly handle deleting commits that occur on multiple branches
2024-06-29 11:49:45 +01:00
b5fbde5ac8
Delete duplicates when inserting license data
...
As I think this is necessary.
2024-06-25 14:41:16 +01:00
e37eb34db6
Block asyncs when starting inferiors
...
Because this code deals with global state, like environment variables.
2024-06-24 23:02:41 +01:00