549f385d40d495a585486914566047f25917d41e
this is one of the cases retrySQLite is supposed to handle. with busy timeouts set at the connection level we may instead wait for up to an hour to acquire locks before actually falling back to the retrySQLite loop, blocking an entire thread in the process. this isn't painful in the current system that uses dedicated threads for everything, but an async executor actually suffers. since we use sqlite in WAL mode, and WAL mode still allows reads to happen concurrently with writes, we'll want to not block an executor on sqlite write locks. (note that while we do have a mutex around db access that mutex is only held inside of retrySQLite callbacks, so it will be released where we'd block today) do note that we don't disable the timeout completely since that could drastically reduce write performance. multiple daemon processes using the same database file will naturally conflict, but each write is not usually that expensive. going to sleep immediately instead of waiting a bit can greatly impact throughput. waiting for 50ms should be fine. Change-Id: I2d8e36ed7a0183bbc213490ebde2c79fc6e2f4b2
Lix
Lix is an implementation of Nix, a powerful package management system for Linux and other Unix systems that makes package management reliable and reproducible.
Read more about us at https://lix.systems.
Installation
On Linux and macOS the easiest way to install Lix is to run the following shell command (as a user other than root):
$ curl -sSf -L https://install.lix.systems/lix | sh -s -- install
For systems that already have a Nix implementation installed, such as NixOS systems, read our install page
Building And Developing
See our Hacking guide in our manual for instruction on how to to set up a development environment and build Lix from source.
Additional Resources
License
Lix is released under LGPL-2.1-or-later.
Description
Working fork of Lix - carries the adaptive load-aware build-remote patch. Upstream: gerrit.lix.systems
92 MiB
Languages
C++
74.9%
Python
11.7%
Nix
6.1%
Shell
3.6%
Meson
2%
Other
1.6%