Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 347477

Summary: Only load p2 artifact repositories if an artifact is missing in local cache
Product: z_Archived Reporter: Tobias Oberlies <t-oberlies>
Component: TychoAssignee: Tobias Oberlies <t-oberlies>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: david_williams, steffen.kriese, steffen.pingel
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:
Bug Depends on: 393004    
Bug Blocks:    

Description Tobias Oberlies CLA 2011-05-27 11:47:07 EDT
Tycho caches all p2 artifacts in the local Maven repository. The LocalMavenRepository implementation is able to answer the question if a specific IArtifactKey is available. Therefore the p2 resolver could postpone the loading of the (remote) p2 artifact repositories to the point where it finds a locally unavailable artifact in the resolved target platform. The target platform resolution is solely based on p2 metadata, so this is possible.

This cuts down the typical, total number of HEAD http requests to half (-> no more requests to the artifact repos), with bug 347403 fixed possibly even to a much lower percentage. The number of http round trips is the reason why "Adding repository http://download.eclipse.org/releases/helios" takes so long.
Comment 1 Tobias Oberlies CLA 2011-06-06 06:51:44 EDT
Changing severity to normal, because this is a serious performance bug. Scheduling for 0.13
Comment 2 Tobias Oberlies CLA 2011-08-16 03:57:34 EDT
I probably won't have time to fix this for 0.13...
Comment 3 Tobias Oberlies CLA 2013-03-15 12:24:31 EDT
This behaviour is already implemented in the (currently still partial) patch for bug 393004.
Comment 4 Tobias Oberlies CLA 2013-06-24 06:59:44 EDT
This performance improvement comes with this change: https://git.eclipse.org/r/#/c/9333/
Comment 5 Tobias Oberlies CLA 2013-07-08 05:33:34 EDT
This problem is fixed as part of this larger commit: http://git.eclipse.org/c/tycho/org.eclipse.tycho.git/commit/?id=9fa0c707522eb0dcf37be2cec4d6a99d6c9bb484