Error "java.lang.OutOfMemoryError" seen in TIBCO BusinessWorks(TM) ProcessMonitor server log

Error "java.lang.OutOfMemoryError" seen in TIBCO BusinessWorks(TM) ProcessMonitor server log

book

Article ID: KB0079329

calendar_today

Updated On:

Products Versions
TIBCO BusinessWorks ProcessMonitor 2.x,3.x
Not Applicable -

Description

Description:
With a high message inflow rate on the bwpm.event queue, and if the heap size is set to the Tomcat server is not enough for the TIBCO BusinessWorks(TM) ProcessMonitor(BWPM) server to process those messages, the  server will run out of memory and throw the error,  "java.lang.OutOfMemoryError: Java heap space" in  the TIBCO BusinessWorks(TM) ProcessMonitor  server.log. Once this error occurs, the messages from  the bwpm.event queues will not be consumed unless restarting the Tomcat server.  After some time, when the TIBCO BusinessWorks(TM) ProcessMonitor server runs out of memory, you will see messages on the bwpm.queue are backed up and are not being consumed.

Symptoms:
TIBCO BusinessWorks(TM) ProcessMonitor(BWPM) server throws the error,  "java.lang.OutOfMemoryError: Java heap space" in the server.log.  In the server.log file, you will see errors resembling the following:
******************************
2014-06-06 17:25:01,001 ERROR [LOCAL_Worker-1] org.quartz.core.JobRunShell: Job LOCAL.NJAMS_JOB_UPDATE_DATA_PROVIDER_STATISTICS threw an unhandled Exception:


java.lang.IllegalStateException: Hazelcast Instance is not active!
    at com.hazelcast.impl.FactoryImpl.initialChecks(FactoryImpl.java:728)
    at com.hazelcast.impl.MProxyImpl.beforeCall(MProxyImpl.java:102)
    at com.hazelcast.impl.MProxyImpl.get(MProxyImpl.java:112)
    at com.faizsiegeln.njams.dataprovider.DataProviderStatistics.getDataProviderStatistics(nJAMS:37)
    at com.faizsiegeln.njams.jobs.JobDataProviderStatistics.execute(nJAMS:25)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557)

' 2014-06-09 06:13:35,719 ERROR [hz._hzInstance_1_njamsGroup.cached.thread-1253] com.faizsiegeln.njams.d.a: msgProcessor: msg. processing failed
com.faizsiegeln.njams.a.a: Java heap space'
******************************

 After this issue occurs you will see messages on the bwpm.queue being backed up and not being consumed. Once restarting the Tomcat server, TIBCO BusinessWorks(TM) ProcessMonitor will start consuming messages. After some time, when the TIBCO BusinessWorks(TM) ProcessMonitor server runs out of memory, you will see messages on the bwpm.queue are backed up and not being consumed.
Cause:
Tomcat has run out of memory due to not enough heap size. The max heap size of Tomcat must be set to at least, 500MB + <sum of all data provider threads> * 100MB. If you set it to a lower value than this the issue will occur while processing messages from the bwpm.event queues, the data provider will run out of memory.

Issue/Introduction

Error: "java.lang.OutOfMemoryError" seen in TIBCO BusinessWorks(TM) ProcessMonitorr server log

Environment

Product: TIBCO BusinessWorks™ ProcessMonitor Version: 2.x,3.x OS: All Supported Operating Systems --------------------

Resolution

The maximum heap size of Tomcat must be set to at least, 500MB + <sum of all data provider threads> * 100MB. You need to modify the Tomcat server configuration to set the maximum heap size. For example, if you have two data providers with four threads in each data provider, then as per the formula you have to set the maximum heap size to 1300MB (500MB + (4+4)*100 MB) or more.