-
-
Notifications
You must be signed in to change notification settings - Fork 11
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
[INFRA-2821] Remove unused incrementals #2386
Comments
Jesse Glick What criteria would be useful to determine which incrementals to delete? Artifactory offers the following in metadata:
The trivial one would be number of downloads = 0; but we may have scrapers than make this somewhat meaningless. |
From my PoV anything older than, say, a year can probably be deleted. Simple enough. In the unlikely event you still have an active PR referring to such an old version as a dependency which you are resurrecting work on, you should just switch the dep to a newer version (release or incremental, depending on whether or not the upstream PR has been released yet). You can also recreate the old incremental version locally (for non-CI exploration) via cd …/upstream
git checkout $commithash
mvn -Dset.changelist -DskipTests install
|
I should prioritize |
Long since done so as far as I am concerned there should be no obstacle to implementing a simple time-based expiry if there is any impetus to save disk space. |
Putting this issue again on the Artifactory "2025 cleanup" EPIC (tbd by @MarkEWaite ). @darinpope is leading this subject, I've invited him as "triage" in the helpdesk repository so we can assign him the issue (and audit will be followed here). Ref. https://groups.google.com/g/jenkinsci-dev/c/6_X0ABdLAgE/m/3XwzSn1xEAAJ |
I did a quick one-off to verify my delete generator works as expected:
|
The current general plan is to delete anything in After we get everything cleaned up, we'll look at setting a lifecycle, i.e. delete anything older than 28 days (or whatever), on the repo. |
The thing about incrementals is that they are release candidate versions. People can use them for quite awhile as they are waiting for a fix to be released. i.e. They are supported in docker images via plugin-manager-cli. With JEP-229 its gotten a lot better and its used less than it was for that but I don't know if a blanket time based policy is enough. Can we do time based and usage? e.g. if 0 downloads then delete after 28 days. |
I don't object to the rule "if 0 downloads then delete after 28 days" so long as we also have "delete if older than 90 days". I think that one download of an incremental is not enough to justify retaining it forever. |
This is intended to be used only for validating an open PR, for example one purporting to fix a bug that does not have clear steps to reproduce. A production controller should not be running an incremental plugin version indefinitely. We also no longer publish incremental releases from branches, only PRs, and if a PR you depend on critically has not been touched in months, it is time to adopt the plugin. I think a simple time-based policy is fine, though a month seems a bit aggressive. If we just want to reduce 90% of the repo size (or whatever), we could give a longer grace period and see where that gets us. |
I can do Is everyone ok-ish with 90 days instead of 28 and then re-evaluate later? |
I am OK with 90 days, then we re-evaluate |
90 days sounds like a really good start! |
Yeah 90 days should be fine. |
ok, I'll go with 90 days. Getting ready to make a pass at:
FWIW, the last item outside of 90 days is:
going back to
|
delete of jenkins-core files ended around 2:35p Central. Total directories deleted = 8954 |
delete of jenkins-war files ended around 4:45p Central (2h4m) Total directories deleted = 8954 |
I haven't gone dark on this. I've been slowly but surely dumping the "older than 90 days" from I'm doing it 50k at a time as recommended from some JFrog documentation. On my connection, it takes about 8 hours for 50k to process, so I'm getting about 100k deleted each day. |
Sounds reasonable, anything else to do before closing this? |
good question. Should we use this same issue to setup a scheduled job to keep incrementals clean or should we setup a different issue? |
I would have a preference for scoped smaller issues that are clear when complete, i.e. a new one. |
+1 with @timja : can we make a new issue for the GC? |
Next steps in #4533 |
TBD whether we need to do this, but /incrementals repo uses 300GB, while actual /releases has just 220GB. If not now, then at some point in the not too distant future.
Originally reported by danielbeck, imported from: Remove unused incrementals
The text was updated successfully, but these errors were encountered: