Issue Details (XML | Word | Printable)

Key: CONF-10535
Type: Bug Bug
Status: Open Open
Priority: Major Major
Assignee: Unassigned
Reporter: David Taylor [Atlassian]
Votes: 15
Watchers: 20
Operations

Add/Edit UI Mockup to this issue
If you were logged in you would be able to see more operations.
Confluence

Browse Space - Alphabetical and Tree Views are too slow on large spaces

Created: 22/Jan/08 09:08 PM   Updated: 05/Nov/08 07:25 PM
Component/s: Pages, Performance, Spaces
Affects Version/s: 2.7
Fix Version/s: None

Time Tracking:
Not Specified

File Attachments: 1. Text File space.txt (11 kB)

Issue Links:
Blocker
 
Reference

Participants: Dave Drexler, David Taylor [Atlassian], David Yu [Atlassian], Don Willis [Atlassian], Gurleen Anand [Atlassian], Jeremy Largman [Atlassian], Joseph Benjamin, Matt Ryall [Atlassian] and Wiki Support Cisco
Since last comment: 6 weeks, 4 days ago
Internal Complexity: 5
Support reference count: 9
Internal Value: 7
Labels:


 Description  « Hide
Internal view of CONF-10333, from CSP-1435.

In the support issue, the user had ~6000 pages in a space. Current logic has three "slow" points:

1. When the user clicks "Alphabetical", the search is run on the whole space.
2. In listpages-alphaview.vm the getItems call (which runs the search) is directly called twice in addition to the (correct) call through the paginationSupport delegate.
3. The search itself "getPermittedEntitiesOf(spaceManager.getPagesStartingWith(getSpace(), startString));" is very slow.

1 is a design problem - no upper limit is set on the number of pages returned
2 is an easy fix, doing now.
3 is the actual problem - Charles' comments in CONf-9972 could be very helpful.



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
David Taylor [Atlassian] added a comment - 24/Mar/08 05:29 PM
Making issue public.

Joseph Benjamin added a comment - 26/Mar/08 07:41 AM
Glad to hear this issue is public and being worked on. I have a space with 1000 pages and it is also very slow (about 2 minutes to load).

It affects the alphabetical as well as tree view listing of pages
I can provide more information and/or help test with patches if required.

Thanks
Joseph


Joseph Benjamin added a comment - 22/Apr/08 07:37 AM
Is there a way to hide the links so the user cannot click on the Alphabetical or hierarchy listings? The users would be forced to Search or click from the recently updated pages. This is not ideal to say the least but at least the space would be usable.
Another idea might be to hard code the two links to go to the "A" section.
The only other workaround I saw manipulating URL but it was not practical for normal non-technical users who just want to view and edit pages.

any help would be greatly appreciated.
thanks


Jeremy Largman [Atlassian] added a comment - 29/Apr/08 02:00 AM
Attached is the text for a customized layout that hides the page links.
  1. Browse Space > Space Admin > Layouts
  2. Choose "Create Custom" next to Space Layout
  3. Paste the contents of space.txt, attached here

You'll have to have just chosen 'recently updated' view so it'll be remembered. If you haven't done that, just choose recently updated view for a different space then replace the space key for your large space and you'll land on the recently updated view.


Matt Ryall [Atlassian] added a comment - 26/May/08 04:49 PM
Note: The attached space layout is only for 2.7.x and will not work properly in 2.8 or later. You can still customise the decorator Jeremy describes above to manually remove the links, however.

Dave Drexler added a comment - 27/Jun/08 10:27 AM
This is an even more acute issue in v2.8+.

Our wiki has about 7000 pages in one space, and almost all are at the root level; ie, there's very little hierarchy. Each time someone requests a tree view, it consumes what seems like an awful lot of system resources and takes a couple of minutes.

Users see the new Location: Edit link in the bottom of the Edit screen and click it, and nothing seems to happen. They Save or Cancel. But because the Location: Edit field defaults to the state in which it was left, the next time the user goes to edit something, the process runs again, even though the user did not explicitly call for it. Because the Location field is building at the bottom of the screen, the user might not even know that something's going on, and has no idea why their browser is suddenly bogging down and hanging.

Multiply the default-open Location field by a few users, and now our server is crawling and timing out and throwing errors. This is a serious problem for us.

Certainly the right fix is to eliminate the huge demand caused by a a request for a long list of pages. But I also think you want to change the defaulting behavior of the Edit screen. The other fields (Labels and Restrictions) do not behave this way - they always default to their closed state.


Don Willis [Atlassian] added a comment - 30/Jun/08 01:45 AM
Hi Dave, thanks for adding that. CONF-10535 changes the default behaviour of the edit screen from 2.9 onwards.

Dave Drexler added a comment - 08/Jul/08 09:39 AM
I've been using the AJAX pagetree method of editing a page's location. For installations with many thousands of pages, this new method is much less convenient than the previous approach.

For example, I wanted to change a page's parent from "Common" to "VSS". Not only did I have to wait for over a minute for Firefox to render the pagetree, but then I had to drag the page to the new location by scrolling the pagetree through thousands of pages. Not fun.

Maybe you want to give users the choice of using the old location-editing approach (simply entering a new parent page name), plus the new visual drag and drop approach?


Wiki Support Cisco added a comment - 08/Jul/08 03:30 PM
Hi,
We are facing a similar issue with one of our spaces.

While you are working on fixing the issue, could you please provide us a patch which would direct the url to

http://<hostName>/confluence/pages/listpages-alphaview.action?key=<SpaceKey>&startsWith=a instead of http://<hostName>/confluence/pages/listpages-alphaview.action?key=<SpaceKey>

This way the user would atleast not see the null point exception.

Thanks and Regards
Aditee Pandey
Wiki Support
Cisco


David Yu [Atlassian] added a comment - 14/Oct/08 01:47 AM - edited
I filed a new bug where Tree View hangs Internet Explorer: http://jira.atlassian.com/browse/CONF-13373

The symptoms are somewhat different in that it's only affecting Internet Explorer, Alphabet View works fine, FireFox works fine. The one I filed appears more to be a javascript issue with IE7.


Gurleen Anand [Atlassian] added a comment - 16/Oct/08 09:02 PM
A workaround to change the default mode, to list only pages starting with 'a', as suggested by Chris:
Edit the <Confluence-Install>/confluence/web-inf/lib/confluence-x.x.x.jar/plugins/space-pages-sections.xml file:

Change:

<link>/pages/listpages-alphaview.action?key=
$generalUtil.urlEncode($helper.spaceKey)</link>

To be:

<link>/pages/listpages-alphaview.action?key=
$generalUtil.urlEncode($helper.spaceKey)&startsWith=a</link>