NBAM Program Failures due to system pulse issues
After installing hotfix for Data Partitioning in NBAM 6.3.1 (HFix-21539.jar, HFix-22397.jar), program failures occur due to sync issues while executing offer flows on different node to that of the node where the program was picked for execution.
For example, if the program is picked up by Node1 and the while execution, offer batch occurs on Node4, the ProcessOfferBatch agent is unable to find the Data-BatchOutPRXXX Class.
2015-07-21 07:06:55,126 [ PegaRULES-Batch-1] [ STANDARD] [ PegaNBAM:06.03] (a_decisionengine_batchdecision) ERROR - Batch execution failed. Can't create batch writer. Database-BadClassDef Data-BatchOutxxxx
java.lang.RuntimeException: Can't create batch writer. Database-BadClassDef Data-BatchOutxxxx
Steps to Reproduce
1. Apply Hotfixes - HFix-21539.jar and HFix-22397.jar.
2. Set up NBAM to use Data Partitioning.
3. Schedule Multiple program runs and check for errors.
A defect or configuration issue in the operating environment . In NBAM Partitioning mode, during Program execution, many parallel threads get created as part of Strategy and Offer Flow execution.
However, in the PRPC agent execution, by default, threadpool size is 5. The additional threads from Program execution caused the System Pulse agent to queue behind them and executed 5-7 mins after its last run, instead of every 60 secs.
Since the system pulse had not run in time, the batch class generated by the Program run was not visible across other nodes.
Local-change is to update the prconfig.xml to define higher thread pool size.
<env name="agent/threadpoolsize" value="30" />
0% found this useful