Community
Participate
Working Groups
When in 3.6 we changed the handling of greed, the code in the slicer got changed such that the non greedy requirements would be followed and gathered in a special variable (but not added to the slice). Unfortunately when requirements like those present in the tooling.osgi.default are processed, they cause pretty much all the IUs to be added to this special variable. Even though this may not be causing us a memory problems in the immediate term (because all the IUs are always loaded in memory by the repository manager), this is still causes some garbage to be created and slightly slows down the overall process (in addition of being a time bomb if we ever make repository loading smarter). My suggestion is to change the slicer such that the set of non greedy IUs is gathered on a second pass over the result of the initial slicing.
Created attachment 177172 [details] Change to the slicer
Marking this for 3.6.1 so we don't loose track of it.
I discussed the issue with Pascal and checked the patch: this is indeed the way we should have implemented the collection of non greedy requirements in the first place, in a post processing step.
Fixed in HEAD and 3.6.x
There was a problem with tagging HEAD so this fix won't appear in integration builds until the first build after 3.7 M2.