Factor our connection code for worker proto like serve proto#10782
Factor our connection code for worker proto like serve proto#10782edolstra merged 1 commit intoNixOS:masterfrom
Conversation
This increases test coverage, and gets the worker protocol ready to be used by Hydra. Why don't we just try to use the store interface in Hydra? Well, the problem is that the store interface works on connection pools, with each opreation getting potentially a different connection, but the way temp roots work requires that we keep one logical "transaction" (temp root session) using the same connection. The longer-term solution probably is making connections themselves implement the store interface, but that is something that builds on this, so I feel OK that this is not churn in the wrong direction. Fixes NixOS#9584
Not sure I follow. IIRC NixOS/hydra#1200 performs the copying and building in one process ( I guess there is an architectural issue with temp roots, remote stores and connection pooling, but that's not really Hydra-specific. Regardless, 👍 on factoring out the protocol code. |
|
@edolstra Yeah I mean short of your PR, with the current architecture. It is true with your PR this sort of stuff is not needed, but per
I think it is a fine thing to do anyways, or at least neutral enough that we shouldn't worry about doing it and then it becoming unnecessary. |
|
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: |
Motivation
This increases test coverage, and gets the worker protocol ready to be used by Hydra.
Why don't we just try to use the store interface in Hydra? Well, the problem is that the store interface works on connection pools, with each operation getting potentially a different connection, but the way temp roots work requires that we keep one logical "transaction" (temp root session) using the same connection.
The longer-term solution probably is making connections themselves implement the store interface, but that is something that builds on this, so I feel OK that this is not churn in the wrong direction.
Context
Fixes #9584
Progress on NixOS/hydra#688
Priorities and Process
Add 👍 to pull requests you find important.
The Nix maintainer team uses a GitHub project board to schedule and track reviews.