TIBCO Business Events Engine throws the Null Pointer exception when using the concurrentwm property in 3.x or in 4.x, 5.x when Concurrent RTC flag is checked under Agent Classes tab AgentClassName Concurrent RTC

TIBCO Business Events Engine throws the Null Pointer exception when using the concurrentwm property in 3.x or in 4.x, 5.x when Concurrent RTC flag is checked under Agent Classes tab AgentClassName Concurrent RTC

book

Article ID: KB0084706

calendar_today

Updated On:

Products Versions
TIBCO BusinessEvents Enterprise Edition -
Not Applicable -

Description

Resolution:
Description:
============
Business Events Engine throws the Null Pointer exception when using the concurrentwm property in 3.x
or in 4.x, 5.x when Concurrent RTC flag is checked under Agent Classes tab > AgentClassName > Concurrent RTC


Environment:
==========
TIBCO BusinessEvents 3.x, 4.x, 5.x

Symptoms:
=========
BE Engine throws the following exception -

java.lang.NullPointerException
         at com.tibco.cep.runtime.model.element.impl.ConceptImpl.modifyConcept(ConceptImpl.java:664)
         at com.tibco.cep.runtime.model.element.impl.PropertyImpl.setConceptModified(PropertyImpl.java:37)
         at com.tibco.cep.runtime.model.element.impl.simple.PropertyAtomStringSimple.setCurrent(PropertyAtomStringSimple.java:107)
         at com.tibco.cep.runtime.model.element.impl.simple.PropertyAtomStringSimple.setString(PropertyAtomStringSimple.java:114)
         at be.gen.Concepts.ClientBandwidthAllocation$ClientBandwidthAllocation$ClientBandwidthAllocationSM$$9y00241z8Transition_9_Rule.action(ClientBandwidthAllocation.java:2877)
         at com.tibco.cep.runtime.model.element.stategraph.impl.StateTransitionRule.execute(StateTransitionRule.java:148)
         at com.tibco.cep.kernel.core.rete.ReteWM.a(SourceFile:305)
         at com.tibco.cep.kernel.core.rete.ReteWM.do(SourceFile:283)
         at com.tibco.cep.kernel.core.rete.ReteWM.eventExpiryActions(SourceFile:671)
         at com.tibco.cep.kernel.core.base.OperationList$ZeroTTLEventEntry.a(SourceFile:329)
         at com.tibco.cep.kernel.core.base.OperationList.retractZeroTTLEvents(SourceFile:254)
         at com.tibco.cep.kernel.core.rete.ReteWM.a(SourceFile:338)
         at com.tibco.cep.kernel.core.rete.ReteWM.do(SourceFile:283)
         at com.tibco.cep.kernel.core.rete.ReteWM.assertObject(SourceFile:1522)
         at com.tibco.cep.runtime.session.impl.RuleSessionImpl.assertObject(RuleSessionImpl.java:1214)
         at com.tibco.cep.runtime.service.cluster.scheduler.AgentTimeManager$AssertEventHandleTask.run(AgentTimeManager.java:364)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
         at com.tibco.cep.runtime.util.CustomBEManagedThread.run(CustomBEManagedThread.java:23)


Cause:
=====
This stack trace has been observed in following situations:

1). When the concept is getting deleted while the timeout is happening.

2). When using concurrentwm without proper locking.


Resolution:
=========
Implement the proper locking when using concurrentwm or Concurrent RTC feature to avoid contention between different threads.

Issue/Introduction

TIBCO Business Events Engine throws the Null Pointer exception when using the concurrentwm property in 3.x or in 4.x, 5.x when Concurrent RTC flag is checked under Agent Classes tab AgentClassName Concurrent RTC