-
Bug
-
Resolution: Fixed
-
High
-
8.5.17
-
5
-
Severity 2 - Major
-
51
-
Issue Summary
When a user uploads or attaches a image to a page (example, drag and drop), reconciliation is triggered for all linked pages. If an exception is thrown during the process, and it causes a transaction rollback, there is a chance the linked pages get content duplicated. This will occur for the linked pages that have been successfully reconciled or recovered by synchrony.
Steps to Reproduce
- Update the threshold hours of the Synchrony Data Removal (Hard / Soft)` jobs to 0, just to ensure when the job is run, it will definitely clean the synchrony data of target pages
-
- synchrony.eviction.hard.job.threshold.hours
- synchrony.eviction.soft.job.threshold.hours
- Add some extra code in DefaultContentReconciliationManager#reconcileIfNeeded with breakpoint so we are able to throw an exception from it
- Create a page (P1) whose link will be inserted in other pages
- Create multiple other pages with link of P1 (P2, P3, P4, P5, P6 etc)
- Run Synchrony Data Removal (Hard / Soft) to clean up the synchrony data of the created pages
- Open the attachments page of P1 and upload an image
- With the debug mode on, it will stop at the break point multiple times for P1 - P6, and when it stop for one of the other page, say P5, we throw an exception from DefaultContentReconciliationManager#reconcileIfNeeded and continue
- You will notice the transaction is rollbacked and some follow up external change reconcile happen
- After all code finish execution:
- Check the logs, you will see External change request with empty Synchrony Rev with content for P1, P2, P3, P4
- In confluence, open page P2, P3, P4 in editor mode, you will see content is duplicated
Expected Results
No changes are made to all the pages as they are rollbacked. No duplicated content should exist for all the pages.
Actual Results
You will see in the logs three stages in the same thread:
- The initial reconciliation of linked pages
10:14:02,560 WARN [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.ReconcileReferringContentTask] getShouldIncludeOwnContent Could not find shouldIncludeOwnContentMap for Content ID 1015816 but will reconcile anyway 10:14:07,647 DEBUG [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.DefaultContentReconciliationManager] reconcileIfNeeded Reconciling a content ContentId{id=1015816} 10:14:07,647 DEBUG [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [synchrony.service.SynchronyContentService] restoredRecovery Launching synchrony recovery for restored content 1015816 10:14:07,665 INFO [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [service.http.SynchronyRequestExecutor] execute Initiating request PUT http://127.0.0.1:8091/synchrony/v1/data/Synchrony-f9dfa72a-05e3-39c8-b07e-24aae2954331/confluence-1015816 HTTP/1.1 for 1015816
- The exception and database rollback - this can be any cause, as long as it triggers the transaction to roll back
10:14:22,441 WARN [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [impl.hibernate.ConfluenceHibernateTransactionManager] doRollback Performing rollback. Transactions: ....... 10:14:22,444 ERROR [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.ThreadLocalCleanUpSynchronization] afterCompletion Error executing task in post-commit -- url: /confluence/plugins/drag-and-drop/upload.action | userName: admin | action: upload | referer: http://localhost:8080/confluence/pages/viewpageattachments.action?pageId=1015812 | traceId: c3af629433743209 com.atlassian.confluence.pages.exceptions.ExternalChangesException: Unable to save changes to unreconciled page ContentId{id=1015814}
- The secondary reconciliation for pages that have successfully passed the first step - this is where duplication occurs.
10:14:22,567 INFO [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [synchrony.service.SynchronyExternalChangesManager] performExternalChange Started external change for ContentId{id=1015816} 10:14:22,574 DEBUG [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [synchrony.service.SynchronyExternalChangesManager] lambda$createExternalChangeRequest$0 External change request with empty Synchrony Rev with content 1015816 10:14:22,574 INFO [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [service.http.SynchronyRequestExecutor] execute Initiating request PUT http://127.0.0.1:8091/synchrony/v1/data/Synchrony-f9dfa72a-05e3-39c8-b07e-24aae2954331/confluence-1015816?state-at=@head&state-format=html HTTP/1.1 for 1015816
Below is a complete log of the events from this example. Duplicated pages are 1015816 and 1015818:
10:13:22,798 DEBUG [Caesium-1-2] [synchrony.status.SynchronyStatusCheckJob] runJob Checking Synchrony Status... 10:13:22,799 DEBUG [Caesium-1-2] [synchrony.bootstrap.HeartbeatChecker] isSynchronyUp Checking Synchrony heartbeat on: http://127.0.0.1:8091/synchrony/heartbeat 10:13:22,805 DEBUG [Caesium-1-2] [synchrony.bootstrap.HeartbeatChecker] lambda$isSynchronyUp$0 Response received from Synchrony heartbeat: status 200 10:13:22,805 DEBUG [Caesium-1-2] [synchrony.status.SynchronyStatusCheckJob] runJob Synchrony is running: true 10:13:22,805 DEBUG [Caesium-1-2] [synchrony.status.SynchronyStatusCheckJob] runJob Setting the system property atlassian.internal.synchrony.status to true 10:13:25,806 DEBUG [Caesium-1-1] [synchrony.status.SynchronyStatusCheckJob] runJob Checking Synchrony Status... 10:13:25,807 DEBUG [Caesium-1-1] [synchrony.bootstrap.HeartbeatChecker] isSynchronyUp Checking Synchrony heartbeat on: http://127.0.0.1:8091/synchrony/heartbeat 10:13:25,817 DEBUG [Caesium-1-1] [synchrony.bootstrap.HeartbeatChecker] lambda$isSynchronyUp$0 Response received from Synchrony heartbeat: status 200 10:13:25,817 DEBUG [Caesium-1-1] [synchrony.status.SynchronyStatusCheckJob] runJob Synchrony is running: true 10:13:25,817 DEBUG [Caesium-1-1] [synchrony.status.SynchronyStatusCheckJob] runJob Setting the system property atlassian.internal.synchrony.status to true 10:13:26,814 DEBUG [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.DefaultContentReconciliationManager] reconcileIfNeeded 10:13:41,557 DEBUG [Caesium-1-3] [synchrony.status.SynchronyStatusCheckJob] runJob Checking Synchrony Status... 10:13:41,558 DEBUG [Caesium-1-3] [synchrony.bootstrap.HeartbeatChecker] isSynchronyUp Checking Synchrony heartbeat on: http://127.0.0.1:8091/synchrony/heartbeat 10:13:41,561 DEBUG [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.DefaultContentReconciliationManager] reconcileIfNeeded Reconciling a content ContentId{id=1015812} 10:13:41,561 DEBUG [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [synchrony.service.SynchronyContentService] restoredRecovery Launching synchrony recovery for restored content 1015812 10:13:45,226 INFO [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [service.http.SynchronyRequestExecutor] execute Initiating request PUT http://127.0.0.1:8091/synchrony/v1/data/Synchrony-f9dfa72a-05e3-39c8-b07e-24aae2954331/confluence-1015812 HTTP/1.1 for 1015812 10:13:50,596 DEBUG [Caesium-1-3] [synchrony.bootstrap.HeartbeatChecker] lambda$isSynchronyUp$0 Response received from Synchrony heartbeat: status 200 10:13:50,596 DEBUG [Caesium-1-3] [synchrony.status.SynchronyStatusCheckJob] runJob Synchrony is running: true 10:13:50,596 DEBUG [Caesium-1-3] [synchrony.status.SynchronyStatusCheckJob] runJob Setting the system property atlassian.internal.synchrony.status to true 10:13:52,964 DEBUG [Caesium-1-4] [synchrony.status.SynchronyStatusCheckJob] runJob Checking Synchrony Status... 10:13:52,965 INFO [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [service.http.SynchronyRequestExecutor] execute Initiating request PUT http://127.0.0.1:8091/synchrony/v1/data/Synchrony-f9dfa72a-05e3-39c8-b07e-24aae2954331/confluence-1015812 HTTP/1.1 for 1015813 10:13:52,965 DEBUG [Caesium-1-4] [synchrony.bootstrap.HeartbeatChecker] isSynchronyUp Checking Synchrony heartbeat on: http://127.0.0.1:8091/synchrony/heartbeat 10:13:52,971 DEBUG [Caesium-1-4] [synchrony.bootstrap.HeartbeatChecker] lambda$isSynchronyUp$0 Response received from Synchrony heartbeat: status 200 10:13:52,971 DEBUG [Caesium-1-4] [synchrony.status.SynchronyStatusCheckJob] runJob Synchrony is running: true 10:13:52,971 DEBUG [Caesium-1-4] [synchrony.status.SynchronyStatusCheckJob] runJob Setting the system property atlassian.internal.synchrony.status to true 10:13:52,998 WARN [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [util.profiling.DurationThresholdWarningTimingHelperFactory] logMessage Execution time for publishing event com.atlassian.confluence.event.events.content.page.synchrony.SynchronyRecoveryEvent@4982a63b took 11437 ms (warning threshold is 5000 ms) -- url: /confluence/plugins/drag-and-drop/upload.action | userName: admin | action: upload | referer: http://localhost:8080/confluence/pages/viewpageattachments.action?pageId=1015812 | traceId: c3af629433743209 10:13:53,012 INFO [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.AttachmentRelatedContentReconciliationListener] reconcileReferringContent No ReconcileContentRegisterTask in current Thread we will create one 10:13:53,014 DEBUG [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.DefaultContentReconciliationManager] handleEditorOnlyContentUpdateAfterSave Initiating editor content sync with synchrony for content: 1015812 10:13:53,030 INFO [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.DefaultContentReconciliationManager] handleContentUpdateAfterSave No ReconcileContentTask in current Thread we will create one 10:13:53,041 INFO [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.ReconcileReferringContentTask] lambda$run$6 Process owning content for batch number 1 10:13:53,041 DEBUG [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.ReconcileReferringContentTask] lambda$run$6 Processing a batch of owning content: [1015812] 10:13:53,043 DEBUG [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.ReconcileReferringContentTask] lambda$run$6 There are [1] of owning CEO is loaded from DB 10:13:53,043 DEBUG [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.ReconcileReferringContentTask] lambda$run$6 Space detail in current batch: [SPAC] 10:13:53,050 INFO [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.ReconcileReferringContentTask] lambda$run$6 Finishing process for owning content batch 1 10:13:53,050 DEBUG [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.ReconcileReferringContentTask] lambda$run$12 There are 12 of distingue CEO potential to reconcile 10:13:53,050 INFO [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.ReconcileReferringContentTask] lambda$run$11 Process reconcile content for batch number 2 10:13:53,050 DEBUG [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.ReconcileReferringContentTask] lambda$run$11 Processing a batch of reconcile content: [page: p6 v.1 (1015825), page: p5 v.1 (1015823), page: P3 v.1 (1015818), page: P2 v.1 (1015816), page: P1 v.1 (1015814), page: p6 v.1 (1015824), page: p5 v.1 (1015822), page: p4 v.1 (1015820), page: p4 v.1 (1015821), page: P3 v.1 (1015819), page: P2 v.1 (1015817), page: P1 v.1 (1015815)] 10:13:53,050 WARN [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.ReconcileReferringContentTask] getShouldIncludeOwnContent Could not find shouldIncludeOwnContentMap for Content ID 1015825 but will reconcile anyway -- url: /confluence/plugins/drag-and-drop/upload.action | userName: admin | action: upload | referer: http://localhost:8080/confluence/pages/viewpageattachments.action?pageId=1015812 | traceId: c3af629433743209 10:13:53,050 WARN [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.ReconcileReferringContentTask] getShouldIncludeOwnContent Could not find shouldIncludeOwnContentMap for Content ID 1015823 but will reconcile anyway -- url: /confluence/plugins/drag-and-drop/upload.action | userName: admin | action: upload | referer: http://localhost:8080/confluence/pages/viewpageattachments.action?pageId=1015812 | traceId: c3af629433743209 10:13:53,050 WARN [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.ReconcileReferringContentTask] getShouldIncludeOwnContent Could not find shouldIncludeOwnContentMap for Content ID 1015818 but will reconcile anyway -- url: /confluence/plugins/drag-and-drop/upload.action | userName: admin | action: upload | referer: http://localhost:8080/confluence/pages/viewpageattachments.action?pageId=1015812 | traceId: c3af629433743209 10:13:55,427 DEBUG [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.DefaultContentReconciliationManager] reconcileIfNeeded 10:13:59,627 DEBUG [Caesium-1-3] [synchrony.status.SynchronyStatusCheckJob] runJob Checking Synchrony Status... 10:13:59,627 DEBUG [Caesium-1-3] [synchrony.bootstrap.HeartbeatChecker] isSynchronyUp Checking Synchrony heartbeat on: http://127.0.0.1:8091/synchrony/heartbeat 10:13:59,630 DEBUG [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.DefaultContentReconciliationManager] reconcileIfNeeded Reconciling a content ContentId{id=1015818} 10:13:59,630 DEBUG [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [synchrony.service.SynchronyContentService] restoredRecovery Launching synchrony recovery for restored content 1015818 10:14:02,501 INFO [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [service.http.SynchronyRequestExecutor] execute Initiating request PUT http://127.0.0.1:8091/synchrony/v1/data/Synchrony-f9dfa72a-05e3-39c8-b07e-24aae2954331/confluence-1015818 HTTP/1.1 for 1015818 10:14:02,533 INFO [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [service.http.SynchronyRequestExecutor] execute Initiating request PUT http://127.0.0.1:8091/synchrony/v1/data/Synchrony-f9dfa72a-05e3-39c8-b07e-24aae2954331/confluence-1015818 HTTP/1.1 for 1015819 10:14:02,555 DEBUG [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.DefaultContentReconciliationManager] handleEditorOnlyContentUpdateAfterSave Initiating editor content sync with synchrony for content: 1015818 10:14:02,560 DEBUG [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.ReconcileReferringContentTask] lambda$run$10 Reconcile for content ContentId{id=1015818} is done 10:14:02,560 WARN [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.ReconcileReferringContentTask] getShouldIncludeOwnContent Could not find shouldIncludeOwnContentMap for Content ID 1015816 but will reconcile anyway -- url: /confluence/plugins/drag-and-drop/upload.action | userName: admin | action: upload | referer: http://localhost:8080/confluence/pages/viewpageattachments.action?pageId=1015812 | traceId: c3af629433743209 10:14:03,675 DEBUG [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.DefaultContentReconciliationManager] reconcileIfNeeded 10:14:07,647 DEBUG [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.DefaultContentReconciliationManager] reconcileIfNeeded Reconciling a content ContentId{id=1015816} 10:14:07,647 DEBUG [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [synchrony.service.SynchronyContentService] restoredRecovery Launching synchrony recovery for restored content 1015816 10:14:07,653 DEBUG [Caesium-1-3] [synchrony.bootstrap.HeartbeatChecker] lambda$isSynchronyUp$0 Response received from Synchrony heartbeat: status 200 10:14:07,653 DEBUG [Caesium-1-3] [synchrony.status.SynchronyStatusCheckJob] runJob Synchrony is running: true 10:14:07,653 DEBUG [Caesium-1-3] [synchrony.status.SynchronyStatusCheckJob] runJob Setting the system property atlassian.internal.synchrony.status to true 10:14:07,662 DEBUG [Caesium-1-1] [synchrony.status.SynchronyStatusCheckJob] runJob Checking Synchrony Status... 10:14:07,663 DEBUG [Caesium-1-1] [synchrony.bootstrap.HeartbeatChecker] isSynchronyUp Checking Synchrony heartbeat on: http://127.0.0.1:8091/synchrony/heartbeat 10:14:07,665 INFO [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [service.http.SynchronyRequestExecutor] execute Initiating request PUT http://127.0.0.1:8091/synchrony/v1/data/Synchrony-f9dfa72a-05e3-39c8-b07e-24aae2954331/confluence-1015816 HTTP/1.1 for 1015816 10:14:07,684 INFO [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [service.http.SynchronyRequestExecutor] execute Initiating request PUT http://127.0.0.1:8091/synchrony/v1/data/Synchrony-f9dfa72a-05e3-39c8-b07e-24aae2954331/confluence-1015816 HTTP/1.1 for 1015817 10:14:07,703 DEBUG [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.DefaultContentReconciliationManager] handleEditorOnlyContentUpdateAfterSave Initiating editor content sync with synchrony for content: 1015816 10:14:07,708 DEBUG [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.ReconcileReferringContentTask] lambda$run$10 Reconcile for content ContentId{id=1015816} is done 10:14:07,708 WARN [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.ReconcileReferringContentTask] getShouldIncludeOwnContent Could not find shouldIncludeOwnContentMap for Content ID 1015814 but will reconcile anyway -- url: /confluence/plugins/drag-and-drop/upload.action | userName: admin | action: upload | referer: http://localhost:8080/confluence/pages/viewpageattachments.action?pageId=1015812 | traceId: c3af629433743209 10:14:08,538 DEBUG [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.DefaultContentReconciliationManager] reconcileIfNeeded 10:14:22,441 WARN [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [impl.hibernate.ConfluenceHibernateTransactionManager] doRollback Performing rollback. Transactions:\n [null]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT (Session #135036684)\n [SALSpringTx]: PROPAGATION_REQUIRES_NEW,ISOLATION_DEFAULT,readOnly (Session #747969556)\n [SALSpringTx]: PROPAGATION_REQUIRES_NEW,ISOLATION_DEFAULT,readOnly (Session #1157983079)\n ->[null]: PROPAGATION_REQUIRES_NEW,ISOLATION_DEFAULT (Session #940917725)\n [SALSpringTx]: PROPAGATION_REQUIRES_NEW,ISOLATION_DEFAULT,readOnly (Session #830147850)\n [SALSpringTx]: PROPAGATION_REQUIRES_NEW,ISOLATION_DEFAULT,readOnly (Session #697215999)\n [SALSpringTx]: PROPAGATION_REQUIRES_NEW,ISOLATION_DEFAULT,readOnly (Session #1748798294)\n [SALSpringTx]: PROPAGATION_REQUIRES_NEW,ISOLATION_DEFAULT,readOnly (Session #630939188) -- url: /confluence/plugins/drag-and-drop/upload.action | userName: admin | action: upload | referer: http://localhost:8080/confluence/pages/viewpageattachments.action?pageId=1015812 | traceId: c3af629433743209 10:14:22,489 DEBUG [Caesium-1-1] [synchrony.bootstrap.HeartbeatChecker] lambda$isSynchronyUp$0 Response received from Synchrony heartbeat: status 200 10:14:22,489 DEBUG [Caesium-1-1] [synchrony.status.SynchronyStatusCheckJob] runJob Synchrony is running: true 10:14:22,489 DEBUG [Caesium-1-1] [synchrony.status.SynchronyStatusCheckJob] runJob Setting the system property atlassian.internal.synchrony.status to true 10:14:22,444 ERROR [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.ThreadLocalCleanUpSynchronization] afterCompletion Error executing task in post-commit -- url: /confluence/plugins/drag-and-drop/upload.action | userName: admin | action: upload | referer: http://localhost:8080/confluence/pages/viewpageattachments.action?pageId=1015812 | traceId: c3af629433743209 com.atlassian.confluence.pages.exceptions.ExternalChangesException: Unable to save changes to unreconciled page ContentId{id=1015814} at com.atlassian.confluence.internal.content.collab.DefaultContentReconciliationManager.reconcileIfNeeded(DefaultContentReconciliationManager.java:135) at com.atlassian.confluence.internal.content.collab.DefaultContentReconciliationManager.handleContentUpdateBeforeSave(DefaultContentReconciliationManager.java:78) at com.atlassian.confluence.internal.content.collab.DefaultContentReconciliationManager.handleEditorOnlyContentUpdateBeforeSave(DefaultContentReconciliationManager.java:88) at com.atlassian.confluence.internal.content.collab.ReconcileReferringContentTask.lambda$run$10(ReconcileReferringContentTask.java:117) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) at java.base/java.util.ArrayList$SubList$2.forEachRemaining(ArrayList.java:1566) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) at com.atlassian.confluence.internal.content.collab.ReconcileReferringContentTask.lambda$run$11(ReconcileReferringContentTask.java:115) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) at java.base/java.util.stream.IntPipeline$1$1.accept(IntPipeline.java:180) at java.base/java.util.stream.Streams$RangeIntSpliterator.forEachRemaining(Streams.java:104) at java.base/java.util.Spliterator$OfInt.forEachRemaining(Spliterator.java:712) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) at com.atlassian.confluence.internal.content.collab.ReconcileReferringContentTask.lambda$run$12(ReconcileReferringContentTask.java:108) at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) at com.atlassian.confluence.internal.content.collab.ReconcileReferringContentTask.run(ReconcileReferringContentTask.java:69) at com.atlassian.confluence.internal.content.collab.ThreadLocalCleanUpSynchronization.afterCompletion(ThreadLocalCleanUpSynchronization.java:22) at org.springframework.transaction.support.TransactionSynchronizationUtils.invokeAfterCompletion(TransactionSynchronizationUtils.java:172) at org.springframework.transaction.support.AbstractPlatformTransactionManager.invokeAfterCompletion(AbstractPlatformTransactionManager.java:978) at org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerAfterCompletion(AbstractPlatformTransactionManager.java:953) at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:786) at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:712) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:234) at jdk.proxy3/jdk.proxy3.$Proxy83.commit(Unknown Source) at com.atlassian.xwork.interceptors.TransactionalInvocation.commitOrRollbackTransaction(TransactionalInvocation.java:85) at com.atlassian.xwork.interceptors.TransactionalInvocation.access$000(TransactionalInvocation.java:19) at com.atlassian.xwork.interceptors.TransactionalInvocation$1.beforeResult(TransactionalInvocation.java:42) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:278) at com.atlassian.xwork.interceptors.XWorkProfilingInterceptor.intercept(XWorkProfilingInterceptor.java:16) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:256) at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:179) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) at com.atlassian.confluence.core.ConfluenceWorkflowInterceptor.intercept(ConfluenceWorkflowInterceptor.java:25) at com.opensymphony.xwork2.DefaultActionInvocation.executeConditional(DefaultActionInvocation.java:299) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:253) at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) at com.opensymphony.xwork2.DefaultActionInvocation.executeConditional(DefaultActionInvocation.java:299) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:253) at com.atlassian.confluence.security.interceptors.CaptchaInterceptor.intercept(CaptchaInterceptor.java:44) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:256) at com.atlassian.xwork.interceptors.XWorkProfilingInterceptor.intercept(XWorkProfilingInterceptor.java:16) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:256) at com.atlassian.xwork.interceptors.XsrfTokenInterceptor.intercept(XsrfTokenInterceptor.java:117) at com.atlassian.confluence.xwork.ConfluenceXsrfTokenInterceptor.intercept(ConfluenceXsrfTokenInterceptor.java:34) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:256) at com.atlassian.confluence.core.ConfluenceLicenseInterceptor.intercept(ConfluenceLicenseInterceptor.java:74) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:256) at com.atlassian.confluence.xwork.HttpRequestStatsInterceptor.intercept(HttpRequestStatsInterceptor.java:23) at com.opensymphony.xwork2.DefaultActionInvocation.executeConditional(DefaultActionInvocation.java:299) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:253) at com.atlassian.confluence.validation.MessageHolderInterceptor.intercept(MessageHolderInterceptor.java:38) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:256) at com.atlassian.confluence.event.EventPublisherInterceptor.intercept(EventPublisherInterceptor.java:19) at com.opensymphony.xwork2.DefaultActionInvocation.executeConditional(DefaultActionInvocation.java:299) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:253) at com.atlassian.confluence.util.LoggingContextInterceptor.intercept(LoggingContextInterceptor.java:43) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:256) at com.atlassian.confluence.core.CancellingInterceptor.intercept(CancellingInterceptor.java:21) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:256) at com.atlassian.xwork.interceptors.RestrictHttpMethodInterceptor.intercept(RestrictHttpMethodInterceptor.java:122) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:256) at com.atlassian.confluence.security.websudo.WebSudoInterceptor.intercept(WebSudoInterceptor.java:37) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:256) at com.atlassian.confluence.themes.ThemeContextInterceptor.intercept(ThemeContextInterceptor.java:37) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:256) at com.atlassian.confluence.security.actions.PermissionCheckInterceptor.intercept(PermissionCheckInterceptor.java:86) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:256) at com.atlassian.confluence.setup.struts.BootstrapAwareInterceptor.intercept(BootstrapAwareInterceptor.java:19) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:256) at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:175) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) at com.opensymphony.xwork2.DefaultActionInvocation.executeConditional(DefaultActionInvocation.java:299) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:253) at com.atlassian.confluence.user.actions.UserAwareInterceptor.intercept(UserAwareInterceptor.java:50) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:256) at com.atlassian.confluence.pages.actions.CommentAwareInterceptor.intercept(CommentAwareInterceptor.java:37) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:256) at com.atlassian.confluence.pages.actions.PageAwareInterceptor.intercept(PageAwareInterceptor.java:49) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:256) at com.atlassian.confluence.spaces.actions.SpaceAwareInterceptor.intercept(SpaceAwareInterceptor.java:70) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:256) at com.atlassian.confluence.security.interceptors.ConfluenceAccessInterceptor.intercept(ConfluenceAccessInterceptor.java:30) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:256) at com.atlassian.confluence.xwork.FlashScopeInterceptor.intercept(FlashScopeInterceptor.java:21) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:256) at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:154) at com.opensymphony.xwork2.DefaultActionInvocation.executeConditional(DefaultActionInvocation.java:299) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:253) at com.atlassian.confluence.core.actions.LastModifiedInterceptor.intercept(LastModifiedInterceptor.java:27) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:256) at com.atlassian.confluence.core.ConfluenceAutowireInterceptor.intercept(ConfluenceAutowireInterceptor.java:44) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:256) at org.apache.struts2.interceptor.parameter.ParametersInterceptor.doIntercept(ParametersInterceptor.java:203) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) at com.opensymphony.xwork2.DefaultActionInvocation.executeConditional(DefaultActionInvocation.java:299) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:253) at com.atlassian.xwork.interceptors.TransactionalInvocation.invokeAndHandleExceptions(TransactionalInvocation.java:63) at com.atlassian.xwork.interceptors.TransactionalInvocation.invokeInTransaction(TransactionalInvocation.java:53) at com.atlassian.xwork.interceptors.XWorkTransactionInterceptor.intercept(XWorkTransactionInterceptor.java:50) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:256) at com.atlassian.confluence.xwork.SetupIncompleteInterceptor.intercept(SetupIncompleteInterceptor.java:60) at com.opensymphony.xwork2.DefaultActionInvocation.executeConditional(DefaultActionInvocation.java:299) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:253) at com.atlassian.confluence.security.interceptors.SecurityHeadersInterceptor.intercept(SecurityHeadersInterceptor.java:28) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:256) at com.atlassian.xwork.interceptors.XWorkProfilingInterceptor.intercept(XWorkProfilingInterceptor.java:16) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:256) at org.apache.struts2.factory.StrutsActionProxy.execute(StrutsActionProxy.java:48) at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:739) at com.atlassian.confluence.impl.struts.ConfluenceStrutsDispatcher.serviceAction(ConfluenceStrutsDispatcher.java:58) at org.apache.struts2.dispatcher.ExecuteOperations.executeAction(ExecuteOperations.java:79) at org.apache.struts2.dispatcher.filter.StrutsExecuteFilter.doFilter(StrutsExecuteFilter.java:111) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:39) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.confluence.plugins.baseurl.IncludeResourcesFilter.doFilter(IncludeResourcesFilter.java:52) at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.labs.botkiller.BotKillerFilter.doFilter(BotKillerFilter.java:36) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.confluence.plugins.pulp.PulpFilter.doFilter(PulpFilter.java:75) at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.analytics.client.filter.UniversalAnalyticsFilter.doFilter(UniversalAnalyticsFilter.java:75) at com.atlassian.analytics.client.filter.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:33) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.mywork.client.filter.ServingRequestsFilter.doFilter(ServingRequestsFilter.java:32) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.confluence.efi.OnboardingFilter.doFilter(OnboardingFilter.java:77) at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.plugins.authentication.impl.web.filter.authentication.ConfluenceAuthenticationFilter.doFilterInternal(ConfluenceAuthenticationFilter.java:101) at com.atlassian.plugins.authentication.impl.web.filter.AbstractJohnsonAwareFilter.doFilter(AbstractJohnsonAwareFilter.java:29) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFixupFilter.doFilter(PrettyUrlsSiteMeshFixupFilter.java:32) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.prettyurls.filter.PrettyUrlsDispatcherFilter.doFilter(PrettyUrlsDispatcherFilter.java:55) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFilter.doFilter(PrettyUrlsSiteMeshFilter.java:80) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.prettyurls.filter.PrettyUrlsMatcherFilter.doFilter(PrettyUrlsMatcherFilter.java:51) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.confluence.plugins.mobile.filter.MobileAppWebViewFilter.doFilter(MobileAppWebViewFilter.java:72) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:60) at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:46) at com.atlassian.johnson.plugin.servlet.filter.JohnsonServletFilterModuleContainerFilter.doFilter(JohnsonServletFilterModuleContainerFilter.java:50) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.confluence.util.message.MessagesDecoratorFilter.doFilter(MessagesDecoratorFilter.java:64) at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:181) at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:85) at com.atlassian.confluence.util.profiling.ProfilingSiteMeshFilter.doFilter(ProfilingSiteMeshFilter.java:48) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:39) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.oauth2.scopes.web.ReadWriteScopeFilter.doFilter(ReadWriteScopeFilter.java:46) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.troubleshooting.thready.filter.AbstractThreadNamingFilter.doFilter(AbstractThreadNamingFilter.java:46) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.confluence.util.profiling.ConfluenceActivityFilter.doFilter(ConfluenceActivityFilter.java:39) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:56) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:60) at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:46) at com.atlassian.johnson.plugin.servlet.filter.JohnsonServletFilterModuleContainerFilter.doFilter(JohnsonServletFilterModuleContainerFilter.java:50) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.confluence.impl.webapp.security.NeoSecurityFilter.doFilter(NeoSecurityFilter.java:74) at javax.servlet.http.HttpFilter.doFilter(HttpFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at org.apache.struts2.dispatcher.filter.StrutsPrepareFilter.doFilter(StrutsPrepareFilter.java:122) at com.atlassian.confluence.impl.struts.ConfluenceStrutsPrepareFilter.doFilter(ConfluenceStrutsPrepareFilter.java:46) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.confluence.jmx.JmxFilter.doFilter(JmxFilter.java:97) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.confluence.cache.TransactionalCacheFactoryCleanupFilter.doFilter(TransactionalCacheFactoryCleanupFilter.java:22) at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.core.filters.ServletContextThreadLocalFilter.doFilter(ServletContextThreadLocalFilter.java:17) at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.confluence.util.UserLoggingContextFilter.doFilter(UserLoggingContextFilter.java:31) at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.confluence.util.UserNameHeaderFilter.doFilter(UserNameHeaderFilter.java:25) at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.confluence.web.filter.MauEventFilter.doFilterInternal(MauEventFilter.java:31) at com.atlassian.confluence.web.filter.AbstractStaticResourceAwareFilter.doFilter(AbstractStaticResourceAwareFilter.java:44) at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.confluence.util.UserThreadLocalFilter.doFilter(UserThreadLocalFilter.java:39) at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.confluence.web.filter.ConfluenceTimeoutFilter.doFilter(ConfluenceTimeoutFilter.java:57) at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.confluence.web.filter.HttpSessionRegistrarFilter.doFilter(HttpSessionRegistrarFilter.java:83) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:242) at com.atlassian.confluence.web.filter.ConfluenceSecurityFilter.applyFilter(ConfluenceSecurityFilter.java:40) at com.atlassian.confluence.web.filter.ConfluenceSecurityFilter.doFilter(ConfluenceSecurityFilter.java:29) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:94) at com.atlassian.confluence.util.AbstractBootstrapHotSwappingFilter.doFilter(AbstractBootstrapHotSwappingFilter.java:35) at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.seraph.filter.BaseLoginFilter.doFilter(BaseLoginFilter.java:148) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:39) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:67) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.pats.web.filter.TokenBasedAuthenticationFilter.doFilter(TokenBasedAuthenticationFilter.java:82) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.oauth2.provider.core.web.AccessTokenFilter.doFilter(AccessTokenFilter.java:82) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:56) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:60) at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:46) at com.atlassian.johnson.plugin.servlet.filter.JohnsonServletFilterModuleContainerFilter.doFilter(JohnsonServletFilterModuleContainerFilter.java:50) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.confluence.util.ClusterHeaderFilter.doFilter(ClusterHeaderFilter.java:57) at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at org.springframework.orm.hibernate5.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:156) at com.atlassian.confluence.web.filter.ConfluenceOpenSessionInViewFilter.doFilterInternal(ConfluenceOpenSessionInViewFilter.java:39) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.confluence.util.ConfluenceErrorFilter.doFilter(ConfluenceErrorFilter.java:24) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(ProfilingFilter.java:104) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.confluence.core.datetime.RequestTimeThreadLocalFilter.doFilter(RequestTimeThreadLocalFilter.java:39) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.core.filters.cache.AbstractCachingFilter.doFilter(AbstractCachingFilter.java:31) at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:39) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.plugins.authentication.impl.web.filter.loginform.DisableNativeLoginAuthFilter.doFilterInternal(DisableNativeLoginAuthFilter.java:53) at com.atlassian.plugins.authentication.impl.web.filter.AbstractJohnsonAwareFilter.doFilter(AbstractJohnsonAwareFilter.java:29) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.plugins.authentication.impl.basicauth.filter.DisableBasicAuthFilter.doFilter(DisableBasicAuthFilter.java:74) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.analytics.client.filter.DefaultAnalyticsFilter.doFilter(DefaultAnalyticsFilter.java:26) at com.atlassian.analytics.client.filter.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:33) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.jwt.internal.servlet.JwtAuthFilter.doFilter(JwtAuthFilter.java:37) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.troubleshooting.thready.filter.AbstractThreadNamingFilter.doFilter(AbstractThreadNamingFilter.java:46) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.confluence.web.filter.HttpRequestStatsFilter.doFilter(HttpRequestStatsFilter.java:58) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.gzipfilter.GzipFilter.doFilterInternal(GzipFilter.java:114) at com.atlassian.gzipfilter.GzipFilter.doFilter(GzipFilter.java:91) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.confluence.web.filter.ConfluenceTimingFilter.doFilter(ConfluenceTimingFilter.java:47) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:56) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0(DelegatingPluginFilter.java:57) at com.atlassian.confluence.extra.webdav.servlet.filter.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:38) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:62) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37) at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:60) at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:46) at com.atlassian.johnson.plugin.servlet.filter.JohnsonServletFilterModuleContainerFilter.doFilter(JohnsonServletFilterModuleContainerFilter.java:50) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.confluence.util.MobileAppRequestFilter.doFilter(MobileAppRequestFilter.java:36) at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.confluence.internal.web.filter.spring.IgnoreWebAsyncManagerFilter.doFilter(IgnoreWebAsyncManagerFilter.java:59) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.confluence.web.filter.validateparam.RequestParamValidationFilter.doFilter(RequestParamValidationFilter.java:51) at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.confluence.web.filter.TranslationModeFilter.doFilter(TranslationModeFilter.java:39) at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.confluence.web.filter.LanguageExtractionFilter.doFilter(LanguageExtractionFilter.java:39) at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.confluence.impl.vcache.VCacheRequestContextFilter.lambda$doFilter$3(VCacheRequestContextFilter.java:44) at com.atlassian.confluence.impl.vcache.VCacheRequestContextManager.doInRequestContextInternal(VCacheRequestContextManager.java:84) at com.atlassian.confluence.impl.vcache.VCacheRequestContextManager.doInRequestContext(VCacheRequestContextManager.java:68) at com.atlassian.confluence.impl.vcache.VCacheRequestContextFilter.doFilter(VCacheRequestContextFilter.java:43) at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.confluence.util.LoggingContextFilter.doFilter(LoggingContextFilter.java:32) at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.confluence.util.RequestCacheThreadLocalFilter.doFilter(RequestCacheThreadLocalFilter.java:67) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at brave.servlet.TracingFilter.doFilter(TracingFilter.java:87) at com.atlassian.confluence.web.filter.ZipkinTracingFilter.doFilter(ZipkinTracingFilter.java:49) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.confluence.web.filter.ResponseOutputStreamFilter.doFilter(ResponseOutputStreamFilter.java:25) at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.johnson.filters.AbstractJohnsonFilter.doFilter(AbstractJohnsonFilter.java:59) at com.atlassian.confluence.web.ConfluenceJohnsonFilter.doFilter(ConfluenceJohnsonFilter.java:32) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.core.filters.HeaderSanitisingFilter.doFilter(HeaderSanitisingFilter.java:37) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.confluence.servlet.FourOhFourErrorLoggingFilter.doFilter(FourOhFourErrorLoggingFilter.java:64) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.confluence.internal.diagnostics.ipd.http.IpdHttpMonitoringFilter.doFilter(IpdHttpMonitoringFilter.java:35) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.confluence.internal.diagnostics.HttpRequestMonitoringFilter.doFilter(HttpRequestMonitoringFilter.java:42) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.confluence.impl.webapp.ConfluenceHttpHeaderSecurityFilter.doFilter(ConfluenceHttpHeaderSecurityFilter.java:98) at javax.servlet.http.HttpFilter.doFilter(HttpFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.confluence.setup.ConfluenceEncodingFilter.doFilterInternal(ConfluenceEncodingFilter.java:35) at com.atlassian.confluence.web.filter.AbstractStaticResourceAwareFilter.doFilter(AbstractStaticResourceAwareFilter.java:44) at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.confluence.web.filter.ThreadLocalCacheFilter.doFilter(ThreadLocalCacheFilter.java:25) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.atlassian.confluence.web.filter.DebugFilter.doFilter(DebugFilter.java:63) at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:660) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:383) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:936) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:1583) 10:14:22,567 INFO [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.ThreadLocalCleanUpSynchronization] afterCompletion Task is done. Clean up ThreadLocal data 10:14:22,567 INFO [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.ReconcileContentTask] run Processing reconcile for 3 events 10:14:22,567 INFO [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [synchrony.service.SynchronyExternalChangesManager] performExternalChange Started external change for ContentId{id=1015816} 10:14:22,574 DEBUG [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [synchrony.service.SynchronyExternalChangesManager] lambda$createExternalChangeRequest$0 External change request with empty Synchrony Rev with content 1015816 10:14:22,574 INFO [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [service.http.SynchronyRequestExecutor] execute Initiating request PUT http://127.0.0.1:8091/synchrony/v1/data/Synchrony-f9dfa72a-05e3-39c8-b07e-24aae2954331/confluence-1015816?state-at=@head&state-format=html HTTP/1.1 for 1015816 10:14:22,615 INFO [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [synchrony.service.SynchronyExternalChangesManager] performExternalChange Started external change for ContentId{id=1015818} 10:14:22,619 DEBUG [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [synchrony.service.SynchronyExternalChangesManager] lambda$createExternalChangeRequest$0 External change request with empty Synchrony Rev with content 1015818 10:14:22,619 INFO [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [service.http.SynchronyRequestExecutor] execute Initiating request PUT http://127.0.0.1:8091/synchrony/v1/data/Synchrony-f9dfa72a-05e3-39c8-b07e-24aae2954331/confluence-1015818?state-at=@head&state-format=html HTTP/1.1 for 1015818 10:14:22,657 INFO [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [synchrony.service.SynchronyExternalChangesManager] performExternalChange Started external change for ContentId{id=1015812} 10:14:22,659 INFO [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [service.http.SynchronyRequestExecutor] execute Initiating request PUT http://127.0.0.1:8091/synchrony/v1/data/Synchrony-f9dfa72a-05e3-39c8-b07e-24aae2954331/confluence-1015812?state-at=@head&state-format=html HTTP/1.1 for 1015812 10:14:22,720 INFO [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.ReconcileContentTask] run Processing reconcile for 3 events ===> DONE 10:14:22,720 INFO [http-nio-8080-exec-5 url: /confluence/plugins/drag-and-drop/upload.action; user: admin] [content.collab.ThreadLocalCleanUpSynchronization] afterCompletion Task is done. Clean up ThreadLocal data 10:14:23,826 WARN [http-nio-8080-exec-10 url: /confluence/pages/viewpageattachments.action; user: admin] [htmlsafe.introspection.AnnotationBoxingUberspect] logOrThrowDeprecationWarningsIfNecessary Velocity template accessing deprecated method com.atlassian.
Workaround
Currently the only work-around is to find the cause to the exception/rollback, and to resolve that issue so that the transaction does not fail
Versions Tested
Please confirm all versions that have been tested for this issue, and indicate whether the tested version is affected or not affected, below:
Testing Requirements | Version | Affected Version |
---|---|---|
Customers Reported Version | 8.5.17 | Yes |
Most Recent Bug-Fix Release | ||
Previous Major Release | ||
Most Recent LTS | ||
Previous Supported LTS | ||
Other Versions.. | ||
(Add rows as needed) |
- is caused by
-
CONFSERVER-78239 Make reconciliation transaction in async executor
- Closed
- is resolved by
-
CONFSERVER-90436 Updating or adding attachments to a page with many incoming links is slow
-
- Closed
-
- relates to
-
CONFSERVER-96154 Editing a page occasionally loads duplicated data
-
- Gathering Impact
-
-
CONFSERVER-64758 Duplicate Content When Updating Page Via REST Whilst Collaborative Editor Is Open
-
- Short Term Backlog
-
- mentioned in
-
Page Failed to load
Form Name |
---|
Hello Atlassian, what about a fix also for the latest 9.2.x LTS version? Urgently needed to be able to upgrade to the next LTS version ...
Thanks & regards, -Rainer