Support Article
Executing 2 offer bundles in a single interaction exception
SA-67637
Summary
Multiple emails must be sent for a single user in a single interaction.
A single campaign is created to load a single user. In the Strategy, two Offer bundles are created for the user. Both are fixed bundles with different names.
For example:
User 111111:
Bundle Name: Bundles1
Bundle Children: Offer 1, Offer 2
Bundle Name: Bundle 2
Bundle Children; Offer 1, Offer 2
When the Offer flows execute for the bundle parents, concurrency error occurs and the Offer flows are executed.
Error Messages
com.pega.dsm.dnode.api.dataflow.StageException: Exception in stage: Process Offers
....
Caused by: java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextNode(HashMap.java:1442)
at java.util.HashMap$KeyIterator.next(HashMap.java:1466)
at com.pega.mkt.offer.OfferEngineUtils.processBundles(OfferEngineUtils.java:296)
at com.pegarules.generated.ddf.ra_action_df_processoffer_8bc3bb8ed89f4acb68002cc0fb5de385$1$1.onNext(ra_action_df_processoffer_8bc3bb8ed89f4acb68002cc0fb5de385.java:435)
at com.pega.dsm.dnode.api.dataflow.DataFlowStageBatchProcessor.commitBatchInternal(DataFlowStageBatchProcessor.java:120)
at com.pega.dsm.dnode.api.dataflow.DataFlowStageBatchProcessor.commitBatch(DataFlowStageBatchProcessor.java:104)
at com.pega.dsm.dnode.api.dataflow.DataFlowStageBatchProcessor.onCompleted(DataFlowStageBatchProcessor.java:90)
at com.pega.dsm.dnode.api.dataflow.DataFlowStage$StageInputSubscriber.onCompleted(DataFlowStage.java:381)
... 23 more
Steps to Reproduce
- Create an Audience and a Campaign.
- Set up a bundled Offer and duplicate it. However, ensure to change the bundle name.
Root Cause
A defect in Pegasystems’ code or rules.
Resolution
Apply HFix-45603.
Tags:
Published December 13, 2018 - Updated December 2, 2021
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.