Resolve out-of-memory errors caused by large multi-pivot reports exceeding the 10,000 data point limitDescriptionResolve instance instability and out-of-memory errors caused by running a multi-pivot report that exceeds the 10,000 data point limit. The errors appear in /report_viewer.do transactions in the node logs. The following stack traces may appear in the node logs: 2023-08-09 09:19:16 (542) Default-thread-14 6D9D483D93287150227274EFEBBA10FB txid=e8ad8cf59328 SEVERE *** ERROR *** plugin://com.glideapp.report/ui.jtemplates/sys_report_pivot_table.xml:103:43: <j:while> Java heap space java.lang.OutOfMemoryError: Java heap space at java.base/java.lang.StringUTF16.newBytesFor(StringUTF16.java:52) at java.base/java.lang.AbstractStringBuilder.inflate(AbstractStringBuilder.java:228) at java.base/java.lang.AbstractStringBuilder.putStringAt(AbstractStringBuilder.java:1665) at java.base/java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:539) at java.base/java.lang.StringBuffer.append(StringBuffer.java:317) at java.base/java.io.StringWriter.write(StringWriter.java:106) at com.glide.size_aware.SizeAwareStringWriter.write(SizeAwareStringWriter.java:36) at org.dom4j.io.XMLWriter.writeString(XMLWriter.java:1266) at org.dom4j.io.XMLWriter.write(XMLWriter.java:492) at org.apache.commons.jelly.XMLOutput$JellyXMLWriter.write0(XMLOutput.java:762) at org.apache.commons.jelly.XMLOutput.write(XMLOutput.java:172) at com.glide.ui.jelly.GlideExpressionScript.runWithEscaping(GlideExpressionScript.java:115) at com.glide.ui.jelly.GlideExpressionScript.run(GlideExpressionScript.java:45) at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:66) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146) at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:66) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146) 2023-08-09 11:37:51 (723) Default-thread-3 A65D2431832031101A45F7C8BEAAD3B6 txid=7a6da0718320 SEVERE *** ERROR *** plugin://com.glideapp.report/ui.jtemplates/sys_report_pivot_table.xml:137:25: <j:otherwise> Java heap space java.lang.OutOfMemoryError: Java heap space at java.base/java.util.Arrays.copyOf(Arrays.java:3745) at java.base/java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:172) at java.base/java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:538) at java.base/java.lang.StringBuffer.append(StringBuffer.java:317) at java.base/java.io.StringWriter.write(StringWriter.java:106) at com.glide.size_aware.SizeAwareStringWriter.write(SizeAwareStringWriter.java:36) at org.dom4j.io.XMLWriter.writeEscapeAttributeEntities(XMLWriter.java:1720) at org.dom4j.io.XMLWriter.writeAttribute(XMLWriter.java:1522) at org.dom4j.io.XMLWriter.writeAttributes(XMLWriter.java:1511) at org.dom4j.io.XMLWriter.startElement(XMLWriter.java:686) at org.apache.commons.jelly.XMLOutput.startElement(XMLOutput.java:410) at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:65) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146) at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:66) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146) at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235) at org.apache.commons.jelly.tags.core.OtherwiseTag.doTag(OtherwiseTag.java:87)Steps to Reproduce Go to Reports and create a new multi-pivot report with the following configuration: Table: IncidentRows: Business Service, Created OnColumns: Created OnAggregation: CountFilter: Created On — last 6 months (verify the result set contains at least 50,000 records) Run the report.Check the node logs for the JSONSizeHandler warning and the OutOfMemoryError stack trace.WorkaroundThere is no fix available for this issue at this time. The 10,000 data point limit on multi-pivot reports is a platform constraint. To avoid out-of-memory errors, reduce the data volume returned by the report. The following approaches can help: Narrow the date range. Use a shorter time period to reduce the number of records included in the report.Reduce the number of row and column groupings. Fewer grouping combinations produce fewer data points.Add filters to the report. Use additional filter conditions to limit the result set to a smaller subset of records.Use an alternative report type. If the full data set is required, consider using a different report type that is not subject to the pivot data point limit. Note: See KB2700889 for more information on the 10,000 data point limit for multi-level pivot reports.Related Problem: PRB1650006