Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 324873 - [repository] Share IUs for Composite Repositories
Summary: [repository] Share IUs for Composite Repositories
Status: RESOLVED FIXED
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: p2 (show other bugs)
Version: 3.7   Edit
Hardware: PC All
: P3 normal (vote)
Target Milestone: 3.7 M5   Edit
Assignee: Dean Roberts CLA
QA Contact:
URL:
Whiteboard:
Keywords: performance
Depends on:
Blocks: 329384 333894
  Show dependency tree
 
Reported: 2010-09-09 13:13 EDT by DJ Houghton CLA
Modified: 2011-01-19 16:42 EST (History)
3 users (show)

See Also:
dj.houghton: review+


Attachments
Add ObjectPool to share IUs during CompositeRepository load (15.82 KB, patch)
2010-12-02 14:37 EST, Dean Roberts CLA
no flags Details | Diff
patch (18.52 KB, patch)
2011-01-19 16:41 EST, DJ Houghton CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description DJ Houghton CLA 2010-09-09 13:13:18 EDT
Currently the way composite repositories are represented, they contain a collection of all their children and the children are loaded in full. 

Consider the case where we have a composite repository and its children contain only incrementally different IUs. (for instance, where we have a parent which represents the I-builds and each child is a different I-build, with some IUs remaining the same)

In this case there is an opportunity to avoid duplication... if the same IU exists in 4 children repositories then it could only exist once in memory.
Comment 1 Dean Roberts CLA 2010-12-02 14:37:58 EST
Created attachment 184386 [details]
Add ObjectPool to share IUs during CompositeRepository load

This patch defines some new API which requires the bundle version for org.eclipse.equinox.p2.core to be incremented.  However, there are a large number of bundles that have very narrow requires ranges.  In addition these bundles also define both a requires and an import packages for the same bundle but with different version ranges.

John A. is posting some questions on the mailing list and is looking into this.  As such, the bundle version number change is not included in this patch.
Comment 2 DJ Houghton CLA 2011-01-19 16:41:30 EST
Created attachment 187153 [details]
patch

Updated patch.
Comment 3 DJ Houghton CLA 2011-01-19 16:42:21 EST
Patch released.