-
Bug
-
Resolution: Fixed
-
Low
-
None
NOTE: This bug report is for Confluence Cloud. Using Confluence Server? See the corresponding bug report.
Page move action requires a significant amount of insert/update/delete to the database as moving one page requires updating that page itself and all its descendant pages. This heavy procedure might cause bad user experience as they have to wait a considerable amount of time before their actions are completed. In addition, it's also the root cause of DB deadlock as it locks some tables for a quite long period of time.
Activities that slows down moving pages:
- Select/Update/Insert to CONFANCESTORS table
- Update JOURNALENTRY table
- Update links in moved pages.
Problems found with current implementation:
- CONTENTPROPERTIES is set loaded "eager" causing N+1 problem.
- Updating page's links procedure is called when pages are moved inside the same space (this heavy procedure should be skipped in this case).
- Each getAncestors() call creates one SELECT query to DB.
Update 17/11/2015
There is definitely some performance improvement in 5.8.6 (https://jira.atlassian.com/browse/CONF-35396?focusedCommentId=827923&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-827923) but not the order of magnitude I expected. Reopening issue because of that.
- is related to
-
CONFSERVER-35396 Page move action is too slow when moving a large number of pages
- Closed
- relates to
-
CONFCLOUD-35040 Page move action causes database deadlock and data corruption
- Closed
-
CONFCLOUD-40454 Improve performance on moving page attempt for pages with a lot of child pages
- Gathering Interest