Support Article

Marketing Agents fail to start with Java Exception

SA-26831

Summary



After installing Pega Marketing 7.21 on Pega 7.2 some agents fail to start upon checking System Health in Pega Marketing.
Failing Agents include OutboundMaster and RefreshCampaignOfferStats.

The failure message thrown within System Health monitor is:

This agent has failed on at least one of the system nodes. Use the source link to manage this agent. Failure message(s):
** {7cc84898fcc0922b5c345c1fe353c950} (magellan) :: Exception at 20160812T091414.203 GMT:
com.pega.pegarules.pub.runtime.IndeterminateConditionalException: ** Problem invoking function: pegamkt_engine_pegamktutilities.CheckAndLockString--(PublicAPI,String,boolean), com.pegarules.generated.CheckAndLockString_072101_2HhN9FKZ64ROj5iMIQoR2Q


Error Messages



2016-08-16 09:31:08,221 [ PegaRULES-Batch-1] [ STANDARD] [ ] [ PegaMarketing:07.21] (MKT_Data_Outbound_Queue.Action) ERROR - Exception caught while evaluating when
com.pega.pegarules.pub.runtime.LibraryFunctionNotFoundException: Problem invoking function: pegamkt_engine_pegamktutilities.CheckAndLockString--(PublicAPI,String,boolean), com.pegarules.generated.CheckAndLockString_072101_2HhN9FKZ64ROj5iMIQoR2Q
at com.pega.pegarules.generation.internal.library.LibraryMetadataCache.getFunctionInstance(LibraryMetadataCache.java:338)
at com.pega.pegarules.generation.internal.library.LibraryRuntime.resolveAndinvokeFunctionViaReflection(LibraryRuntime.java:124)
at com.pega.pegarules.generation.internal.library.LibraryRuntime.invokeLibraryRuntime(LibraryRuntime.java:110)
at com.pega.pegarules.generation.internal.library.LibraryFunctionUtilityImpl.resolveMethodCall(LibraryFunctionUtilityImpl.java:3136)
at com.pega.pegarules.session.internal.mgmt.Executable.resolveMethodCall(Executable.java:11018)
at com.pegarules.generated.activity.ra_action_processoutboundstaging_01e398e9990ca056e7ef0eac14a4d52c.step1_circum0(ra_action_processoutboundstaging_01e398e9990ca056e7ef0eac14a4d52c.java:343)
at com.pegarules.generated.activity.ra_action_processoutboundstaging_01e398e9990ca056e7ef0eac14a4d52c.perform(ra_action_processoutboundstaging_01e398e9990ca056e7ef0eac14a4d52c.java:69)
at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3510)
at com.pega.pegarules.session.internal.async.agent.QueueProcessor.runActivity(QueueProcessor.java:729)
at com.pega.pegarules.session.internal.async.agent.QueueProcessor.execute(QueueProcessor.java:607)
at com.pega.pegarules.session.internal.async.BatchRequestorTask.run(BatchRequestorTask.java:967)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.performTargetActionWithLock(PRSessionProviderImpl.java:1266)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:1015)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:908)
at com.pega.pegarules.session.internal.async.BatchRequestorTask.run(BatchRequestorTask.java:684)
at com.pega.jsr166backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:991)
at com.pega.jsr166backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:532)
at java.lang.Thread.run(Thread.java:745)

2016-08-16 09:31:08,226 [ PegaRULES-Batch-1] [ STANDARD] [ ] [ PegaMarketing:07.21] (ernal.async.BatchRequestorTask) ERROR - Batch activity "PegaMKT-Data-Outbound-Queue.ProcessOutboundStaging" threw:
com.pega.pegarules.pub.runtime.IndeterminateConditionalException: ** Problem invoking function: pegamkt_engine_pegamktutilities.CheckAndLockString--(PublicAPI,String,boolean), com.pegarules.generated.CheckAndLockString_072101_2HhN9FKZ64ROj5iMIQoR2Q
at com.pega.pegarules.priv.FUAUtil.activityPreTranIndeterminateConditionalCheck(FUAUtil.java:442)
at com.pegarules.generated.activity.ra_action_processoutboundstaging_01e398e9990ca056e7ef0eac14a4d52c.step1_circum0(ra_action_processoutboundstaging_01e398e9990ca056e7ef0eac14a4d52c.java:357)
at com.pegarules.generated.activity.ra_action_processoutboundstaging_01e398e9990ca056e7ef0eac14a4d52c.perform(ra_action_processoutboundstaging_01e398e9990ca056e7ef0eac14a4d52c.java:69)
at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3510)
at com.pega.pegarules.session.internal.async.agent.QueueProcessor.runActivity(QueueProcessor.java:729)
at com.pega.pegarules.session.internal.async.agent.QueueProcessor.execute(QueueProcessor.java:607)
at com.pega.pegarules.session.internal.async.BatchRequestorTask.run(BatchRequestorTask.java:967)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.performTargetActionWithLock(PRSessionProviderImpl.java:1266)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:1015)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:908)
at com.pega.pegarules.session.internal.async.BatchRequestorTask.run(BatchRequestorTask.java:684)
at com.pega.jsr166backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:991)
at com.pega.jsr166backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:532)
at java.lang.Thread.run(Thread.java:745)
2016-08-16 09:31:08,231 [ PegaRULES-Batch-1] [ STANDARD] [ ] [ PegaMarketing:07.21] ( internal.async.AgentQueue) ERROR - Agent [PegaMKT-Engine] activity [PegaMKT-Data-Outbound-Queue.ProcessOutboundStaging] queue number [7] disabled due to execution errors ErrorMsg: ** Problem invoking function: pegamkt_engine_pegamktutilities.CheckAndLockString--(PublicAPI,String,boolean), com.pegarules.generated.CheckAndLockString_072101_2HhN9FKZ64ROj5iMIQoR2Q


Steps to Reproduce



1. Install Pega Marketing 7.21 following the Pega Marketing Installation Guide on Pega Platform 7.2.
2. Configure Pega Marketing and enable Agents: PegaNBAM-Artifacts, PegaMKT-Engine, PegaMKT-PushNotification, PegaMKT-FieldMarketing.
3. Launch Pega Marketing application from built-in MarketingAdministrator user.
4. Launch Configuration > Settings > System Health.
5. Click on OutboundMaster and attempt to start it manually.


Root Cause



The PRPC instance was using a temp directory other than the expected one.
When the temp directory was cleared so the function libraries would be reassembled, the extract marker in the wrong directory was being removed.
So the PRPC application did not reassemble the pegamkt_engine_pegamktutilities library containing the CheckAndLockString function described in the error message.

Resolution



Remove the extract marker in the correct temp directory to resolve the issue when the PRPC instance gets restarted.

Published August 16, 2016 - Updated August 23, 2017

Have a question? Get answers now.

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