NixOS / nix

Nix, the purely functional package manager
https://nixos.org/
GNU Lesser General Public License v2.1
12.19k stars 1.47k forks source link

SSH substituter doesn't use compression? #8793

Open thomasjm opened 1 year ago

thomasjm commented 1 year ago

Describe the bug

When I use an SSH substituter, it seemingly doesn't compress the data as it's being sent.

In the GIF below, I'm trying to use my substituter. As you can see, the total download number is ticking up, but not the "DL" number. Correct me if I'm wrong, but I've heard that the left number represents the total uncompressed bytes that end up in the store, while the right number represents the number of (compressed) bytes going over the network.

As a result, it's trying to send almost 5GB over the network (!) when it should be sending a lot less.

nix_ssh_no_compression

Steps To Reproduce

  1. Set up an SSH Nix substituter and build a derivation that the substituter has.
  2. Watch the numbers.

Expected behavior

The "DL" number should tick up as the substituter path(s) are fetched.

nix-env --version output

nix-env (Nix) 2.16.2
kjeremy commented 12 months ago

I think I'm seeing the same thing using ssh-ng://. Is there an option to set?