aboutsummaryrefslogtreecommitdiff
path: root/guix-data-service
Commit message (Expand)AuthorAge
* Improve logging when computing a channel instance derivation failsChristopher Baines2024-01-27
* Log the time to call inferior-packages-plus-replacements•••As I think this is currently quite slow. Christopher Baines2024-01-27
* Remove some time logging•••As this is a bit noisy. Christopher Baines2024-01-27
* Try to fix issues with derivations being GC'edChristopher Baines2024-01-19
* Fixup testsChristopher Baines2024-01-18
* 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. Christopher Baines2024-01-18
* Split and instrument parts of inferior-packages->package-metadata-ids•••As parts of it are slow. Christopher Baines2024-01-18
* 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. Christopher Baines2024-01-18
* Fix par-map&•••To actually work in parallel. Christopher Baines2024-01-18
* Show backtraces when using parallel fibers and resource poolsChristopher Baines2024-01-18
* Make it possible to destroy a resource pool•••And implement removing idle resources. Christopher Baines2024-01-18
* Have delete-duplicates/sort! take a equality procedure•••And change the default, as eq? doesn't always work. Christopher Baines2024-01-18
* Add back inferior heap size reporting•••I'm sure this was present before, but maybe lost during some refactoring. Christopher Baines2024-01-18
* Use delete-duplicates/sort! in inferior-packages->license-set-ids•••As it should offer a speedup over delete-duplicates. Christopher Baines2024-01-18
* Use delete-duplicates/sort! in insert-missing-data-and-return-all-ids•••As it's faster than delete-duplicates for large amounts of data. Christopher Baines2024-01-18
* Use libc-locales-for-target•••To help find the right glibc-locales to use. Christopher Baines2023-12-04
* Fix some select-build-servers callsChristopher Baines2023-12-04
* Memoize computing tokens•••As I'm not sure how expensive this is, but it doesn't need doing for every request. Christopher Baines2023-11-24
* Instrument handling build eventsChristopher Baines2023-11-24
* Stop replacements cluttering comparisons•••This stops the replaced package getting compared with it's replacement. Christopher Baines2023-11-18
* Add more exception handling to make-resource-pool•••As I'm not sure it's working reliably. Christopher Baines2023-11-17
* Remove hardcoding of builtin:download•••As this was causing problems with builtin:git-download. Christopher Baines2023-11-16
* Set the names of more threads•••To help with debugging. Christopher Baines2023-11-16
* Try to avoid the metrics timing out•••As that makes debugging problems harder. Christopher Baines2023-11-09
* Add missing empty job log entryChristopher Baines2023-11-05
* Handle derivations with no sourcesChristopher Baines2023-11-05
* Handle eof when reading logsChristopher Baines2023-11-05
* Remove peekChristopher Baines2023-11-05
* Restore #:error-port when calling open-inferior•••As the default is a void port. Christopher Baines2023-11-05
* Remove #:use-module (ice-9 custom-ports)•••As it's not actually used. Christopher Baines2023-11-05
* Include output information in the package page response•••As this will be useful for QA to say whether the package builds reproducibly or not. Christopher Baines2023-11-05
* 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. Christopher Baines2023-11-05
* 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). Christopher Baines2023-11-02
* Close the repository when pulling•••And remove the monitor, as I'm not sure it's necessary. Christopher Baines2023-10-16
* Remove redundant joins from the select build queryChristopher Baines2023-10-16
* Attempt to fetch this Git polling mess•••Listing remote branches through libgit2 will list branches that don't exist on the remote. I think branch-list is more listing branch references, and you can have references to a remote branch where the remote branch doesn't exist. This isn't very useful here though, as I'm trying to work out what remote branches exist. There's remote-ls which might help, but I can't figure out how to get the commits for branches from that. Therefore, just bodge the two things together in to a big mess. I seem to be able to get commits from branch-list that hopefully match what's on the remote (although I'm not confident about this), and I think remote-ls does allow checking what branches exist. Christopher Baines2023-10-11
* Copy some of the initialisation from (guix git)•••To go along with just-update-cached-checkout. Christopher Baines2023-10-11
* Try to work around update-cached-checkout•••As it's causing problems with the guix-patches repository. Christopher Baines2023-10-11
* Remove logging from enqueue-job-for-email•••As getmail treats output to stderr as the operation failing. Christopher Baines2023-10-11
* Fix typoChristopher Baines2023-10-11
* Support polling git repositories for new branches/revisions•••This is mostly a workaround for the occasional problems with the guix-commits mailing list, as it can break and then the data service doesn't learn about new revisions until the problem is fixed. I think it's still a generally good feature though, and allows deploying the data service without it consuming emails to learn about new revisions, and is a step towards integrating some kind of way of notifying the data service to poll. Christopher Baines2023-10-09
* Add metrics for ports and file descriptorsChristopher Baines2023-09-07
* URI encode some derivation names in links•••To handle characters like +. Christopher Baines2023-09-07
* Use the connection pool for build events•••I'm not sure why this wasn't the way it worked previously. This should avoid unconstrained use of PostgreSQL connections. Christopher Baines2023-08-23
* Add code to delete nars entriesChristopher Baines2023-08-01
* Delete unreferenced derivations in batches•••To avoid a long blocking query. Christopher Baines2023-08-01
* Fix issues with with-resource-from-poolChristopher Baines2023-07-26
* Fix the load revision system sorting•••As previously it only applied to system tests. Christopher Baines2023-07-25
* Rewrite deleting unreferenced derivations•••Use fibers more, leaning in on the non-blocking use of Squee for parallelism. Christopher Baines2023-07-25
* Sort systems and targets for more deterministic behaviour•••As the ordering from Guix seems to be non-deterministic. Christopher Baines2023-07-21