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

TDM merger takes long time to complete with multiple inline tasks

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Low
    • None
    • 6.15.9
    • Editor - Drafts
    • None

    Description

      Issue Summary

      When Collaborative editing is disabled, TDM Merger takes long time to complete when user goes to edit Confluence page that is include many inline tasks.

      Steps to Reproduce

      1. Disable Collaborative editing
      2. User A goes to edit a page that include many inline tasks (Version 1)
      3. Confluence auto-saves a draft based on Version 1, and user does not save the page
      4. User B edits the same page and saves, promoting the page to Version 2
      5. User A views his drafts (or edits the page again)
      6. Confluence tries to merge the three versions (Version 1, Version 1 draft, and Version 2), and results in Confluence slow performance

      Expected Results

      Merge complete without any performance issues

      Actual Results

      Single task is taking up-to 2 minutes to complete:

      23-Mar-2020 10:13:17.302 WARNING [Catalina-utility-1] org.apache.catalina.valves.StuckThreadDetectionValve.notifyStuckThreadDetected Thread [http-nio-8009-exec-62] (id=[11828]) has been active for [62,162] milliseconds (since [3/23/20 10:12 AM]) to serve the same request for [https://xxxxxxx/rest/inlinetasks/1/task/SPACE/PAGE/] and may be stuck (configured threshold for this StuckThreadDetectionValve is [60] seconds). There is/are [22] thread(s) in total that are monitored by this Valve and may be stuck.
      	java.lang.Throwable
      		at sun.misc.Unsafe.park(Native Method)
      ...
      23-Mar-2020 10:14:57.608 WARNING [Catalina-utility-2] org.apache.catalina.valves.StuckThreadDetectionValve.notifyStuckThreadCompleted Thread [http-nio-8009-exec-62] (id=[11828]) was previously reported to be stuck but has completed. It was active for approximately [156,772] milliseconds. There is/are still [61] thread(s) that are monitored by this Valve and may be stuck.
      

      Thread dump shows a lot of threads consumed by TDM Merger:

      "com.atlassian.confluence.plugins.merge.TDMMerger:thread-2" #17054 daemon prio=5 os_prio=0 tid=0x00007f7228128800 nid=0x1c84 runnable [0x00007f72937f6000]
         java.lang.Thread.State: RUNNABLE
      	at tdm.lib.HeuristicMatching.findExactMatches(HeuristicMatching.java:456)
      	at tdm.lib.HeuristicMatching.findCandidates(HeuristicMatching.java:371)
      	at tdm.lib.HeuristicMatching.matchSubtrees(HeuristicMatching.java:101)
      	at tdm.lib.HeuristicMatching.matchSubtrees(HeuristicMatching.java:132)
      	at tdm.lib.HeuristicMatching.buildMatching(HeuristicMatching.java:74)
      	at tdm.lib.TriMatching.(TriMatching.java:53)
      	at tdm.lib.TriMatching.(TriMatching.java:31)
      	at com.atlassian.confluence.plugins.merge.TDMMerger.mergeContentInternal(TDMMerger.java:85)
      	at com.atlassian.confluence.plugins.merge.TDMMerger.lambda$mergeContent$0(TDMMerger.java:100)
      	at 
      

      Workaround

      Enable collaborative editing

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              tsuzuki@atlassian.com Tomoko Suzuki
              Votes:
              4 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated: