You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I think I know what to do here but it's slightly tricky. We might be able to reuse it for tool installs though. We want to create the environment in one location, then relocate it to the final location (probably by symlinking so that it's atomic). But we can't do this naively because we need the interpreter in any installed scripts to use the path of the final location.
…nts (#5509)
## Summary
The idea here is similar to what we do for wheels: we create the
`CachedEnvironment` in the `archive-v0` bucket, then symlink it to its
content-addressed location. This ensures that we can always recreate
these environments without concern for whether anyone else is accessing
them.
Part of the challenge here is that we want the virtual environments to
be relocatable, because we're now building them in one location but
persisting them in another. This requires that we write relative (rather
than absolute) paths to scripts and entrypoints. The main risk with
relocatable virtual environments is that the scripts and entrypoints
_themselves_ are not relocatable, because they use a relative shebang.
But that's fine for cached environments, which are never intended to
leave the cache.
Closes#5503.
Right now, it's possible that we'd modify an environment that's in-use by another process.
The text was updated successfully, but these errors were encountered: