Skip to main content

This content has been archived and is no longer being updated. Links may not function; however, this content may be relevant to outdated versions of the product.

Support Article

ConcurrentModificationException in parallel load of data pages

SA-19955

Summary



User is on Pega 7.1.7 and trying to call multiple interfacing systems for loading data pages in parallel.

Further user waits for the responses for these interface calls to come back using connect-wait. While loading these data pages in parallel, user observes:

"ConcurrentModificationExceptions" in the logs.

The issue is sporadic in user's environment and not reproducible every time. Whenever this issue is
encountered, they start receiving the "ConcurrentModificationException" errors and the case is then routed to FlowProblems_Default. The exception is sporadic (occurs once every 1-2 months) and in the PegaRULES logs they doesn't find a "caused by" for the exception.


Error Messages



Exception
java.util.ConcurrentModificationException
at java.util.AbstractList$SimpleListIterator.next(AbstractList.java:64)
at com.pega.pegarules.exec.internal.async.AsyncPoolNotificationHandler.getLoadErrorsIfAny(AsyncPoolNotificationHandler.java:84)
at com.pega.pegarules.exec.internal.async.AsyncServicesManager.registerOnDataPageAndWaitForUpdate(AsyncServicesManager.java:1308)
at com.pega.pegarules.exec.internal.async.AsyncServicesManager.waitOnLoadDataPageActivities(AsyncServicesManager.java:1246)
at com.pega.pegarules.session.internal.mgmt.Executable.waitOnLoadDataPageActivities(Executable.java:9688)
at com.pegarules.generated.activity.ra_action_processexternalpullsinparallel_bccaeb53ba4c77ca260e3abadc90f56f.step11_circum0(ra_action_processexternalpullsinparallel_bccaeb53ba4c77ca260e3abadc90f56f.java:1226)
at com.pegarules.generated.activity.ra_action_processexternalpullsinparallel_bccaeb53ba4c77ca260e3abadc90f56f.perform(ra_action_processexternalpullsinparallel_bccaeb53ba4c77ca260e3abadc90f56f.java:240)
at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3375)
at com.pegarules.generated.flow.ra_action_externalpullsparallel_1b854ce5b3782a4da9b241c34a72097b.RunTaskActivity(ra_action_externalpullsparallel_1b854ce5b3782a4da9b241c34a72097b.java:2122)
at com.pegarules.generated.flow.ra_action_externalpullsparallel_1b854ce5b3782a4da9b241c34a72097b.Task_Utility1_circum0(ra_action_externalpullsparallel_1b854ce5b3782a4da9b241c34a72097b.java:972)
at com.pegarules.generated.flow.ra_action_externalpullsparallel_1b854ce5b3782a4da9b241c34a72097b.perform(ra_action_externalpullsparallel_1b854ce5b3782a4da9b241c34a72097b.java:581)
at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3375)
at com.pegarules.generated.flow.ra_action_processprospectexternalchecks_f68ebed7198faff947aa303b06f4f993.LaunchFlow(ra_action_processprospectexternalchecks_f68ebed7198faff947aa303b06f4f993.java:4184)
at com.pegarules.generated.flow.ra_action_processprospectexternalchecks_f68ebed7198faff947aa303b06f4f993.LaunchFlow(ra_action_processprospectexternalchecks_f68ebed7198faff947aa303b06f4f993.java:3840)

 

Steps to Reproduce

  1. Load data pages in parallel by calling some external interfaces.
  2. Wait for the responses to come back using Connect-Wait.


Root Cause



A defect in Pegasystems’ code or rules is identified as the root cause for this issue.

Resolution



Apply HFix-26037 to resolve the issue.

Published February 18, 2016 - Updated October 8, 2020

Was this useful?

0% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

Did you find this content helpful?

We'd prefer it if you saw us at our best.

Pega Community has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice