aboutsummaryrefslogtreecommitdiff
path: root/guix-build-coordinator
Commit message (Collapse)AuthorAge
* Try to prioritise some database operationsHEADmasterChristopher Baines2024-10-14
| | | | | | At the moment, hooks can get stuck behind new builds being submitted due to the slow writes. Try to manage this by prioritising the write operations from the hooks.
* Add make-discrete-priority-queueing-channelsChristopher Baines2024-10-14
|
* Track errors when reading/substituting derivationsChristopher Baines2024-07-12
|
* Instrument the utility thread pool delaysChristopher Baines2024-07-12
|
* Increase the number of utility threadsChristopher Baines2024-07-12
|
* Split code for checking whether to store buildsChristopher Baines2024-07-09
| | | | | | To better separate out when a derivation is read, and when it's not. This should ensure that derivations aren't being read inside the transaction to submit builds.
* Remove the workaround for with-store/non-blockingChristopher Baines2024-07-04
| | | | As this is fixed in Guix now.
* Revert "Add dbstat metrics"Christopher Baines2024-07-04
| | | | | | It's not fast enough. This reverts commit 09daad84faea3577acf5f1627e4bfed699b10a5d.
* Log the current state of the reader threadsChristopher Baines2024-07-02
|
* Track the procedures the worker threads are runningChristopher Baines2024-07-02
|
* Reduce the sleep in the worker threadsChristopher Baines2024-07-02
|
* Remove now redundant use of the writer thread channelChristopher Baines2024-07-02
| | | | As there are no longer in memory tables.
* Try not using the busy timeoutChristopher Baines2024-07-02
| | | | | I'm not quite sure what effect this will have, but it's probably better to do the waiting in Guile rather than SQLite.
* Add dbstat metricsChristopher Baines2024-07-02
|
* Don't use a chunked response for the metricsChristopher Baines2024-06-30
|
* Add option to skip updating derived priorities when submitting buildsChristopher Baines2024-06-25
| | | | | As I think this can be skipped if you're submitting a batch of interdependent builds with the same priority.
* Fix build prioritisationChristopher Baines2024-06-25
|
* Add a utility thread poolChristopher Baines2024-06-25
| | | | And use this to read derivations.
* Remove support for chunked requestsChristopher Baines2024-06-23
| | | | | This was a hack to work around reading the entire request/response body in to memory, and is no longer needed.
* Add missing loop when fetching builds to allocateChristopher Baines2024-06-23
|
* Don't abuse the reader threads to read derivationsChristopher Baines2024-06-23
| | | | To avoid causing any issues with them.
* Return copies of the list from the allocation plan fiberChristopher Baines2024-06-22
| | | | To avoid the authoritative data structures from being modified.
* Remove the ATTACH DATABASE lineChristopher Baines2024-06-22
| | | | As it's no longer used.
* Add some logging in to build-coordinator-fetch-build-to-allocateChristopher Baines2024-06-22
|
* Add some logging to the hook work queuesChristopher Baines2024-06-19
|
* Move the allocation plan in to memoryChristopher Baines2024-06-19
| | | | | Rather than using an in memory SQLite table, since I think this might be causing issues when opening new SQLite reader threads.
* Reduce the nar size thresholdChristopher Baines2024-06-15
| | | | Unreasoned, but this'll compress more nars.
* Change with-port-timeouts to use seconds for the timeoutChristopher Baines2024-06-10
|
* Validate derivation names for buildsChristopher Baines2024-06-09
| | | | As I've managed to submit derivation names with \r in.
* Don't ignore missing_inputs setup failures when allocatingChristopher Baines2024-06-07
| | | | | | | | | As if there is an issue substituting the input, this can cause the build to fail to start over and over again, potentially retrying downloading the inputs over and over again. This will mean that the setup failures will need clearing manually before the build can be tried again, but this is probably a good thing.
* Avoid using select and use poll insteadChristopher Baines2024-06-07
| | | | | I don't trust select, as I think I'm seeing it make blocking read calls. I don't know if that's coming from here, but better to just avoid it.
* Support controlling adding timestamps to the log outputChristopher Baines2024-06-06
| | | | So this can be turned off when the shepherd is adding the timestamps.
* Support customising the default-build-missing-inputs-hook behaviourChristopher Baines2024-06-06
|
* Retry more when substituting derivationsChristopher Baines2024-06-06
| | | | And don't use the no substitutes fallback.
* Always use a thread to read derivationsChristopher Baines2024-06-06
|
* Close the uncompressed output port explicitlyChristopher Baines2024-06-05
| | | | | As this ensures the data is written. This resolves some issues with bytes missing from the end of nars.
* Make imports from (guix build utils) explicitChristopher Baines2024-06-05
|
* Omit none as a compression in narinfosChristopher Baines2024-06-05
| | | | To match the guix publish behaviour.
* Enable recompressing nars in the publish hookChristopher Baines2024-05-19
| | | | | | | | | | The implementation is intended to be generic, but the new default behaviour either keeps the lzip compressed nar, or if the compressed nar isn't much smaller than the compressed one, decompresses it. This also changes the API for the post-publish-hook and combined-post-publish-hook, since they now get called with a list of narinfos, rather than a list of narinfos and files.
* Use threads for reading derivationsChristopher Baines2024-05-15
| | | | As it is quite slow on bayfront at least.
* Work around the broken with-store/non-blockingChristopher Baines2024-05-15
|
* Use just one cooperative threadChristopher Baines2024-05-15
| | | | To try and simplify things.
* Order messages to the writer thread channelChristopher Baines2024-05-15
| | | | So that they're processed in a first come first served manor.
* Handled fetching details of canceled buildsChristopher Baines2024-05-15
|
* Export port timeout error predicatesChristopher Baines2024-05-15
|
* Use with-store/non-blocking from guixChristopher Baines2024-05-14
| | | | | As it opens a non-blocking connection, rather than doing a blocking handshake then making the socket non-blocking.
* Fix the no-fibers-wait in with-fibers-port-timeoutsChristopher Baines2024-05-14
|
* Make the worker thread timeout a parameterChristopher Baines2024-05-12
|
* Avoid starting new builds when low on disk spaceChristopher Baines2024-05-12
|
* Increase the timeout for substituting derivationsChristopher Baines2024-05-10
|