Pega marketing campaign schedule missed and error about bad class definition
I have a marketing campaign which runs at 2AM every day. but after few runs, today's run was not started. The scheduled run is still in upcoming section. when I had a look into logs, I have seen below error messages:
2017-09-18 02:00:36,689 [l-threads-348899696)] [ STANDARD] [ IKC:01.03.01] ( internal.access.DatabaseImpl) ERROR - Cannot open the requested instance '': class or cla
ss group "" does not exist.
2017-09-18 02:00:36,753 [l-threads-348899696)] [ STANDARD] [ IKC:01.03.01] (System_Queue_ProgramRun.Action) ERROR - Error in Obj-Open-By-Handle
com.pega.pegarules.pub.database.BadClassDefinitionException: Class <blank> does not exist
I checked the "ProcessProgramRun" activity (step-2) which is to Open the ProgramRun work object using input handle(screenshot attached).
I'm not able to understand the reason for not starting the campaign. When I forcefully reschedule the same campaign, it is started without any issue.
Can some one help me in figure it out the actual issue and the reason for fetching the work objects before starting the campaign?
can you also check in the SMA for broken process queue item for 'System-Queue-ProgramRun' class. identify the queue item based on time you scheduled the campaign. The queue item xml data will become the primary page for ProcessProgramRun activity. so I expect to see the 'ProgramRunHandle' value to be present in the queue item data. however based on the exception, it looks like this value is not populated in the queue item. can you cross check.
The issue is identified. Below are the details of it:
When the campaign instances are moved from lower environments to live, the reserved IDs for PR(program run) were also moved(instances of Data-UniqueID can show the current reserved ID for PR-). When the campaign is trying to run, it is trying to create a next sequence number, if it is already there, campaign was not starting.
Example: current sequence number is PR-1433, the next run tries to create PR-1434, but if 1434 is already present due to earlier runs in live, campaign is stuck and not starting.
we have modified the LastreservedID in APP_PEGA_DATA.pc_data_uniqueid table to a different number(here we changed to 1700 for safer side. so next runs will start as 1701,1702,1703 and so on) after checking the all the existing PR sequence numbers from coveredins keys of particular campaign instances .