Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 289161 - [Webapp] In large infocenter, creating new search scope causes IE browser to hang.
Summary: [Webapp] In large infocenter, creating new search scope causes IE browser to ...
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: User Assistance (show other bugs)
Version: 3.4   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.6 M7   Edit
Assignee: Chris Goldthorpe CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-09-10 19:56 EDT by Missing name CLA
Modified: 2010-04-02 18:51 EDT (History)
1 user (show)

See Also:


Attachments
org.eclipse.help.webapp/advanced/workingSet.jsp with workaround (12.66 KB, text/plain)
2009-09-10 19:59 EDT, Missing name CLA
no flags Details
Patch for org.eclipse.help.webapp/advanced/workingSet.jsp (2.49 KB, patch)
2009-09-25 21:17 EDT, Missing name CLA
cgold: iplog+
Details | Diff
Patch against HEAD with strings in resource file (3.22 KB, patch)
2010-04-02 18:47 EDT, Chris Goldthorpe CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Missing name CLA 2009-09-10 19:56:19 EDT
User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.13) Gecko/2009073022 Firefox/3.0.13
Build Identifier: 3.4

Our infocenter contains around 200 primary TOCs and 2000 plugins.  When creating a new search scope in Internet Exploer, the browser is very slow or hangs.  The problem doesn't appear to happen in Firefox.

We've traced the issue to the advanced/workingSet.jsp in the org.eclipse.help.webapp plugin.  The problem is that every keystroke invokes the enableOK() function, which
eventually calls getSelectedResources() that loops through every single entry in the TOC.

Our workaround is to comment out enableOK(), and put its code in doSubmit().  In doSubmit(), if the user hasn't created a search scope name or selected a topic, display an alert message.  We've had positive feedback about this alert message because it tells users what's missing.  The workaround is still slow, but a big improvement.

We applied this workaround in 3.4.  The problem still exists when we upgraded the webapp to 3.5 so we put the same workaround.




Reproducible: Always

Steps to Reproduce:
1.  Create an infocenter with many primary TOCs, say 200.  (Not sure what
the lower limit is.)
2.  Using Internet Explorer browser, click on "Search Scope", then "New".
3.  Type the name of your search scope.  This will be very slow (could hang for minutes depending on number of TOCs).
4.  Select some topics and submit.  This will also be very slow.
Comment 1 Missing name CLA 2009-09-10 19:59:32 EDT
Created attachment 146918 [details]
org.eclipse.help.webapp/advanced/workingSet.jsp with workaround
Comment 2 Chris Goldthorpe CLA 2009-09-11 14:04:23 EDT
I have been taking a look at the attachment - unfortunately when I copy it to my workspace and open in the compare editor to compare to the previous version I see a lot of differences which are only whitespace so it's hard to tell what all the changes are. Having said that the concept seems like an improvement over the way the dialog works at present - we could further improve the error handling by creating a different message for each of the ways in which it could fail to validate. The messages would need to be added to the properties file so they can be localized.

Can you create a workbench patch so it is easier to see which lines were changed? If so I should be able to include this in Eclipse 3.6.
Comment 3 Missing name CLA 2009-09-25 21:17:14 EDT
Created attachment 148182 [details]
Patch for org.eclipse.help.webapp/advanced/workingSet.jsp
Comment 4 Chris Goldthorpe CLA 2010-04-02 18:47:28 EDT
Created attachment 163751 [details]
Patch against HEAD with strings in resource file
Comment 5 Chris Goldthorpe CLA 2010-04-02 18:51:24 EDT
Patch against HEAD committed. Fixed. I was able to reproduce the problem using a toc provider, it started to get slow with around 1000 first level topics and was almost unusable at 5000.