Posted: 11 Mar 2021 1:45 EST Last activity: 25 Mar 2021 3:33 EDT
Inserts into pr_data_notification_recipient
We are seeing millions of inserts happening into the table pr_data_notification_recipient since we have upgraded PEGA Robotics from 7 to 8.5. Below is the insert query which keeps on running. Any idea from where and why it is getting executed, and how it can be prevented?
On analyzing the PEGA logs in splunk, we could see that the insert statement is happening from the activity ‘pzProcessNotification’. This gets called from the Queue processor ‘pyProcessNotification’, which calculates data such as the list of recipients, the message, or the channel including email, gadget notification, or Push notification. As far as I remember we do not do any notifications from our application to any of the stake holders and even if we are doing we do it through separate Email Notification step within the process.
On further analysis, we were able to note that the agent activity ‘pzMonitorRobotCommandAndHeartbeat’ is the one which is queueing these many entries onto the queue table. Below is the chronology of the process.
pzMonitorRobotCommandAndHeartbeat activity runs as part of agent, Pega-Robotic-AutomationPackageManagement, where it calls pzMonitorRobotHeartbeat in step 4.4.
pzMonitorRobotHeartbeat call pyNotifyRecipients in step 12.
pyNotifyRecipients calls pxNotify within which the object for System-Queue-Notification class is created and committed to the DB.
Though pzMonitorRobotCommandAndHeartbeat is not the only rule which calls pxNotify, it appears to be the major contributor to the record count. I am unable to open the report definition, pzGetCommandAndSvcOpDetailsForAllRobots, which retrieves the Command and Service Operation Details for all the BOTS to understand how the data is getting retrieved.