We are observing struck threads and high memory consuming are observed while converting Word to PDF. The scenario is observed when we gave a load test with 150 users are uploading documents. We have Aspose license.
Following are the information of environment where the load test was performed.
No of receipts: After 400-450 Receipts are created (via Online, Manual and replicate mediums). 400 -450 indicates number of documents converted to PDF.
Aspose Jar Name and Version : aspose-words-18.6-jdk16.jar
WebLogic Server Version: 12.1.3.0.0
OS: Red Hat Enterprise Linux 7.2 (64 bit)
Attachment size: 1 MB and 5 MB .doc attachment
Following is the exception observed in the logs when struck threads are occurring
<May 22, 2018 12:21:28 AM EST> <[STUCK] ExecuteThread: ‘1’ for queue: ‘weblogic.kernel.Default (self-tuning)’ has been busy for “617” seconds working on the request "Workmanager: default, Version: 0, Scheduled=true, Started=true, Started time: 617193 ms
", which is more than the configured time (StuckThreadMaxTime) of “600” seconds in “server-failure-trigger”. Stack trace:
asposewobfuscated.zzQX.zzS(Unknown Source)
asposewobfuscated.zzQX.zzR(Unknown Source)
asposewobfuscated.zzTS.zzT(Unknown Source)
asposewobfuscated.zzTS.zzL(Unknown Source)
com.aspose.words.zzZK8.zzZe(Unknown Source)
com.aspose.words.zzCL.zzW(Unknown Source)
com.aspose.words.zzCL.zzUe(Unknown Source)
com.aspose.words.zzJZ.zzZ(Unknown Source)
com.aspose.words.zzJZ.zzX(Unknown Source)
com.aspose.words.zzJZ.zzhw(Unknown Source)
com.aspose.words.zzJZ.zzYr(Unknown Source)
com.aspose.words.zzJZ.zzR3(Unknown Source)
com.aspose.words.zzJZ.zzZ(Unknown Source)
com.aspose.words.zzCL.zzX(Unknown Source)
com.aspose.words.zzZJR.zzJ(Unknown Source)
com.aspose.words.zzZJR.zzO(Unknown Source)
com.aspose.words.zzZJR.zzR(Unknown Source)
com.aspose.words.zzZJR.zzX(Unknown Source)
com.aspose.words.zzZJR.zzZ(Unknown Source)
com.aspose.words.zzC4.zzQ(Unknown Source)
com.aspose.words.zzBW.zzG(Unknown Source)
com.aspose.words.zzBJ.zzQ(Unknown Source)
com.aspose.words.zzCL.zzS(Unknown Source)
com.aspose.words.zzCM.zz77(Unknown Source)
com.aspose.words.zzCM.zz78(Unknown Source)
com.aspose.words.zzCL.read(Unknown Source)
com.aspose.words.zzBV.zz77(Unknown Source)
com.aspose.words.zzBV.read(Unknown Source)
com.aspose.words.Document.zzY(Unknown Source)
com.aspose.words.Document.zzZ(Unknown Source)
com.aspose.words.Document.(Unknown Source)
com.aspose.words.Document.(Unknown Source)
com.aspose.words.Document.(Unknown Source)
com.arisglobal.common.pdfconvertor.bus.service.impl.AsposePDFConversionServiceImpl.convertWordToPDF(AsposePDFConversionServiceImpl.java:133)
com.arisglobal.common.pdfconvertor.bus.service.impl.AsposePDFConversionServiceImpl.convertToPDF(AsposePDFConversionServiceImpl.java:97)
com.arisglobal.agx.irt.web.managedbean.IRTDocOperationMBean.convertUploadedFileToPDF(IRTDocOperationMBean.java:777)
com.arisglobal.agx.irt.web.managedbean.IRTDocOperationMBean.validateDocuments(IRTDocOperationMBean.java:260)
com.arisglobal.agx.irt.web.managedbean.IRTDocOperationMBean.validateDocuments(IRTDocOperationMBean.java:193)
com.arisglobal.agx.irt.web.managedbean.IRTDocOperationMBean.uploadManualSupportDocumentAction(IRTDocOperationMBean.java:434)
sun.reflect.GeneratedMethodAccessor6972.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
com.sun.el.parser.AstValue.invoke(AstValue.java:254)
com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:302)
org.apache.myfaces.view.facelets.el.ContextAwareTagMethodExpression.invoke(ContextAwareTagMethodExpression.java:96)
org.primefaces.component.fileupload.FileUpload.broadcast(FileUpload.java:321)
javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:1172)
javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:354)
javax.faces.component.UIViewRoot._process(UIViewRoot.java:1658)
javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:869)
org.apache.myfaces.lifecycle.ApplyRequestValuesExecutor.execute(ApplyRequestValuesExecutor.java:42)
org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:196)
org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:143)
com.arisglobal.framework.ui.core.LifecycleImpl.execute(LifecycleImpl.java:73)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)
weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:346)
weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:78)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
com.arisglobal.framework.ui.filter.GZIPFilter.doFilter(GZIPFilter.java:94)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
com.arisglobal.agx.common.helper.AuthenticationFilter.doFilter(AuthenticationFilter.java:102)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3436)
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3402)
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2285)
weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2201)
weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1572)
weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:255)
weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
weblogic.work.ExecuteThread.run(ExecuteThread.java:263)