Make queue item expiration configurable via Java system property #9901
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Related to https://issues.jenkins.io/browse/JENKINS-26228, https://issues.jenkins.io/browse/JENKINS-31039.
The cache we use doesn't seem to allow for a guaranteed minimum duration without allowing infinite growth, but tunable settings seem like a start (and in the future, increase defaults). I chose 10k as the max size to support busy instances without allowing them to go oom too easily, but this value is a wild guess. Even significant increases in duration seem to be the primary reason for cache eviction.
For now for the PR build and to allow feedback on approach.
See JENKINS-XXXXX.
Testing done
Ran
java -Dhudson.model.Queue.LEFT_ITEMS_CACHE_EXPIRATION_SECONDS=20 -jar jenkins.war
and confirmed items disappeared (/queue/item/NN/
404) ~20 seconds after becomingLeftItem
s.Proposed changelog entries
Proposed upgrade guidelines
N/A
Submitter checklist
Desired reviewers
@mention
Before the changes are marked as
ready-for-merge
:Maintainer checklist