Question

IndeterminateConditionalException in Agent Activity

Hi,

We are getting a below response sporadically for the agent activity run. Could you help me determin e what could be the issue here? How can it be rectified?

This agent runs at the same time on almost 60+ nodes but exception is coming only on any one of the node and that too once in a while, not daily.

Below are the steps mentioned in Agent activity

1) Load data page

2) Connect-Wait

3) When condition to identify any failures((@Default.hasMessages(D_GetComplaintIntakeValuesFromBolt) || .pyErrorPage.pyStatus ~== "Fail"))

Below exception is being thrown in When condition itself

Exception at 20181221T064459.589 GMT: com.pega.pegarules.pub.runtime.IndeterminateConditionalException: ** @Default.hasMessages(D_GetComplaintIntakeValuesFromBolt) || .pyErrorPage.pyStatus ~== "Fail" null at com.pega.pegarules.priv.FUAUtil.activityPreTranIndeterminateConditionalCheck(FUAUtil.java:442) at com.pegarules.generated.activity.ra_action_loadproblemtreedatapage_25dca19925e02607665212269626dd63.step3_circum0(ra_action_loadproblemtreedatapage_25dca19925e02607665212269626dd63.java:429) at com.pegarules.generated.activity.ra_action_loadproblemtreedatapage_25dca19925e02607665212269626dd63.perform(ra_action_loadproblemtreedatapage_25dca19925e02607665212269626dd63.java:106) at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3505) at com.pega.pegarules.session.internal.async.agent.QueueProcessor.runActivity(QueueProcessor.java:721) at com.pega.pegarules.session.internal.async.agent.QueueProcessor.execute(QueueProcessor.java:602) at com.pega.pegarules.session.internal.async.BatchRequestorTask.run(BatchRequestorTask.java:945) at com.pega.pegarules.session.internal.PRSessionProviderImpl.performTargetActionWithLock(PRSessionProviderImpl.java:1259) at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:1008) at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:901) at com.pega.pegarules.session.internal.async.BatchRequestorTask.run(BatchRequestorTask.java:670) at com.pega.pegarules.session.internal.async.Agent.queueBatchActivityForAgent(Agent.java:1504) at com.pega.pegarules.session.internal.async.Agent.queueBatchActivityForAgent(Agent.java:1293) at com.pega.pegarules.session.internal.async.AgentQueue.run(AgentQueue.java:792) at com.pega.pegarules.session.internal.async.Agent.runAgentTask(Agent.java:936) at com.pega.pegarules.session.internal.engineinterface.etier.impl.AsyncServant.processAsyncTask(AsyncServant.java:221) at com.pega.pegarules.session.internal.engineinterface.etier.impl.AsyncServant.invoke(AsyncServant.java:167) at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl._invokeEngine_privact(EngineImpl.java:315) at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.invokeEngine(EngineImpl.java:263) at com.pega.pegarules.session.internal.engineinterface.etier.ejb.EngineBean.invokeEngine(EngineBean.java:225) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:367) at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:408) at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:223) at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingException(AppServerBridgeToPega.java:245) at com.pega.pegarules.internal.etier.ejb.EngineBeanBoot.invokeEngine(EngineBeanBoot.java:168) at com.pega.pegarules.internal.etier.interfaces.EJSLocalStatelessEngineBMT_f2439d86.invokeEngine(Unknown Source) at com.pega.pegarules.session.internal.engineinterface.etier.mdb.PRAsync.processRequest(PRAsync.java:155) at com.pega.pegarules.session.internal.engineinterface.etier.asynchbeans.AsyncTask.run(AsyncTask.java:64) at com.pega.pegarules.session.internal.engineinterface.etier.asynchbeans.RunnableWrapper.run(RunnableWrapper.java:71) at com.ibm.ws.asynchbeans.J2EEContext$RunProxy.run(J2EEContext.java:271) at java.security.AccessController.doPrivileged(AccessController.java:424) at javax.security.auth.Subject.doAs(Subject.java:495) at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:133) at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:91) at com.ibm.ws.asynchbeans.J2EEContext$DoAsProxy.run(J2EEContext.java:338) at java.security.AccessController.doPrivileged(AccessController.java:453) at com.ibm.ws.asynchbeans.J2EEContext.run(J2EEContext.java:806) at com.ibm.ws.asynchbeans.WorkWithExecutionContextImpl.go(WorkWithExecutionContextImpl.java:222) at com.ibm.ws.asynchbeans.ABWorkItemImpl.run(ABWorkItemImpl.java:206) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1892)

Comments

Keep up to date on this post and subscribe to comments

December 24, 2018 - 4:04am

Hello,

Can we look into this activity: PreTranIndeterminateConditionalCheck

December 24, 2018 - 3:06pm
Response to MarcLasserre_GCS

I do not find any such activity or any rule with this name.

December 26, 2018 - 1:34pm
Response to Rachit_Agarwal

Hi Rachit,

 

Based on the link you have provided, Would you like to recommend any local change in below pre-condition?

 

((@Default.hasMessages(D_GetComplaintIntakeValuesFromBolt) || .pyErrorPage.pyStatus ~== "Fail"))

January 9, 2019 - 2:25pm

Pega GCS,

Could you please provide any help for above request?

January 15, 2019 - 1:46pm

Hello,

Based on the links above, I think the thing you could confirm is if .pyErrorPage.pyStatus is present on the clipboard. If not, it sounds like you could get the IndeterminateConditionalException.  If you add @(Pega-RULES:Default).PageExists("<PAGENAME.PROPERTYNAME>") into the logic with a path to bail out if this is false, does that correct the issue?

Thanks,
Mike

January 15, 2019 - 6:42pm
Response to MikeTownsend_GCS

We will try this out and observe the outcome.

Pega
January 15, 2019 - 1:49pm

Hi,

Can you try using expression builder (the gear icon in the "When" or "Jump" step in the activity) to validate the pieces of the condition?

I tried testing the same syntax,using one of my own data pages in the hasMessages call, and it seems to work fine.  If I give the name of a data page that does not exist it causes the condition to fail with the same kind of error.  Is it possible that there is a typo in the data page's name?

Hope this helps!

-Kurt

January 15, 2019 - 6:41pm
Response to KurtW_GCS

Hi,

 

I can rule out the typo part since data page name is correct and issue is not always happening .

November 14, 2019 - 8:50pm
Response to SaurabhG7566

How you resolved the issue?