IndeterminateConditionalException in Agent Activity


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: ** @Default.hasMessages(D_GetComplaintIntakeValuesFromBolt) || .pyErrorPage.pyStatus ~== "Fail" null at com.pega.pegarules.priv.FUAUtil.activityPreTranIndeterminateConditionalCheck( at com.pegarules.generated.activity.ra_action_loadproblemtreedatapage_25dca19925e02607665212269626dd63.step3_circum0( at com.pegarules.generated.activity.ra_action_loadproblemtreedatapage_25dca19925e02607665212269626dd63.perform( at com.pega.pegarules.session.internal.mgmt.Executable.doActivity( at com.pega.pegarules.session.internal.async.agent.QueueProcessor.runActivity( at com.pega.pegarules.session.internal.async.agent.QueueProcessor.execute( at at com.pega.pegarules.session.internal.PRSessionProviderImpl.performTargetActionWithLock( at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked( at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked( at at com.pega.pegarules.session.internal.async.Agent.queueBatchActivityForAgent( at com.pega.pegarules.session.internal.async.Agent.queueBatchActivityForAgent( at at com.pega.pegarules.session.internal.async.Agent.runAgentTask( at com.pega.pegarules.session.internal.engineinterface.etier.impl.AsyncServant.processAsyncTask( at com.pega.pegarules.session.internal.engineinterface.etier.impl.AsyncServant.invoke( at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl._invokeEngine_privact( at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.invokeEngine( at com.pega.pegarules.session.internal.engineinterface.etier.ejb.EngineBean.invokeEngine( at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke( at sun.reflect.DelegatingMethodAccessorImpl.invoke( at java.lang.reflect.Method.invoke( at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod( at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable( at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable( at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingException( at com.pega.pegarules.internal.etier.ejb.EngineBeanBoot.invokeEngine( at com.pega.pegarules.internal.etier.interfaces.EJSLocalStatelessEngineBMT_f2439d86.invokeEngine(Unknown Source) at com.pega.pegarules.session.internal.engineinterface.etier.mdb.PRAsync.processRequest( at at at$ at at at at at$ at at at at at$


Keep up to date on this post and subscribe to comments

December 24, 2018 - 4:04am


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


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?


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

We will try this out and observe the outcome.

January 15, 2019 - 1:49pm


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!


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



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?