Support Article
Performance degrades when performing Export to Excel
SA-38095
Summary
Performance degrades and an error is generated in the logs when performing a long-run activity (such as, Export to Excel with multiple records).
Error Messages
No response for 120000 ms. BasicInvocationFuture{invocation=BasicInvocation{ serviceName='hz:impl:mapService', op=GetOperation{}, partitionId=34, replicaIndex=0, tryCount=250, tryPauseMillis=500, invokeCount=1, callTimeout=60000, target=Address[xx.xxx.xxx.xxx]:xxxx, backupsExpected=0, backupsCompleted=0}, response=null, done=false}
...
Failed to run
java.lang.OutOfMemoryError
:
Java heap space
at
java.util.concurrent.ConcurrentHashMap
.
isEmpty
(
ConcurrentHashMap.java
:
8
0
8
)
at
com.hazelcast.spi.impl.BasicOperationService$CleanupThread
.
scanHandleOperationTimeout
(
BasicOperationService.java
:
1
1
0
7
)
at
com.hazelcast.spi.impl.BasicOperationService$CleanupThread
.
run
(
BasicOperationService.java
:
1
0
8
6
....
Steps to Reproduce
Unknown
Root Cause
A defect in Pegasystems’ code or rules. Core Passivation used large memory for a large report data page.
Resolution
Perform the following local-change:
1. Include the below script in the UserWorkForm to invoke the Rule-Obj-Report-Definition.pzRDExportWrapper.
<script>
pega.u.d.attachOnload(function() {
if(pega && pega.report && pega.report.commandribbon){
pega.report.commandribbon.exportToExcel = function(pageName,thisObj,e)
{
var form = document.createElement('form');
form.id = "formExportViewToExcel";
form.method = "POST";
form.target = "_target";
document.body.appendChild(form);
var frm = document.forms["formExportViewToExcel"];
// -BUG-11350 set form target based on check for safari
if(pega.env.ua.webkit && !window.chrome){
if(document.getElementById("loadFusionExportJS")==null)frm.target="";
}
var oSafeUrl = new SafeURL("@baseclass.ExportWrapper");
oSafeUrl.put("PrimaryPageName", pageName );
oSafeUrl.put("pzPrimaryPageName", pageName + ".pyReportDefinition" );
oSafeUrl.put("exportmode", "excel" );
frm.action = oSafeUrl.toURL();
frm.submit();
document.body.removeChild(form);
}
}
});
</script>
2. In the Report Export Wrapper activity, delete the pxSummaryReport Clipboard page, that is, perform a Page-Remove of the pyReportContentPage.pxSummaryReults.
Published April 15, 2018 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.