Mixed Nix versions from host and hydra can cause forced upgrades to the Nix database.
Nobody has claimed this yet.
- Dominant language
- PLpgSQL
- Stars
- 1.6k
- Forks
- 358
- Avg merge
- 20h 30m
- Merged PRs (30d)
- 27
Description
I am running Hydra on "Ubuntu 10.04.4 LTS" (lucid). The host has Nix 1.1-1 installed from the 1.1 release page, downloaded as a .deb for 10.04.
There is a mismatch between the libsqlite3 library used by the host Nix and the Nix inside the Hydra closure.
The "host" Nix links dynamically against libsqlite3.so version 3.6.22-1, as provided by Ubuntu 10.04.
The Nix inside the Hydra closure links against libsqlite3.so version 3.7.13.
After 3.7.0, sqlite3 supports Write-Ahead Logging, and this is incompatible with older versions of sqlite3.
AFAICT, installing and running Hydra will upgrade the sqlite3 datastore, rendering the host Nix installation unusable.
The simple workaround, just installing the Nix from Hydra's closure into the user-specific Nix profile works just fine, of course, but it's a bit surprising that this is necessary. I didn't see any prominently displayed warning about this breaking upgrade when I started the Hydra services.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source file or test is named. Start by tracing how Hydra services select the host Nix versus the Nix in the closure and how the SQLite datastore is opened, comparing SQLite 3.6.22 with 3.7.13. Done should prevent an unexpected database upgrade or provide a prominent warning about the incompatibility.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- sqlite
- Domain
- build-system, databases, devops
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100