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