aboutsummaryrefslogtreecommitdiff
path: root/scripts/nar-herder.in
Commit message (Collapse)AuthorAge
* Check nar file sizes on importChristopher Baines2024-06-15
|
* Insert the narinfo record before moving the narChristopher Baines2024-06-15
| | | | | So that if inserting the narinfo record fails, the nars won't be moved.
* Update removal criteria commentChristopher Baines2024-06-15
|
* Fix removing cached narinfo files from the dbChristopher Baines2024-05-20
|
* Move nars to storage when importing narinfosChristopher Baines2024-05-19
| | | | If they're not in the storage directory.
* Simplify output when importing a single narinfoChristopher Baines2024-05-11
|
* Set %file-port-name-canonicalization to 'noneChristopher Baines2024-05-11
| | | | As this reduces syscalls.
* Fix for guile-lib v0.2.8Christopher Baines2024-04-19
| | | | | | | | | I'm not sure quite what's changed, but it seems like the way the formatter is being called has changed in a backwards incompatible way. To maintain compatability with both older and newer versions of guile-lib, accept the formatter being called with extra arguments, and just look at the first three.
* Make the number of database reader threads configurableChristopher Baines2024-04-15
|
* Make the server parallelism configurableChristopher Baines2024-04-15
| | | | And drop the default to 1.
* Remove +Christopher Baines2024-04-15
|
* Fix argument nameChristopher Baines2024-03-25
|
* Improve handling of cached narinfos when deletingChristopher Baines2024-03-25
|
* Rework the cached compressions systemChristopher Baines2024-03-25
| | | | | | | | | | | | | The initial implementation was flawed since guix assumes that any compression mentioned in the narinfo will be available for the lifetime of the narinfo, and the nar-herder was deleting cached compressions without taking this in to account. This commit adds support for scheduling the removal of a cached compression and this schedule is used to inform the TTLs for narinfos. I'm unsure of the value in caching narinfos so maybe some of this complexity can be removed in the future.
* Add more TTL optionsChristopher Baines2024-03-15
| | | | | | I'm really not sure about this caching stuff, but these options should provide the flexibility to change the TTLs the nar-herder advertises gracefully.
* Move most functionality out of the start scriptChristopher Baines2023-09-12
| | | | As this can make debugging easier.
* Use recent changes to trigger the removal of narsChristopher Baines2023-09-12
| | | | | Both when the nar has been removed from the database, and to check if it should no longer be stored.
* Remove get-nar-filesChristopher Baines2023-09-12
| | | | As it doesn't scale well.
* Don't use JIT on aarch64Christopher Baines2023-09-12
| | | | | As there's bugs which cause parts of the program to execute more than once https://github.com/wingo/fibers/issues/83
* Name the fibers threadsChristopher Baines2023-09-12
| | | | To help with debugging.
* Change the maintenance thread to not be cooperativeChristopher Baines2023-09-12
| | | | As I think this is causing problems.
* Make sure to use streaming http requests everywhereChristopher Baines2023-09-12
| | | | As this avoids blocking.
* Add some more loggingChristopher Baines2023-09-12
|
* Use recent changes to trigger nar mirroring and removalChristopher Baines2023-09-12
| | | | | As this should be more efficient than repeatedly looking through all the nars in the database.
* Use fibers for the recent changes removal threadChristopher Baines2023-09-12
|
* Use fibers timeouts for all http requestsChristopher Baines2023-09-12
|
* Move most maintenance activity to fibersChristopher Baines2023-09-12
| | | | | On a single separate thread. This will allow for spawning fibers for various maintenance actions.
* Switch to cooperative schedulingChristopher Baines2023-09-12
|
* Drop the number of fibers threadsChristopher Baines2023-07-12
|
* Show progress for downloading the database dumpChristopher Baines2023-06-30
|
* Support setting a storage limit with no nar removal criteriaChristopher Baines2023-05-01
| | | | | | | | As a way of limiting the storage space used, but without removing any nars. While this will mean if you reduce the storage limit, no nars will be removed, I still think this is a useful way to run the nar-herder.
* Make import transactional for all the provided narinfosChristopher Baines2023-03-13
| | | | | As this will allow the --ensure-references-exist option to work properly where there are circular references.
* Handle self references when doing checks on narinfo importsChristopher Baines2023-02-15
|
* Fix import time reference checkingChristopher Baines2023-02-08
|
* Allow disabling dumping the databaseChristopher Baines2023-02-08
| | | | As this takes up quite a lot of space if the database is large.
* Add a flag to allow ensuring the references for a nar are presentChristopher Baines2023-02-06
|
* Refactor, pulling the narinfo out in to a variableChristopher Baines2023-02-06
|
* Don't error when removing files that don't existChristopher Baines2023-02-06
| | | | This is useful when removing in bulk and restarting the process.
* Add some basic functionality to check the size of the stored filesChristopher Baines2023-02-06
|
* Make the log-level a base optionChristopher Baines2023-02-06
|
* Finish an initial implementation of pruning the cached narsChristopher Baines2023-02-04
|
* Instrument the cached bytes by compressionChristopher Baines2023-02-04
|
* Properly implement cached compression levelsChristopher Baines2023-02-03
| | | | It was sort of implemented, but I'd missed some bits.
* Be more flexible with cached compressionsChristopher Baines2023-02-01
| | | | | Allow specifying where to fetch the source files from, enabling cached compressions for mirrors.
* Make sure to use suspendable portsChristopher Baines2023-02-01
| | | | This will allow setting timeouts for network activity.
* Fix --cached-compression-min-uses handlingChristopher Baines2023-02-01
|
* Add experimental support for cached compressionsChristopher Baines2023-01-16
| | | | | | This adds optional caching for alternative compressions of stored nars. You could store lzip nars for example, but then compute, cache and provide zstd nars for some stored nars.
* Add some instrumentation around the databaseChristopher Baines2022-06-24
|
* Improve handling of nar removalChristopher Baines2022-05-19
| | | | When --storage is set and not set.
* Fiddle more with the nar removal criteriaChristopher Baines2022-05-19
| | | | | This should make the singular stored-on and and'ed stored-on work properly.