Email workload distribution is not working as intended
SummaryAgent SendEmailsInBulk processes pending emails from table pegadata.pr_data_corr_email.
It creates the number of child requestors specified in the topology to do the actual sending in parallel.
This works well except at the tail end of a run. If the number of emails pending is less than the "total size" (batch size times thread count from topology), all of the remaining emails are processed in only one child requestor.
It has been observed these tail end emails taking 45 minutes to send. The algorithm should continue to process these tail end emails in multiple requestors.
Error MessagesNot applicable
Steps to Reproduce
- Set the batch size to 250 and the number of threads to 40.
- Run an email campaign with 39,999 emails.
- Run the SendEmailsInBulk agent. The first 30,000 will run fast in 40 child requestors. The remaining 9,999 will run in only one child requestor and will take a long time, much longer than the first 30,000.
Root CauseThis is currently working as per the design where the total size =
batch size times thread count from topology.
ResolutionAn enhancement request,
FDBK-17597, has been created for consideration by Pega Product Management.
Published December 21, 2016 - Updated August 23, 2017