Fix persistent hash mismatch errors when importing

[?]
Nov 10, 2020, 3:05 AM
GPUIIYUKOCYHVF5VWXSGSW2LT6WWTQY6XZPWLFKZJJFIKHWO4Q2QC

Dependencies

  • [2] N3G7LLGE Get data needed by getBuildOutput() from the incoming NAR in a streaming fashion
  • [3] AOQVBDWP Copy paths in the right order
  • [4] 5JMO43B4 buildRemote(): Copy paths to the destination store in O(1) memory
  • [*] 5AIYUMTB Basic remote building

Change contents

  • edit in src/hydra-queue-runner/build-remote.cc at line 484
    [3.1896][3.1896:2000]()
    to << cmdDumpStorePath << localStore->printStorePath(path);
    to.flush();
  • edit in src/hydra-queue-runner/build-remote.cc at line 490
    [2.491]
    [2.491]
    /* Note: we should only send the command to dump the store
    path to the remote if the NAR is actually going to get read
    by the destination store, which won't happen if this path
    is already valid on the destination store. Since this
    lambda function only gets executed if someone tries to read
    from source2, we will send the command from here rather
    than outside the lambda. */
    to << cmdDumpStorePath << localStore->printStorePath(path);
    to.flush();