forked from vbehar/jenkins-rundeck-plugin
-
Notifications
You must be signed in to change notification settings - Fork 61
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
[JENKINS-34510] Caching Rundeck requests on startup #24
Merged
gschueler
merged 17 commits into
jenkinsci:master
from
szpak-forks:tech/cachingOnStartupGH
Jul 20, 2016
Merged
[JENKINS-34510] Caching Rundeck requests on startup #24
gschueler
merged 17 commits into
jenkinsci:master
from
szpak-forks:tech/cachingOnStartupGH
Jul 20, 2016
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Minimal Java version increased to 7 (Jenkins has required it since early 2015).
Version with extensive logging.
Invalidation button can be used in case of changes.
Do prevent issue with OpenJDK. It was fixed in 1.19, but this version contains incompatible changes and code has to be adjusted. jmockit/jmockit1#196
Also JavaDoc added.
szpak
changed the title
[JENKINS-34510] Caching Rundeck requires on startup
[JENKINS-34510] Caching Rundeck requests on startup
May 1, 2016
Rebased against recent changes in master - it's ready to be merged ;) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
As described in JENKINS-34510 Jenkins startup time with 1500+ rundeck jobs can take multiple minutes due to 1500+ hit to Rundeck.
Proposed solution introduces in-memory cache for
findJob
method. Cache is implemented using Cache from Guava. Cache is disabled by default for backward compatibility. It can be enabled via Jenkins UI. In addition important parameters are configurable via XML. Cache stats and invalidation operations are available from Jenkins UI.There are places in code that I'm not satisfies with, but Jenkins limitations (or my little knowledge about its internals) and/or an intention to reduce number of modified places in code held me back. Please do a code review and hopefully merge it into master.
Btw, to reduce boiler plate code in a few places I bump required Java version to 7 (which has been required by Jenkins since early 2015).