OutofMemory Error

Hi,

Can anyone suggest what needs to be checked here?

My service gets the list of files from a directory and processes it.
screenshot of the service is attached.

But we are getting the following error very often

[FONT=Courier][SIZE=2]Error type: Interface error that cannot be retried. Check the error message below for more details.
<EXMLException>
<ErrorCode></ErrorCode>
<Info>wm.tn.doc:recognize</Info>
<OriginalException>
<JavaClass>com.wm.app.tn.doc.BizDocTypeException</JavaClass>
<Message>com.wm.app.tn.err.EXMLException: <EXMLException>
<ErrorCode></ErrorCode>
<Info>wm.tn.doc:recognize</Info>
<OriginalException>
<JavaClass>com.wm.app.tn.doc.BizDocTypeException</JavaClass>
<Message>com.wm.app.tn.err.EXMLException: <EXMLException>
<ErrorCode></ErrorCode>
<Info>wm.tn.doc:recognize</Info>
<OriginalException>
<JavaClass>java.lang.OutOfMemoryError</JavaClass>
<Message></Message>
<StackTrace>java.lang.OutOfMemoryError
</StackTrace>
</OriginalException>
<Action></Action>
<Level></Level>
</EXMLException> [EDIFTN.000010.000216]
</Message>
<StackTrace>com.wm.app.tn.doc.BizDocTypeException: com.wm.app.tn.err.EXMLException: <EXMLException>
<ErrorCode></ErrorCode>
<Info>wm.tn.doc:recognize</Info>
<OriginalException>
<JavaClass>java.lang.OutOfMemoryError</JavaClass>
<Message></Message>
<StackTrace>java.lang.OutOfMemoryError
</StackTrace>
</OriginalException>
<Action></Action>
<Level></Level>
</EXMLException> [EDIFTN.000010.000216]
at wm.b2b.editn.EDIGroupDocType$GroupStatus.submitChildren(Unknown Source)
at wm.b2b.editn.EDIGroupDocType.createEnvelope(Unknown Source)
at com.wm.app.tn.doc.BizDocTypeReg.recognizeAndCreate(BizDocTypeReg.java:517)
at wm.tn.docimpl.recognize(docimpl.java:903)
at sun.reflect.GeneratedMethodAccessor79.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:322)
at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:612)
at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44)
at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:235)
at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:49)
at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:198)
at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:39)
at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:411)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:521)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:369)
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:246)
at com.wm.app.b2b.server.BaseService.invoke(BaseService.java:168)
at com.wm.lang.flow.FlowInvoke.invoke(FlowInvoke.java:324)
at com.wm.lang.flow.FlowState.invokeNode(FlowState.java:581)
at com.wm.lang.flow.FlowState.step(FlowState.java:438)
at com.wm.lang.flow.FlowState.invoke(FlowState.java:403)
at com.wm.app.b2b.server.FlowSvcImpl.baseInvoke(FlowSvcImpl.java:982)
at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:612)
at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44)
at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:235)
at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:49)
at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:198)
at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:39)
at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:411)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:521)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:369)
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:246)
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:113)
at com.wm.app.b2b.server.Service.doInvoke(Service.java:636)
at com.wm.app.b2b.server.Service.doInvoke(Service.java:585)
at wm.b2b.editn.EDIEnvelopeDocType$EnvelopeStatus.submitChildren(Unknown Source)
at wm.b2b.editn.EDIEnvelopeDocType.createEnvelope(Unknown Source)
at com.wm.app.tn.doc.BizDocTypeReg.recognizeAndCreate(BizDocTypeReg.java:517)
at wm.tn.docimpl.recognize(docimpl.java:903)
at sun.reflect.GeneratedMethodAccessor79.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:322)
at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:612)
at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44)
at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:235)
at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:49)
at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:198)
at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:39)
at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:411)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:521)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:369)
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:246)
at com.wm.app.b2b.server.BaseService.invoke(BaseService.java:168)
at com.wm.lang.flow.FlowInvoke.invoke(FlowInvoke.java:324)
at com.wm.lang.flow.FlowState.invokeNode(FlowState.java:581)
at com.wm.lang.flow.FlowState.step(FlowState.java:438)
at com.wm.lang.flow.FlowState.invoke(FlowState.java:403)
at com.wm.app.b2b.server.FlowSvcImpl.baseInvoke(FlowSvcImpl.java:982)
at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:612)
at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44)
at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:235)
at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:49)
at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:198)
at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:39)
at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:411)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:521)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:369)
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:246)
at com.wm.app.b2b.server.BaseService.invoke(BaseService.java:168)
at com.wm.lang.flow.FlowInvoke.invoke(FlowInvoke.java:324)
at com.wm.lang.flow.FlowState.invokeNode(FlowState.java:581)
at com.wm.lang.flow.FlowState.step(FlowState.java:438)
at com.wm.lang.flow.FlowState.invoke(FlowState.java:403)
at com.wm.app.b2b.server.FlowSvcImpl.baseInvoke(FlowSvcImpl.java:982)
at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:612)
at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44)
at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:235)
at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:49)
at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:198)
at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:39)
at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:411)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:521)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:369)
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:246)
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:128)
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:100)
at com.wm.app.b2b.server.SessionInvoke.run(Session.java:705)
at com.wm.util.pool.PooledThread.run(PooledThread.java:105)
at java.lang.Thread.run(Thread.java:534)[/size][/font]


How big are the files being processed? Can you elaborate on exactly how the service is processing them?

At what point is it failing?? TN_Receive step ?? again what is the files size??

What are the steps in TN_Receive svc is it just routeXML??

HTH,
RMG

Hi,

Yes the TN_Receive service just routes the XML document. when it comes to the size of the file…the size of each file is small (1KB)…but the number of files being processed is very large…around 2,000 to 3,000 files.

Please suggest what can be done?

Thanks

1KB file,processing no of files shouldn’t be an issue unless the processing service doing its job properly,but probably you may have to put some wait logic or contact the DBA hosted the TN db behind the scenes and resolve the issue.

Also as troubleshooting purpose,could you test with fewer files 100-500 and then increase the limit… to see where is the bottle neck in the process??

HTH,
RMG

2-3000 1k files may be an issue, depending entirely on what is done in TN and the invoked services/tasks. Is each file being transformed to another format? What is the configuration of the processing rule(s) that are processing the files?