How to configure BE engine to process for large Kafka payloads
book
Article ID: KB0071703
calendar_today
Updated On:
Products
Versions
TIBCO BusinessEvents Enterprise Edition
5.6.1, 6.0.0, 6.1.0, 6.1.1, 6.2.0, 6.2.1, 6.2.2
Description
Sometimes BE engines might need to send a large Kafka payload or receive a large payload from an external application, in such cases we might run into error below:
com.tibco.cep.runtime.model.exception.impl.BEExceptionImpl: java.lang.StackOverflowError: <no message> at jdk.internal.reflect.GeneratedConstructorAccessor134.newInstance(Unknown Source) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) at com.tibco.be.functions.object.JSONConceptInstance.a(SourceFile:443)...
Issue/Introduction
This article shows how to configure BE when a large Kafka payload is being sent to BE
Environment
All Supported Platforms
Resolution
To solve this stack overflow error we need to increase the JVM stack size in the be-engine.tra file, it should be at least greater than the payload size. We can also multiply by a factor of 5 or 10 the original stack size setting depending on the machine resources. For this example it was used a payload greater than 4 MB and the stack size -Xss was set to 20 MB as shown below: