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

Bug 311621

Summary: MPC Should Cache Content of Tabs
Product: [Technology] MPC Reporter: Ian Skerrett <ian.skerrett>
Component: wizardAssignee: David Green <greensopinion>
Status: RESOLVED FIXED QA Contact:
Severity: blocker    
Priority: P1 CC: nathan
Version: unspecified   
Target Milestone: 1.0.0   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
mylyn/context/zip none

Description Ian Skerrett CLA 2010-05-04 16:11:52 EDT
If a user clicks on each of the tabs it seems like the content is not cached.  For performance reason the client should cache the content of the tabs.
Comment 1 David Green CLA 2010-05-04 23:23:44 EDT
A bug was causing screenshot images to be reloaded every time solutions were retrieved from the marketplace.
A caching strategy has been implemented that reduces the need for queries to the marketplace REST service.
Comment 2 David Green CLA 2010-05-04 23:23:50 EDT
Created attachment 167072 [details]
mylyn/context/zip
Comment 3 Nathan Gervais CLA 2010-05-14 15:40:29 EDT
Marketplace still seems to be fetching the list each time you swap back and forth between tabs.

In order for this to be scalable with the number of connections we need for the main queries, featured, popular, recent to be cached for at least the duration of the MPC's lifetime.
Comment 4 David Green CLA 2010-05-14 19:46:04 EDT
(In reply to comment #3)
> Marketplace still seems to be fetching the list each time you swap back and
> forth between tabs.

MPC caches server responses for the lifetime of the MPC dialog.  As soon as you close/reopen the dialog all previously cached results are discarded.  A maximum of 30 requests are cached: when this number is exceeded the least recently used request is removed from the cache.

MPC also performs other kinds of requests:
* retrieving images (screenshots, icons)
* check for updates
* verify availability (site verifier)

The site verifier is run by p2 and hits the respective update sites of nodes that have ius specified.  The results of check for updates are cached on a per-node basis for the lifetime of the dialog.  Images are cached also.

As far as I know the only component here that is not using caching is the p2 site verifier.

In my testing here it all seems to be working for me.  Do you have a specific set of steps to reproduce?
Comment 5 David Green CLA 2010-05-26 11:43:24 EDT
Fixed, please reopen if you continue to see problems with version 1.0.0.v20100520-0117 or later.