Details
-
Bug
-
Resolution: Unresolved
-
Low
-
None
-
6.15.9
-
None
-
7
-
Severity 3 - Minor
-
0
-
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
- 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
Attachments
Issue Links
- is related to
-
CONFSERVER-41610 TDM merger fails due to infinite recursive loop
- Closed