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

Slow Performance in Large Space for Reorder Pages

    XMLWordPrintable

Details

    • Suggestion
    • Resolution: Unresolved
    • None
    • Content - Page
    • None
    • 2
    • 5
    • We collect Confluence feedback from various sources, and we evaluate what we've collected when planning our product roadmap. To understand how this piece of feedback will be reviewed, see our Implementation of New Features Policy.

    Description

      Summary

      There is a space whose page hierarchy is as such:

      • Parent A
        • Child 1
        • Child 2
          • Sub-page 1
          • Sub-page 2
          • Sub-page ...
          • Sub-page 850
          • Sub-page 851
        • Child 3
        • Child 4
        • Child 5

      When trying to expand 'Parent A', it takes up to 50 seconds. Once the 5 child pages have loaded, it takes another 90 seconds to expand 'Child 2'.

      Environment

       

      • Confluence 6.2.3

      Steps to Reproduce

      1. Only users that do not belong to the confluence-administrators group are facing this issue.
      2. Issue was tested on different devices using both IE and Firefox and it was reproducible in both browsers.
      3. After enabling page profiling, we are able to see the delay is here:
              [46353ms] - XW Interceptor: After defaultStack: /pages/children.action (ChildrenAction.execute())
                [46352ms] - XW Interceptor: After validatingStack: /pages/children.action (ChildrenAction.execute())
                  [1ms] - PermissionManager.hasPermission()
                  [46231ms] - PermissionManager.getPermittedEntities()
                    [0ms] - CrowdService.isUserMemberOfGroup()
                      [0ms] - ApplicationDAO.findByName()
                      [0ms] - MembershipDao.isUserDirectMember()
                      [0ms] - MembershipDao.isUserDirectMember()
      1. When looking up the PermissionManager.java class to see what getPermittedEntities is doing and it seems that it's looking through the pages to check if any of them have restrictions.
      2. A user who belongs to the internal confluence-administrators group. -> Acts FAST
      3. A user who is not a site admin, but is a space admin to the affected space. -> Acts SLOW
      4. A user who is neither a site admin, nor a space admin. -> Acts SLOW

      Expected Results

          To have pages listed normally

      Actual Results

      • replicate the slowness but only while logged in as a user that does not belong to the "confluence-administrators" group.
      [14154ms] - XW Interceptor: Before defaultStack: /pages/children.action (ChildrenAction.execute())
          [0ms] - UserAccessor.exists()
            [0ms] - CrowdService.getUser()
              [0ms] - ApplicationDAO.findByName()
              [0ms] - UserDao.findByName()
          [0ms] - UserAccessor.getPropertySet()
          [0ms] - SpaceAwareInterceptor.intercept()
          [14137ms] - PageAwareInterceptor.intercept()
            [0ms] - ContentEntityManager.getById()
            [0ms] - PermissionManager.hasPermission()
              [0ms] - DefaultSpacePermissionManager.hasPermissionNoExemptions(VIEWSPACE, athirah, ITSV)
            [0ms] - CommentAwareInterceptor.intercept()
            [0ms] - UserAwareInterceptor.intercept()
            [0ms] - BootstrapAwareInterceptor.intercept()
            [0ms] - PermissionManager.hasPermission()
            [14136ms] - XW Interceptor: After defaultStack: /pages/children.action (ChildrenAction.execute())
              [14136ms] - XW Interceptor: After validatingStack: /pages/children.action (ChildrenAction.execute())
                [0ms] - PermissionManager.hasPermission()
                [14070ms] - PermissionManager.getPermittedEntities()
      When logged in as a user belonging to "confluence-administrators", this is the page profiling entry:
        [25ms] - XW Interceptor: Before defaultStack: /pages/children.action (ChildrenAction.execute())
          [0ms] - UserAccessor.exists()
            [0ms] - CrowdService.getUser()
              [0ms] - ApplicationDAO.findByName()
              [0ms] - UserDao.findByName()
          [0ms] - UserAccessor.getPropertySet()
          [0ms] - SpaceAwareInterceptor.intercept()
          [13ms] - PageAwareInterceptor.intercept()
            [0ms] - ContentEntityManager.getById()
            [0ms] - PermissionManager.hasPermission()
            [0ms] - CommentAwareInterceptor.intercept()
            [0ms] - UserAwareInterceptor.intercept()
            [0ms] - BootstrapAwareInterceptor.intercept()
            [0ms] - PermissionManager.hasPermission()
            [13ms] - XW Interceptor: After defaultStack: /pages/children.action (ChildrenAction.execute())
              [12ms] - XW Interceptor: After validatingStack: /pages/children.action (ChildrenAction.execute())
                [0ms] - PermissionManager.hasPermission()
                [11ms] - PermissionManager.getPermittedEntities()
      

       

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              aabouharga Aya Mohamed (Inactive)
              Votes:
              16 Vote for this issue
              Watchers:
              16 Start watching this issue

              Dates

                Created:
                Updated: