1
1
Fork 0
mirror of https://github.com/NixOS/nix.git synced 2025-11-10 04:26:01 +01:00
Commit graph

21542 commits

Author SHA1 Message Date
Eelco Dolstra
19f89eb684 Avoid isValidPath(), use queryPathInfo() instead
Since recently we call isValidPath() a lot from the evaluator,
specifically from
LocalStoreAccessor::requireStoreObject(). Unfortunately, isValidPath()
uses but does not populate the in-memory path info cache; only
queryPathInfo() does that. So isValidPath() is fast *if* we happened
to call queryPathInfo() on the same path previously. This is not the
case when lazy-trees is enabled, so we got a lot of superfluous,
high-latency calls to the daemon (which show up in verbose output as
`performing daemon worker op: 1`).

Similarly, `fetchToStore()` called `isValidPath()` as well.

The fix is to use `queryPathInfo()`, which for one particular eval
reduced the number of daemon calls from 15246 to 2324. This may cause
Nix to fetch some unnecessary information from the daemon, but that
probably doesn't matter much given the high latency.
2025-07-21 19:56:15 +02:00
detsys-spaghetti[bot]
47281531ec
Merge pull request #156 from DeterminateSystems/release-v3.8.4/1d13d4f3-4d7b-40f3-bd21-4367a87321a5
Release v3.8.4
2025-07-21 02:55:55 +00:00
github-actions[bot]
9c25491a15
Generate release notes for 3.8.4 2025-07-21 02:37:12 +00:00
github-actions[bot]
fcf69d1809
Set .version-determinate to 3.8.4 2025-07-21 02:37:07 +00:00
github-actions[bot]
0813dc0310
Prepare release v3.8.4 2025-07-21 02:37:04 +00:00
Cole Helbling
55375cf2d6
Merge pull request #155 from DeterminateSystems/revert-150-concurrent-eval-cache
Revert "Use WAL mode for SQLite cache databases"
2025-07-21 01:06:39 +00:00
Graham Christensen
2b676c6e13
Revert "Use WAL mode for SQLite cache databases" 2025-07-20 17:54:52 -07:00
detsys-spaghetti[bot]
aa49e142fc
Merge pull request #153 from DeterminateSystems/release-v3.8.3/f94fb5ba-acbd-46c2-b441-796aa671a07b
Release v3.8.3
2025-07-18 18:49:34 +00:00
Cole Helbling
e1c2853f97
fixup release note wording 2025-07-18 11:41:48 -07:00
Graham Christensen
082ffc3745 Tweak the release notes 2025-07-18 14:39:29 -04:00
github-actions[bot]
8d478340a6
Generate release notes for 3.8.3 2025-07-18 18:17:32 +00:00
github-actions[bot]
e4a1c332a3
Set .version-determinate to 3.8.3 2025-07-18 18:17:27 +00:00
github-actions[bot]
7fb7e7ca68
Prepare release v3.8.3 2025-07-18 18:17:25 +00:00
Graham Christensen
6d12193606
Merge pull request #78 from DeterminateSystems/refactor-derivation-builder
Add support for external builders
2025-07-17 21:27:16 +00:00
Eelco Dolstra
3cabd4ff2e Improve error message parsing external-builders setting 2025-07-17 17:35:15 +02:00
Eelco Dolstra
e290b52613 Merge remote-tracking branch 'detsys/external-builder-under-build-user' into refactor-derivation-builder 2025-07-17 17:27:47 +02:00
Eelco Dolstra
adc16a4c70 Merge remote-tracking branch 'detsys/detsys-main' into refactor-derivation-builder 2025-07-17 17:17:28 +02:00
Cole Helbling
d3dc64b811 external-derivation-builder: chdir into tmpdir 2025-07-17 07:54:07 -07:00
Cole Helbling
51449d7a51 external-derivation-builder: run under build user, chown topTmpDir to builder
The chown to builder is necessary for granting the builder the ability to
access its entire ancestry (which is required on macOS for things like
mounting the build directory into a VM to work) while running under a
build user.

Eelco mentioned that the reason topTmpDir is generally 700 is because of
how the Linux chroot is setup, but since we do not use a chroot on macOS,
it's fine to make the build dir readable to the build user.
2025-07-17 07:53:47 -07:00
Graham Christensen
c299fba405
Merge pull request #150 from DeterminateSystems/concurrent-eval-cache
Use WAL mode for SQLite cache databases
2025-07-16 13:39:01 +00:00
Eelco Dolstra
c1b0b15708 Merge remote-tracking branch 'detsys/detsys-main' into refactor-derivation-builder 2025-07-15 18:52:12 +02:00
Eelco Dolstra
aff4ccd1a4 Use WAL mode for SQLite cache databases
With "truncate" mode, if we try to write to the database while another
process has an active write transaction, we'll block until the other
transaction finishes. This is a problem for the evaluation cache in
particular, since it uses long-running transactions.

WAL mode does not have this issue: it just returns "busy" right away,
so Nix will print

  error (ignored): SQLite database '/home/eelco/.cache/nix/eval-cache-v5/...' is busy

and stop trying to write to the evaluation cache. (This was the
intended/original behaviour, see AttrDb::doSQLite().)
2025-07-15 18:21:29 +02:00
Eelco Dolstra
dc77357e57 Improve handleSQLiteBusy() message
Closes https://github.com/NixOS/nix/pull/10319.
2025-07-15 18:10:07 +02:00
Eelco Dolstra
de560da745 Improve rendering of ignored exceptions
Instead of

  error (ignored): error: SQLite database '...' is busy

we now get

  error (ignored): SQLite database '...' is busy
2025-07-15 18:09:06 +02:00
Eelco Dolstra
35a8e9c71e
Merge pull request #141 from DeterminateSystems/external-builder-stdin
Add an `external-builders` experimental feature
2025-07-14 22:42:21 +02:00
Cole Helbling
dedc3b2fb0
Merge pull request #148 from DeterminateSystems/conditional-manual
Only build the manual on x86_64-linux
2025-07-14 18:27:26 +00:00
Cole Helbling
de158c335c fixup: document why we're not writing through stdin right now 2025-07-14 11:13:04 -07:00
Cole Helbling
5b27325bc2 Revert "external-derivation-builder: write the json doc into builder's stdin"
This reverts commit d1f57c5dae.
2025-07-14 11:00:13 -07:00
Eelco Dolstra
b029442553 Only build the manual on x86_64-linux
Otherwise the build will randomly fail on other platforms depending on
whether the result is already in the binary cache.
2025-07-14 19:55:33 +02:00
Cole Helbling
efa239875b Add an external-builders experimental feature 2025-07-14 09:07:32 -07:00
detsys-spaghetti[bot]
04045d5add
Merge pull request #147 from DeterminateSystems/release-v3.8.2/f8796ebd-ce7e-4551-a225-409806f242ea
Release v3.8.2
2025-07-12 14:16:53 +00:00
Cole Helbling
adab14705e
Merge pull request #146 from DeterminateSystems/sync-2.30.1
Sync with 2.30.1
2025-07-12 13:54:45 +00:00
github-actions[bot]
db0c2efeb4
Generate release notes for 3.8.2 2025-07-12 13:51:21 +00:00
github-actions[bot]
86fe0053f8
Set .version-determinate to 3.8.2 2025-07-12 13:51:16 +00:00
github-actions[bot]
e25be4a49c
Prepare release v3.8.2 2025-07-12 13:51:13 +00:00
Eelco Dolstra
dea86cd473 Tagging release 2.30.1
-----BEGIN PGP SIGNATURE-----
 
 iQFHBAABCAAxFiEEtUHVUwEnDgvPFcpdgXC0cm1xmN4FAmhyEcITHGVkb2xzdHJh
 QGdtYWlsLmNvbQAKCRCBcLRybXGY3lZeB/9D/FGpanG1tE/RgqJjJSrw0YKRPhFu
 +Qo+vCbW+ZjFdbXTHnWynpCO3/HJDf4AsXiSgUnhckS54hUZ2p10JIjOdCCWA8yh
 aZfBEfX8xWmgUU8tEbRVluUjwfTRVmuf+Y2znvoS++Ej2sNxip8I/gcd5nPb1G5M
 EEFB+/JKNVnFGdGwLdn5q6Ih5Z3XbnLHiSKMKCLhZTCBU6PWwpHbFgDgqreGNHyr
 jMkl2RFLzLvZhzIF7EYtO0PPDXWeDceQDrYzJKXYcWKHlrywAV6lGvKKhKW8l6OU
 a06c+I99M4LNIFK7ENraI2V408miRTvXmLPSQjCtkM1NM9+/cNZRtRlW
 =aYgN
 -----END PGP SIGNATURE-----

Merge tag '2.30.1' into sync-2.30.1

Tagging release 2.30.1
2025-07-12 12:53:18 +02:00
Eelco Dolstra
857365c859
Merge pull request #13458 from NixOS/mergify/bp/2.30-maintenance/pr-13455
Address ifdef problem with macOS/BSD sandboxing (backport #13455)
2025-07-12 08:55:18 +02:00
Graham Christensen
15871addd5
Merge pull request #145 from DeterminateSystems/push-lxmxkysvvluw
Try publishing the manual again
2025-07-12 00:34:31 +00:00
Graham Christensen
b96c3e4657 Maybe this helps 2025-07-11 20:27:37 -04:00
Graham Christensen
37071b2d2d Try publishing the manual again 2025-07-11 20:19:53 -04:00
Graham Christensen
2fc9a606e1
Merge pull request #144 from DeterminateSystems/grahamc-patch-1
ci: don't run the full test suite for x86_64-darwin
2025-07-12 00:08:49 +00:00
Graham Christensen
bbc9d6c4f5
ci: don't run the full test suite for x86_64-darwin
Since this platform represents a tiny fraction of our users and causes considerable delays in our release flow, let's disable the more extensive test suite on that platform.
2025-07-11 20:01:40 -04:00
detsys-spaghetti[bot]
8a1b94d705
Merge pull request #143 from DeterminateSystems/release-v3.8.1/2ab4e71d-c221-4d61-ab5e-4467bcc86717
Release v3.8.1
2025-07-11 23:19:09 +00:00
gustavderdrache
9497b593c6 CI: Roll nix version to 2.29.1
This works around the macOS issue that the prior commit addresses.

(cherry picked from commit 8e5814d972)
2025-07-11 23:09:58 +00:00
gustavderdrache
1cf202650a Address ifdef problem with macOS/BSD sandboxing
(cherry picked from commit e2ef2cfcbc)
2025-07-11 23:09:58 +00:00
github-actions[bot]
e6350604ba
Generate release notes for 3.8.1 2025-07-11 23:07:29 +00:00
github-actions[bot]
fd3e326fbf
Set .version-determinate to 3.8.1 2025-07-11 23:07:24 +00:00
github-actions[bot]
861b196bdc
Prepare release v3.8.1 2025-07-11 23:07:21 +00:00
Cole Helbling
ebcfa041fc
Merge pull request #142 from DeterminateSystems/gustavderdrache/push-twmsvkkqknuk
Address ifdef problem with macOS/BSD sandboxing
2025-07-11 22:37:27 +00:00
gustavderdrache
8e21e61a51 Address ifdef problem with macOS/BSD sandboxing 2025-07-11 18:01:51 -04:00