-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Medium
-
Component/s: Migrations - Site - Jira Macro repair
-
3
-
Severity 3 - Minor
-
1
Issue Summary
When Jira Macro Repair fixes broken macros, the XHTML needs to be parsed, updated, and saved. It's possible some pages cannot be updated, causing the macro fixing to fail for these pages.
This is reproducible on Data Center: with suitable samples of XHTML
Steps to Reproduce
N/A
Expected Results
Pages should be able to be parsed and saved.
Actual Results
Some pages fail when being parsed or being updated.
Troubleshooting
#1
When parsing fails, this log entry is logged from Jira Macro Repair:
Failed to parse content on page
or
Error in correctAppLink:
When updating fails, this log entry is returned from Jira Macro Repair
Error saving macros on page
The contentId of the affected page is stored in ext.contentId in Splunk.
#2
Use these steps to find these failed update entries
- First run this Splunk query with the cloud ID of the tenant:
"<cloudId>" `connie-prod` "ValidatorMessageRunner"
- Use the trace ID from one of the logs (ext.traceId) with the following Splunk query:
"<traceId>" `connie-prod` level=ERROR | stats count by message
- There can be several traceId values to work through
The error stack trace exception will show
com.atlassian.confluence.content.render.xhtml.XhtmlException: RuntimeException occurred while performing an XHTML storage transformation (Cannot invoke "String.trim()" because the return value of "com.atlassian.confluence.xhtml.api.MacroDefinition.getParameter(String)" is null)
NOTE: Rerunning Jira Macro Repair repeatedly doesn't resolve the situation. The workaround below needs to be used by Atlassian Support
Workaround
Manually fix those pages using the steps detailed in this KB