Question

2
Replies
188
Views
DurgaraoJeeri Member since 2016 37 posts
Incessant Technologies
Posted: December 13, 2017
Last activity: January 2, 2018
Closed
Solved

ProcessPurging(PegaMKT-Engine) agent recording errors

We have an OOTB agent (ProcessPurging) in PegaMKT-Engine ruleset. This is scheduled to run every day at 23:00:00 GMT in production. Whenever this agent starts running, the below error message is being recording in the PegaRULES.log

2017-12-12 23:00:13,153 [-threads-2069685777)] [ STANDARD] [ IKC:01.01.01] (able.Pega_DM_Batch_Work.Action) ERROR - Failed to clean up class data :History-Data-BatchOutPR1867 in database :PegaDATA

2017-12-12 23:00:16,561 [-threads-2069685777)] [ STANDARD] [ IKC:01.01.01] (l.access.ConnectionManagerImpl) ERROR - Not returning connection 2 for database "externalmktdata" to the pool as it previously encountered the following error

User ID: System

Last SQL: select count (*) as "pyCount" from APP_PEGA_NBAM.BatchOutPR1867 where pxObjClass = 'Data-BatchOutPR1867'

java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445)

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)

at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879)

at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450)

at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)

at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)

at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)

at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:884)

at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1167)

at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1289)

at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3594)

at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3695)

at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1378)

at com.pega.pegarules.data.internal.access.DatabasePreparedStatementImpl.execute(DatabasePreparedStatementImpl.java:581)

at com.pega.pegarules.data.internal.access.DatabaseImpl.list(DatabaseImpl.java:6202)

at com.pega.pegarules.data.internal.access.DatabaseImpl.executeRDB(DatabaseImpl.java:6676)

at com.pega.pegarules.data.internal.access.DatabaseImpl.executeRDB(DatabaseImpl.java:6632)

at com.pega.pegarules.data.internal.access.DatabaseImpl.executeRDB(DatabaseImpl.java:6613)

at Pega.Page.RDBExecute(Page.java:1175)

at com.pegarules.generated.activity.ra_action_validatedeleteinternal_03b9f12d63c5e0bb1fc8914dc86991ab$Pz_8_0_1.step(ra_action_validatedeleteinternal_03b9f12d63c5e0bb1fc8914dc86991ab.java:874)

at com.pegarules.generated.activity.ra_action_validatedeleteinternal_03b9f12d63c5e0bb1fc8914dc86991ab.step8_circum0(ra_action_validatedeleteinternal_03b9f12d63c5e0bb1fc8914dc86991ab.java:837)

at com.pegarules.generated.activity.ra_action_validatedeleteinternal_03b9f12d63c5e0bb1fc8914dc86991ab.perform(ra_action_validatedeleteinternal_03b9f12d63c5e0bb1fc8914dc86991ab.java:197)

at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3505)

My Analysis:

As part of this agent execution, the activity “validatedeleteinternal” is being called and at the step-8 of this activity there is a Java method running a select query on the corresponding tables of class instances “Rule-Obj-Class”. The code for this is as below:

String thisClassName = myStepPage.getValue("pyClassName");

Page RuleListPage = createPage("Code-Pega-List", "InstanceList");

RuleListPage.setValue("pyObjClass", thisClassName);

RuleListPage.setValue("pyMaxRecords", "0");

String sqlString = "select count (*) as \"pyCount\" from {Class:" + thisClassName + "} where pxObjClass = '" + thisClassName + "'";

RuleListPage.RDBExecute(sqlString);

This is selecting the count value, but in the where condition it is referring “pxObjClass” as one of the column for Data-BatchOutPRXXXX table. But there is no such column at all in this table. For your information, this class is being created in one of the application ruleset created by us.

Can you please suggest if this is the defect in the product as it is referring the table’s column (pxObjClass) which is not available for Data-BatchOutPRXXXX table( XXXX – is some 4 digit number)?

Kindly suggest the fix for this issue.

***Updated by moderator: Lochan to update SR group tag***

Decision Management SR Parallel
Moderation Team has archived post
Share this page LinkedIn