-
Bug
-
Resolution: Fixed
-
Highest
-
5.10.0, 6.12.4, 7.4.4, 7.11.1, 7.11.2, 7.12.0, 7.12.1, 7.13.0, 7.13.2
-
91
-
Severity 2 - Major
-
591
-
To resolve this issue you will need to enable the faster permissions service on your site.
If you've previously applied system properties to limit how many pages the children display macro can display as a workaround, you can remove these properties once you've enabled the faster permissions service.
1 - Summary
We need to improve the performance of permission checks in Confluence. The Children Display Macro is heavily affected by this issue. Currently, admin users are not affected by this issue.
2 - Steps to reproduce:
- Install a Confluence 5.10.
- Create a space.
- Create around 3000 pages with the following command, replacing the "< >" tags:
for ((i=1;i<=3000;i++)) ; do curl -v -u admin:admin -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' -d'{"type":"page","ancestors":[{"type":"page","id":<pageId>}],"title":'$i',"space":{"key":"<space_key>"},"body":{"storage":{"value":"<p>This is a new page</p>","representation":"storage"}}}' "<confluence-url>/rest/api/content/?os_authType=basic"; done
- In the same space, add the Children Display Macro. Use the default configuration for the macro.
- As an admin user, reload the page. Takes around 2-3s to load.
- Login as a non-admin user and browse the same page that contains the children display macro. Takes around 100s to load.
3 - Workaround
- It is best to avoid using the Children Display Macro in parent pages that have many child pages OR
- You can specify the Parent Page, Number of Children, and Depth of Descendants to be displayed for better performance. You can tune it for smaller numbers.
- Forced limit for "descendants depth" parameter to avoid rendering macros with an unlimited amount of descendants layers.
CATALINA_OPTS="-Dconfluence.child-macro.max-depth=4 ${CATALINA_OPTS}"
- Limit the number of children shown by the macro
CATALINA_OPTS="-Dconfluence.child-macro.page-limit=4 ${CATALINA_OPTS}"
- Forced limit for "descendants depth" parameter to avoid rendering macros with an unlimited amount of descendants layers.
4 - Side Notes
- https://jira.atlassian.com/browse/CONF-31525 The Include Excerpts option is unrelated.
- is related to
-
CONFSERVER-32583 Improve performance when placing restrictions on pages that have a lot of child pages or attachments
- Closed
-
CONFSERVER-67887 Children Macro that contains lots of children's does not load for non admin user
- Gathering Impact
- relates to
-
CONFSERVER-66362 Children Display Macro - "Depth of Descendents" property is ignored if "Show Descendents" property is set
- Gathering Impact
- mentioned in
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...