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

Sending Email Notifications After Commenting on a Page Slow Down Confluence

    XMLWordPrintable

Details

    Description

      Steps to Replicate

      1. Ensure that Mail Server is configured
      2. Create a space and add 2000+ watchers to it
      3. Enable page profiling and after that, comment on the homepage of the newly created Space
      4. Each com.atlassian.confluence.plugins.confluence-email-resources:notification-templates:Confluence.Templates.Mail.Notifications.commentAdd.soy operation takes more than 1 second repeatedly as many times as the number of page/space watchers. In the profiling logs you will see thousands of these:
        2014-07-22 14:40:34,898 DEBUG [cfreq-2] [atlassian.util.profiling.UtilTimerStack] log [149068ms] - /cf/rest/tinymce/1/content/46106955/comment
        ...
          [0ms] - UserAccessor.isDeactivated()
          [27ms] - PermissionManager.hasPermissionNoExemptions()
            [0ms] - UserAccessor.getGroup()
            [1ms] - UserAccessor.hasMembership()
            [16ms] - DefaultSpacePermissionManager.hasPermission(USECONFLUENCE, firstname.lastname, global)
              [0ms] - UserAccessor.isDeactivated()
              [0ms] - UserAccessor.getGroup()
              [1ms] - UserAccessor.hasMembership()
              [0ms] - UserAccessor.getGroup()
              [0ms] - UserAccessor.hasMembership()
              [0ms] - UserAccessor.getGroup()
              [0ms] - UserAccessor.hasMembership()
              [1ms] - UserAccessor.getGroup()
              [0ms] - UserAccessor.hasMembership()
            [0ms] - UserAccessor.getGroup()
            [1ms] - UserAccessor.hasMembership()
            [8ms] - DefaultSpacePermissionManager.hasPermission(VIEWSPACE, firstname.lastname, TST)
              [0ms] - UserAccessor.getGroup()
              [0ms] - UserAccessor.hasMembership()
          [0ms] - UserAccessor.getConfluenceUserPreferences()
          [0ms] - UserAccessor.exists()
          [0ms] - UserAccessor.getPropertySet()
          [0ms] - UserAccessor.getPropertySet()
          [0ms] - FormatSettingsManager.getDateFormat()
          [0ms] - FormatSettingsManager.getDateTimeFormat()
          [0ms] - FormatSettingsManager.getTimeFormat()
          [0ms] - FormatSettingsManager.getDateFormat()
          [0ms] - FormatSettingsManager.getDateTimeFormat()
          [0ms] - FormatSettingsManager.getEditorBlogPostDate()
          [6ms] - LikeManager.hasLike()
          [32ms] - PermissionManager.hasCreatePermission()
            [0ms] - UserAccessor.getGroup()
            [1ms] - UserAccessor.hasMembership()
            [0ms] - UserAccessor.getGroup()
            [0ms] - UserAccessor.hasMembership()
            [31ms] - DefaultSpacePermissionManager.hasPermission(COMMENT, firstname.lastname, TST)
              [0ms] - UserAccessor.getGroup()
              [1ms] - UserAccessor.hasMembership()
              [0ms] - UserAccessor.getGroup()
              [0ms] - UserAccessor.hasMembership()
          [0ms] - PermissionManager.hasCreatePermission()
          [29ms] - LikeManager.hasLike()
          [0ms] - PermissionManager.hasCreatePermission()
          [27ms] - LikeManager.hasLike()
          [23ms] - Rendering velocity template: /styles/default-inline-css.vm
            [12ms] - Parse: /styles/colors-css.vm
              [9ms] - Parse: /styles/aui-overrides-css.vm
              [1ms] - Parse: /styles/labels-css.vm
              [0ms] - Parse: /styles/diffs-css.vm
          [5082ms] - Rendering soy template: com.atlassian.confluence.plugins.confluence-email-resources:notification-templates:Confluence.Templates.Mail.Notifications.commentAdd.soy
            [0ms] - UserAccessor.getPropertySet()
        ...
        

      Suggestion
      Process the classes above sometime after the comment has been added as a background process.

      Attachments

        Issue Links

          Activity

            People

              shaffenden Steve Haffenden (Inactive)
              prompas Patrice Rompas (Inactive)
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: