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

Resolved-Completed status returned on erroneous Program Run

SA-20773

Summary



Users were starting a Program Run programmatically using the StartProgramRun activity in RuleSet (PegaMKT-Engine-07-11-05). The calling activity in PegaNBAM-Artifacts Ruleset has exception handling checking the value of pyStatusWork. Users observed an error in the logs that does not appear to be returning an erroneous pyStatusWork status. Based on the path in the application logic, a pyStatusWork of Resolved-Completed is being returned despite the error in the logs. From a database check of the database, it is confirmed that the status of the Program run is Resolved-Completed.

The order of events for when this was observed is as follows:

(1) Batch Job - 1 started at 11:26 (completed successfully at 13:32)
(2) Batch Job - 2 started at 13:32
- error at 14:37
- sent successful response back at 14:39. Note that this job was processing >400,000 records


Error Messages



[17/02/16 14:37:22:079 GMT] 00000099 SystemOut O 2016-02-17 14:37:22,079 [.PRPCWorkManager : 2] [ STANDARD] [YourApp:01.11.01] (atus.Pega_DM_Batch_Work.Action) ERROR - Failed to complete batch run & WO is open running for last: 30 minutes and progress of records are constant for long time

Steps to Reproduce



Run batch process that starts Program programmatically.

Root Cause



Following parameters are used in an activity that is waiting for the queued DSM Strategy execution to complete, it periodically reads the execution progress page and firstly tests, if it’s in pending state and applies the autoRecoveryTimeForPendingStatus parameter above to state if it’s been waiting too long and if it’s in running state then it uses the autoRecoveryTimeForOpenRunningStatus parameter to control how long it should be allowed to run for.
DSS autoRecoveryTimeForPendingStatus describes the amount of time a DSM batch job will be allowed to wait prior to being picked up.
DSS autoRecoveryTimeForOpenRunningStatus is the setting that controls the amount of time the DSM batch job will be allowed to run for prior to being terminated.


Resolution



Suggested user to set the “autoRecoveryTimeForPendingStatus” and “autoRecoveryTimeForOpenRunningStatus” Dynamic System Settings parameter values to a value larger than the expected time to process. After setting the appropriate value, the reported error no more observed.
 

Suggest Edit

Published March 16, 2016 - Updated October 8, 2020

Did you find this content helpful? Yes No

Have a question? Get answers now.

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

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
Contact us