-
Bug
-
Resolution: Unresolved
-
Low
-
None
-
6.15.9
-
None
-
8
-
Severity 3 - Minor
-
1
-
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
- Disable Collaborative editing
- User A goes to edit a page that include many inline tasks (Version 1)
- Confluence auto-saves a draft based on Version 1, and user does not save the page
- User B edits the same page and saves, promoting the page to Version 2
- User A views his drafts (or edits the page again)
- 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
- is related to
-
CONFSERVER-41610 TDM merger fails due to infinite recursive loop
-
- Closed
-