Reuse embedded OSGi container in tests#649
Merged
asfgit merged 1 commit intoapache:masterfrom Apr 28, 2017
Merged
Conversation
Merged
…ory) primary change is in OsgiManager, to leave frameworks running build times including test reduced from 17m to 11m on my box, saving 6m in CAMP (from 7m to 1m)! have done some assertions that starting a framework takes 200ms each time, plus it leaks a couple MB, so it's a bad idea to bake this in to our unit tests. (see comments in new OsgiTestingLeaksAndSpeedTest for full details.) have also "confirmed" that reusing a running framework has no adverse impact, after we remove bundles that a test installs (all tests pass in reusable mode except a few which asserted the cache dir is deleted (as it no longer is) and these still pass in non-reusable mode)
Contributor
|
This all looks good to me; tests all pass, with speedup (just for brooklyn-server build) on my machine from 12:20 min to 09:05 min. Will merge. |
asfgit
pushed a commit
that referenced
this pull request
Apr 28, 2017
Reuse embedded OSGi container in tests This speeds up build time from 17m to 11m on my machine by reusing OSGi framework containers where possible. That also fixes an OSGi container which is causing lots of build failures on Jenkins. See the last commit which is the only thing new, and the `OsgiManager` class is the main significant difference in that. Other things are just wiring to control bundle reuse or not. This includes #645 and #647 so if this build passes we can assume the failures in those PR's are ignorable (they seem to be due to memory leaks). But merge those before merging this (and I can rebase this if needed once they are merged.) /cc @neykov @aledsage @geomacy
This file contains hidden or 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
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.
This speeds up build time from 17m to 11m on my machine by reusing OSGi framework containers where possible. That also fixes an OSGi container which is causing lots of build failures on Jenkins.
See the last commit which is the only thing new, and the
OsgiManagerclass is the main significant difference in that. Other things are just wiring to control bundle reuse or not.This includes #645 and #647 so if this build passes we can assume the failures in those PR's are ignorable (they seem to be due to memory leaks). But merge those before merging this (and I can rebase this if needed once they are merged.)
/cc @neykov @aledsage @geomacy