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

Clicking inline tasks on large pages slowly fills the heap over time

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Low Low
    • None
    • 7.19.2, 7.19.8, 8.6.2, 8.5.6
    • Content - Page
    • None

      Atlassian Update - 4th June 2024

      Hi Everyone,

      Thank you for your patience with this issue as we are still working on a complete solution.

      During our development, we were are able to pre-emptively release some optimisations which should help reduce the impact. This should greatly improve processing efficiency when checking many tasks on the same page.

      These optimisations have been released in version 8.5.10

      Thanks!

      Issue Summary

      While in page view mode, each inline task interaction increments the page version by one. Whilst this is not a problem in itself, when a checkbox (for inline tasks) is marked or unmarked on a Confluence page, hibernate loads the page contents twice into two string objects.

      With regular usage, inline tasks will eventually cause heap pressure, resulting in potentially disruptive full-GC pauses.

      This is reproducible on Data Center: yes

      Steps to Reproduce

      1. Create a relatively large Confluence page with inline tasks included on it.
      2. Whilst viewing the page (not editing), check and uncheck boxes for inline tasks. Programmatically, CHECKED and UNCHECKED states can be issued for a page (and taskid) via the REST API to simulate user activity automatically:
        curl -D- -u user2:user2 -X POST -H "X-Atlassian-Token: nocheck" --data '{"status":"CHECKED","trigger":"VIEW_PAGE"}' -H "Content-Type: application/json" http://localhost:8090/rest/inlinetasks/1/task/2228225/55/ 
      3. Whilst monitoring heap activity (via GC logs or JMX), note the heap usage increasing with each click. The larger the page, the bigger the heap usage increase per click.  Eventually this triggers full GC and heap usage remains high.

      Expected Results

      Referenced objects in the heap should not grow unbounded from the use of inline tasks.

      Actual Results

      |

      Workaround

      Currently there is no known workaround for this behavior. A workaround will be added here when available

            [CONFSERVER-81037] Clicking inline tasks on large pages slowly fills the heap over time

            This issue is impacting our cluster and causing node evictions as well. 

            Please fix this issue ASAP.

            Ranganath Nangineni added a comment - This issue is impacting our cluster and causing node evictions as well.  Please fix this issue ASAP.

              Unassigned Unassigned
              mninnes@atlassian.com Malcolm Ninnes
              Affected customers:
              20 This affects my team
              Watchers:
              35 Start watching this issue

                Created:
                Updated: