TIBCO BusinessEvents engine after running for some time hangs with an out of memory error.

TIBCO BusinessEvents engine after running for some time hangs with an out of memory error.

book

Article ID: KB0090499

calendar_today

Updated On:

Products Versions
TIBCO BusinessEvents Enterprise Edition -
Not Applicable -

Description

Resolution:
Description:
=========
TIBCO BusinessEvents engine after running for some time hangs with an out of memory error.

Environment:
==========
TIBCO BusinessEvents 5.1.1

Symptoms:
=========

The thread dumps shows the threads being blocked as follows :

a) java.lang.Thread.State: BLOCKED (on object monitor)
    at org.apache.log4j.Category.callAppenders(Category.java:204)
    - waiting to lock &lt0x00000006cda82ac0> (a org.apache.log4j.spi.RootLogger)
    at org.apache.log4j.Category.forcedLog(Category.java:391)
    at org.apache.log4j.Category.log(Category.java:826)
    at com.tibco.cep.runtime.service.logging.impl.LoggerImpl.log(LoggerImpl.java:93)
    at com.tibco.cep.driver.jms.JMSDestination$JMSListener.onMessage(SourceFile:1074)
    at com.tibco.tibjms.TibjmsxSessionImp._submit(TibjmsxSessionImp.java:4165)
    at com.tibco.tibjms.TibjmsxSessionImp._dispatchAsyncMessage(TibjmsxSessionImp.java:2267)
    at com.tibco.tibjms.TibjmsxSessionImp$Dispatcher.run(TibjmsxSessionImp.java:3689)
    
    java.lang.Thread.State: BLOCKED (on object monitor)
    at org.apache.log4j.Category.callAppenders(Category.java:204)
    - waiting to lock &lt0x00000006cda82ac0> (a org.apache.log4j.spi.RootLogger)
    at org.apache.log4j.Category.forcedLog(Category.java:391)
    at org.apache.log4j.Category.log(Category.java:838)
    at com.tibco.cep.runtime.service.logging.impl.LoggerImpl.log(LoggerImpl.java:69)
    at com.tibco.be.functions.System.SystemHelper.debugOut(SourceFile:48)
    at be.gen.RuleFunctions.Log.nullLogStringString$.Log(nullLogStringString$.java:16)
        at be.gen.RuleFunctions.VoltageRMS.nullUpdateOpenEvent$oversizeName.UpdateOpenEvent
        
Cause:
======
By setting the queue size to 0 in the destination config means an unlimited queue size so all the messages that should be queuing up in EMS are being copied into BE's memory causing the Outof memory Exceptions.

Resolution:
=========
Tuning  the queue size and num of threads to approriate values resolved the issue.

calculation:
queuSize = numThreads * 128
numThreads= number of cpu cores

Issue/Introduction

TIBCO BusinessEvents engine after running for some time hangs with an out of memory error.