Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cacheable Processes do not play well with non-lockfile resolves. #12199

Closed
jsirois opened this issue Jun 14, 2021 · 3 comments
Closed

Cacheable Processes do not play well with non-lockfile resolves. #12199

jsirois opened this issue Jun 14, 2021 · 3 comments
Labels
backend: JVM JVM backend-related issues

Comments

@jsirois
Copy link
Contributor

jsirois commented Jun 14, 2021

Currently Python requirement resolution is implemented via a cached Process (a Pex command line). Say there is exactly one un-pinned requirement and no lockfile: "ansicolors". Once the resolve completes, "ansicolors" will not be re-resolved until:

  1. The lmdb store is blown away.
  2. The remote cache is blown away.
  3. Some combination of Pants flags is used to turn off both local and remote caching.

Note that approach 3 is ephemeral, and the old cached version of "ansicolors" will come right back when the flags are no longer used.

It appears coursier_fetch has the same issue.

@jsirois jsirois added python backend: JVM JVM backend-related issues labels Jun 14, 2021
@jsirois
Copy link
Contributor Author

jsirois commented Jun 14, 2021

@Eric-Arellano lock files are one way to solve this. If you re-generate a lock file, that will find the new versions and all is well. The problem, though, is lockfiles are not required.

@jsirois
Copy link
Contributor Author

jsirois commented Jun 14, 2021

@patricklaw this affects coursier rules as well. I'm pretty sure its not an important problem, but it does seem like a logical one and I'm not sure of the best way to solve it if we eventually need to.

@stuhood
Copy link
Sponsor Member

stuhood commented Oct 1, 2021

We're headed in the direction of lockfiles for all languages, so I'm going to close this in favor of those tickets:

@stuhood stuhood closed this as completed Oct 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend: JVM JVM backend-related issues
Projects
None yet
Development

No branches or pull requests

3 participants