Commit message (Collapse) | Author | Age | ||
---|---|---|---|---|
... | ||||
* | Stop using with-port-timeouts | Christopher Baines | 2023-09-12 | |
| | | | | As this is incompatible with fibers. | |||
* | Move most maintenance activity to fibers | Christopher Baines | 2023-09-12 | |
| | | | | | On a single separate thread. This will allow for spawning fibers for various maintenance actions. | |||
* | Switch to cooperative scheduling | Christopher Baines | 2023-09-12 | |
| | ||||
* | Correct the metric problems from introducing fold-nar-files | Christopher Baines | 2023-09-12 | |
| | | | | The metrics are now updated at the end. | |||
* | Name an unnamed thread | Christopher Baines | 2023-09-08 | |
| | ||||
* | Name some worker threads | Christopher Baines | 2023-09-08 | |
| | ||||
* | Avoid fast-download-nars from calling get-nar-files | Christopher Baines | 2023-09-08 | |
| | | | | As this is expensive when there are a large number of nars. | |||
* | Add fold-nar-files and use it in a few places | Christopher Baines | 2023-09-08 | |
| | | | | As this should use less memory than get-nar-files. | |||
* | Add datastore-fold-all-narinfo-files | Christopher Baines | 2023-09-07 | |
| | ||||
* | Set thread names for worker threads | Christopher Baines | 2023-09-07 | |
| | ||||
* | Include metrics for ports and file descriptors | Christopher Baines | 2023-09-07 | |
| | ||||
* | Use call-with-duration-metric helper | Christopher Baines | 2023-09-07 | |
| | ||||
* | Throw some connection caching in for info requests | Christopher Baines | 2023-07-27 | |
| | | | | To avoid opening a new connection for each request. | |||
* | Add better exception handling and retrying when mirroring nars | Christopher Baines | 2023-07-21 | |
| | ||||
* | Try to keep on top of mirroring nars | Christopher Baines | 2023-07-21 | |
| | | | | Only sleep when there were no changes or exceptions. | |||
* | Drop the number of fibers threads | Christopher Baines | 2023-07-12 | |
| | ||||
* | Drop the socket timeout when fetching changes | Christopher Baines | 2023-07-12 | |
| | | | | As I'm still seeing this hang. | |||
* | Log just before querying for recent changes | Christopher Baines | 2023-07-08 | |
| | ||||
* | Cleanup temp files on exceptions when generating cached compressions | Christopher Baines | 2023-07-08 | |
| | ||||
* | Name some more threads | Christopher Baines | 2023-07-08 | |
| | ||||
* | Set low level timeouts for HTTP requests | Christopher Baines | 2023-06-30 | |
| | | | | To try to avoid things getting stuck. | |||
* | Add some more network connection timeout helpers | Christopher Baines | 2023-06-30 | |
| | ||||
* | Show progress for downloading the database dump | Christopher Baines | 2023-06-30 | |
| | ||||
* | Update guix-dev.scm | Christopher Baines | 2023-06-30 | |
| | | | | For the lack of guile-fibers-next. | |||
* | Refactor, making some code less nested | Christopher Baines | 2023-06-30 | |
| | ||||
* | Ensure that nar requests are for the right filename | Christopher Baines | 2023-05-31 | |
| | | | | Rather than just checking the hash. | |||
* | Stop mmap'ing the database | Christopher Baines | 2023-05-30 | |
| | | | | | I don't think I fully understand the implications of this yet, in particular how this affects system memory usage. | |||
* | Add loop detection for nar requests | Christopher Baines | 2023-05-29 | |
| | | | | | | | | | | | | | | | Because the nar-herder is meant for use with a reverse proxy (like NGinx) which might reverse proxy the nar response from another server (also running the nar-herder), this might result in a loop of requests where say server A gets a request from a client, reverse proxies to server B, which then reverse proxies back to server A forming a loop. To detect and stop this, this commit enables the nar-herder to check the Via header, and refuse requests that it has already been involved in. This behaviour requires that the reverse proxy adds the machine hostname as an entry to the Via header when it reverse proxies the request. | |||
* | Make more logging output from the database module atomic | Christopher Baines | 2023-05-29 | |
| | | | | So that it's easier to read. | |||
* | Insert cached narinfo files in a transaction | Christopher Baines | 2023-05-29 | |
| | | | | As this handles the database being busy. | |||
* | Improve HEAD request handling | Christopher Baines | 2023-05-22 | |
| | | | | | | The Guile Fibers web server already just omits response bodies for HEAD requests, so just change the controller to handle HEAD requests like GET requests in all cases. | |||
* | Avoid generating cached compressions of already compressed files | Christopher Baines | 2023-05-22 | |
| | | | | | | This should probably be configurable, but just hardcoding compressed-file? from (guix utils) seems like a good step forward for now. | |||
* | Better handle invalid GET /nar/ requests | Christopher Baines | 2023-05-22 | |
| | ||||
* | Better handle /file requests where the nar is known but unavailable | Christopher Baines | 2023-05-21 | |
| | ||||
* | Fix misleading log message | Christopher Baines | 2023-05-21 | |
| | ||||
* | Include the response code in some errors | Christopher Baines | 2023-05-21 | |
| | ||||
* | Name the cached compression work queue | Christopher Baines | 2023-05-21 | |
| | ||||
* | Add exception handling to the recent change removal thread | Christopher Baines | 2023-05-20 | |
| | ||||
* | Remove recent changes in transaction | Christopher Baines | 2023-05-20 | |
| | | | | To handle the database being busy. | |||
* | Use a explicit transaction when removing cache narinfo file entries | Christopher Baines | 2023-05-20 | |
| | ||||
* | Log the duration of long database operations | Christopher Baines | 2023-05-20 | |
| | ||||
* | Tweak code for removing cached nars | Christopher Baines | 2023-05-20 | |
| | | | | | Mostly neatness changes but also change > to >= to handle the case where all cached nars are being removed. | |||
* | Port with-port-timeout improvements from the build coordinator | Christopher Baines | 2023-05-20 | |
| | ||||
* | Port work queue improvements from the build coordinator | Christopher Baines | 2023-05-20 | |
| | ||||
* | Port worker-thread improvements from the build coordiantor | Christopher Baines | 2023-05-20 | |
| | ||||
* | Remove trailing comma | Christopher Baines | 2023-05-17 | |
| | ||||
* | Record when a narinfo is added | Christopher Baines | 2023-05-17 | |
| | | | | As this will enable removing nars by date added. | |||
* | Enable SQLite to mmap the database file | Christopher Baines | 2023-05-17 | |
| | | | | | At least part of it, I think SQLite in Guix is limited to mmap'ing 2GiB. | |||
* | Add metrics for Guile internal times | Christopher Baines | 2023-05-14 | |
| | | | | This allows detecting when the process crashes or restarts. | |||
* | Fix handling /file/ requests where no file is found | Christopher Baines | 2023-05-03 | |
| |