aboutsummaryrefslogtreecommitdiff
path: root/guix-build-coordinator/datastore
Commit message (Collapse)AuthorAge
* Log the time for parts of the datastore metric initialisationChristopher Baines2022-10-21
|
* Guard against canceling builds required by othersChristopher Baines2022-10-11
|
* Support listing builds and including/excluding builds by relationshipChristopher Baines2022-10-11
| | | | | This is to help cancel builds, but where you want to avoid builds that are still needed by others.
* Add system information in to listing the build allocation planChristopher Baines2022-10-10
|
* Include priority information in the allocation plan outputChristopher Baines2022-10-09
| | | | Also switch derivation-name to use an underscore.
* Improve listing agent build allocation plansChristopher Baines2022-10-09
|
* Send more information on derivation outputs to the Guix Data ServiceChristopher Baines2022-07-07
| | | | | | This will enable it to join builds to derivations, even if it doesn't know about the derivation being built, since it'll be able to match the outputs with other derivations it knows about.
* Record the details of derivation outputsChristopher Baines2022-07-07
| | | | | | | I believe this will be useful when linking builds to other services, like the Guix Data Service, since this information might be useful when joining up the derivation being built to other derivations through the details of the outputs produced.
* Update the derived priorities when a build is cancelledChristopher Baines2022-07-07
|
* Support updating the priorities of buildsChristopher Baines2022-07-07
|
* Support listing builds by priorityChristopher Baines2022-07-07
|
* Support processing hook events in parallelChristopher Baines2022-06-30
| | | | | | | | | | Forcing hooks to be sequential simplifies them, and the implementation, but it doesn't always scale well. I'm particularly thinking about the build-submitted hook and built-success hooks, the processing of which can back up if there's lots of builds being submitted or finishing successfully. This new functionality allows hooks to be processed in parallel, which should allow to manage this more effectively.
* Guard against inserting unnecessary related buildsChristopher Baines2022-04-23
|
* Take the max of the derived priority and priorityChristopher Baines2022-04-23
| | | | | | I believe this fixes an issue where the derived priority could be lower than the priority, if the build being inserted isn't at the edge of the derivation graph.
* Guarantee the order of related derivations when listing themChristopher Baines2022-04-23
| | | | | | | Since I believe this is important when inserting builds, as for the derived priorities to be computed correctly, the derivations closet in the graph need to be processed first, so that their derived priority informs that of builds that depend on them.
* Fix binding the agent_id when querying for output conflictsChristopher Baines2022-02-02
|
* Rewrite datastore-fetch-builds-to-allocateChristopher Baines2022-02-01
| | | | | | | To avoid querying all of the builds in the allocation plan for the agent. This also fixes a regression with the ordering introduced in 5d6eb372ecda14df0d678a75194c607635095d04.
* Fix the selecting of builds from the allocation planChristopher Baines2022-01-31
| | | | | I believe this was changed in error in f70c97b6c79b9e91b16dfa9685fef6985682d6f0.
* More efficiently filter and select builds in the allocatorChristopher Baines2022-01-31
| | | | Specifically the derivation ordered allocator.
* Don't use the SQLite shared cacheChristopher Baines2022-01-19
| | | | | This seems to cause some locking issues when lots of activity is happening, disable this until it can be investigated further.
* Switch around some SQLite stuffChristopher Baines2022-01-19
| | | | | | | | Use SQLITE_OPEN_SHAREDCACHE for all connections, and create the writer thread first to allow this. I think this addresses some weridness I was seeing locally, where hooks would get processed multiple times.
* Delete processed hook events using a prepared statementChristopher Baines2022-01-19
|
* Improve the speed of initialising metricsChristopher Baines2022-01-19
| | | | | Do the allocation metrics at the start of the relevant thread, and do the initialisation in parallel via fibers.
* Add some extra delay loggingChristopher Baines2022-01-12
|
* Fix the get-derived-priority queryChristopher Baines2022-01-12
| | | | It was just broken before.
* Add some delay logging when inserting derivationsChristopher Baines2022-01-11
| | | | As this could benefit from a little optimising.
* Remove use of last-insert-rowid in insert-buildChristopher Baines2022-01-07
| | | | This can be done through RETURNING now.
* Skip updating other build priorities for some buildsChristopher Baines2022-01-07
| | | | | | | | The builds submitted to ensure all related derivation outputs have builds. Submitting these builds won't cause the priority of any related builds to be updated, since they have a priority of 0, so this expensive part of submitting the builds can be skipped.
* Add LIMIT 1 to a couple of queriesChristopher Baines2022-01-07
| | | | Where only the first row is checked for.
* Fix insert-derivation-outputs returning the wrong idsChristopher Baines2022-01-04
| | | | | It's expected to return an alist containing the derivation output ids, not the output ids.
* Make some SQLite configuration tweaksChristopher Baines2021-12-30
| | | | I think these help to improve performance, no concrete data through.
* Optimise inserting derivationsChristopher Baines2021-12-30
| | | | | | Avoid some queries by just moving around the values being queried for better. Also cache the outputs for a derivation so that doesn't have to be looked up.
* Fix unprocessed_builds_with_derived_prioritiesChristopher Baines2021-12-22
| | | | A couple of the queries were wrong, this fixes it.
* Log delays for procedures involved in handling build resultsChristopher Baines2021-12-20
|
* Log delays in fetch builds to allocateChristopher Baines2021-12-20
|
* Reduce the time in the transaction when replacing the allocation planChristopher Baines2021-12-20
|
* Log delay from select allocated buildsChristopher Baines2021-12-20
|
* Log delays for entering transactionsChristopher Baines2021-12-20
|
* Log delays with datastore-insert-buildChristopher Baines2021-11-20
|
* Improve delay logging in datastore-call-with-transactionChristopher Baines2021-11-20
| | | | Make sure to log the delay in the calling thread.
* Log delays in insert-derivation-and-return-outputsChristopher Baines2021-11-20
| | | | As I've seen this be quite slow.
* Use prepared statements when inserting derivationsChristopher Baines2021-11-20
| | | | As I hope this might be a little faster, plus it's also neater.
* Always reset the statement in db-output->output-idChristopher Baines2021-11-20
|
* Monitor a few more sqlite related proceduresChristopher Baines2021-11-18
|
* Improve the datastore-call-with-transaction delay loggingChristopher Baines2021-11-18
| | | | Associate the delay with the passed proc.
* Add delay logging to fetching buildsChristopher Baines2021-11-17
| | | | As this appears to be a bit too slow.
* Track delays for a couple of sqlite datastore operationsChristopher Baines2021-11-16
|
* Support activating and deactivating agentsChristopher Baines2021-11-13
| | | | | | | | | Not sure these are the best terms to use, but I want a way to pause agents, effectively removing them from the build allocation plan. This is mostly motivated by the lack of disk space on bayfront, as deactivating agents provides a way to stop the system from filling up with builds, but I think there's more general uses as well.
* Report the active status of agents when listing themChristopher Baines2021-11-12
|
* Return the agent names when listing agentsChristopher Baines2021-11-12
|