Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-35396

Page move action is too slow when moving a large number of pages

    XMLWordPrintable

Details

    Description

      NOTE: This bug report is for Confluence Server. Using Confluence Cloud? 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.

      Attachments

        Issue Links

          Activity

            People

              psemeniuk Petro Semeniuk (Inactive)
              honguyen Hoang Nguyen (Inactive)
              Votes:
              30 Vote for this issue
              Watchers:
              38 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: