Locking mechanism of Pega Marketing BatchOut table
In our project we are using PM 7.22 on top of Pega 7.3.
We have faced a recent issue where the offer flow is still in Wait status even though customer has opted in , offer got activated and IH updated successfully.
This has occured for number of cases for the campaign we recently launched.
While investigating it seems that customer has opted in almost at the same time when next reminder was sent. So for optin the offer got activated and IH updated, however just before commiting the batchout table update to complete the flow status, the DF_Wait started processing the same offer to send reminder,hence it changes override the previous change of Flow status completion.
We looked into the PegaMKT-Work-Offer.ProcessOffer OOTB activity, and we didn't saw any locking mechanism on BatchOut table records leading to simultaneous update possible and loss of data.
Please kindly check let us if this analysis of our is correct or not, if yes is there any fix for this because it is serious concern.
1. Currently we are sending and receiving responses through SMS, but we have other channels like Email, IVR for which we will launching campaigns in near future.
2.The wait time is in days, i.e after first promotional sms we send reminders after every 5-6 days, they are monthly campaigns, but we also have weekly and daily campaigns.
3. It is a production issue where we are dealing with considerable customer base.
4. Typically we have around 2 million customer base i each campaign, and we have seen it around 20-30 instances whenever coincidentally customer opts in almost at the same time when reminder is to be sent. Our client asks about explanation for the same.
Upon reviewing the associated SR, the resolution stated for "This is very extreme case and if we try to lock on BatchOut table the performace will decrease as it is batch mode with huge no of records. Asked user to observe , if such cases occur in high number the user can reopen the SR."