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

Make PRESERVE_TIERED_INSTALLED the default #3905

Open
IanButterworth opened this issue May 22, 2024 · 6 comments
Open

Make PRESERVE_TIERED_INSTALLED the default #3905

IanButterworth opened this issue May 22, 2024 · 6 comments

Comments

@IanButterworth
Copy link
Member

Since PRESERVE_TIERED_INSTALLED was added to Pkg.add in 1.9 I've had it enabled as the default via the env var

JULIA_PKG_PRESERVE_TIERED_INSTALLED = true

and I've not seen any issues with getting stuck on older package versions, as was feared.

In short it tries harder to avoid updating packages that are already installed, to minimize installation and re-precompilation.

Given precompilation times have been increasing as precompilation workload coverage increases I think it would be good to make that the default behavior.

It'd be good to hear from others that have used that setting to see if there are any negatives identified.

@fredrikekre
Copy link
Member

Xref #3890 (comment)

@jakobnissen
Copy link
Contributor

jakobnissen commented May 27, 2024

I have also set ENV["JULIA_PKG_PRESERVE_TIERED_INSTALLED"] = true in my startup.jl for ages - at least a year. and I haven't had any issues. Though to be fair, I do fairly frequently disable startup.jl when I'm developing packages. I agree this is a better default for most people.

@IanButterworth
Copy link
Member Author

I just had my first case of being bitten by this behavior, where I didn't get the latest version in a fresh env JuliaIO/JLD2.jl#608 (comment)

Might be reason not to make it the default.. I'm not sure

@fonsp
Copy link
Member

fonsp commented Nov 20, 2024

I think this feature is amazing and it's a good default! It's already set as default for all Pluto users. We don't get much feedback about it, which is probably a good sign :)

@IanButterworth
Copy link
Member Author

It's already set as default for all Pluto users

😬

@MasonProtter
Copy link
Contributor

I think the problem with PRESERVE_TIERED_INSTALLED is that you're unlikely to experience serious problems with it for the first N months you use it, but the longer you have it enabled the more likely you are to end up with a supremely weird, broken combination of packages.

I'd be pretty cautious about making this the default behaviour, especially because we still don't have a satisfactory story around testing the lower limits of a package's compat bounds.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants