Question
HCL Technologies
HCL Technologies
NL
HCL Technologies
Posted: Feb 7, 2019
Last activity: Feb 13, 2019
Last activity: 13 Feb 2019 12:43 EST
Closed
Cannot open the requested instance ' O-667': class or class group "\sDoesNotExist
We have been seeing the error below only in our Production environment. Not reproducible in any other environment.
Show More
We have been seeing the error below only in our Production environment. Not reproducible in any other environment. Any help on what might be causing it will be highly appreciated. Stack Trace: Cannot open the requested instance ' O-667': class or class group "\sDoesNotExist Error in Obj-Open-By-Handle
com.pega.pegarules.pub.database.BadClassDefinitionException: Class <blank> does not exist
at com.pega.pegarules.data.internal.access.Opener.open(Opener.java:2274) ~[prprivate.jar:?]
at com.pega.pegarules.data.internal.access.DatabaseImpl.open(DatabaseImpl.java:2662) ~[prprivate.jar:?]
at com.pega.pegarules.pub.runtime.AbstractActivity.objOpenByHandle(AbstractActivity.java:121) ~[prpublic.jar:?]
at com.pegarules.generated.activity.ra_action_open_68116452dd5fe9b174dea6da4e1e76cd.step8_circum0(ra_action_open_68116452dd5fe9b174dea6da4e1e76cd.java:1152) ~[?:?]
at com.pegarules.generated.activity.ra_action_open_68116452dd5fe9b174dea6da4e1e76cd.perform(ra_action_open_68116452dd5fe9b174dea6da4e1e76cd.java:195) ~[?:?]
at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3597) ~[prprivate.jar:?]
at com.pega.pegarules.session.internal.mgmt.Executable.invokeActivity(Executable.java:10845) ~[prprivate.jar:?]
at com.pegarules.generated.activity.ra_action_getworkbyid_5e18407f8130f4373d9484671e92d960.step4_circum0(ra_action_getworkbyid_5e18407f8130f4373d9484671e92d960.java:429) ~[?:?]
at com.pegarules.generated.activity.ra_action_getworkbyid_5e18407f8130f4373d9484671e92d960.perform(ra_action_getworkbyid_5e18407f8130f4373d9484671e92d960.java:124) ~[?:?]
at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3597) ~[prprivate.jar:?]
at com.pega.pegarules.session.internal.mgmt.base.ThreadRunner.runActivitiesAlt(ThreadRunner.java:646) ~[prprivate.jar:?]
at com.pega.pegarules.session.internal.mgmt.PRThreadImpl.runActivitiesAlt(PRThreadImpl.java:481) ~[prprivate.jar:?]
at com.pega.pegarules.session.internal.engineinterface.service.HttpAPI.runActivities(HttpAPI.java:3414) ~[prprivate.jar:?]
at com.pega.pegarules.session.external.engineinterface.service.EngineAPI.processRequestInner(EngineAPI.java:399) ~[prenginext.jar:?]
at sun.reflect.GeneratedMethodAccessor79.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) ~[?:1.8.0]
at java.lang.reflect.Method.invoke(Method.java:508) ~[?:1.8.0]
at com.pega.pegarules.session.internal.PRSessionProviderImpl.performTargetActionWithLock(PRSessionProviderImpl.java:1338) ~[prprivate.jar:?]
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:1075) ~[prprivate.jar:?]
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:930) ~[prprivate.jar:?]
at com.pega.pegarules.session.external.engineinterface.service.EngineAPI.processRequest(EngineAPI.java:336) ~[prenginext.jar:?]
at com.pega.pegarules.session.internal.engineinterface.service.HttpAPI.invoke(HttpAPI.java:854) ~[prprivate.jar:?]
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl._invokeEngine_privact(EngineImpl.java:331) ~[prprivate.jar:?]
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.invokeEngine(EngineImpl.java:274) ~[prprivate.jar:?]
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.invokeEngine(EngineImpl.java:251) ~[prprivate.jar:?]
Show Less
Hello,
Taking a look at the stack trace, the issue occurs when the activity Open calls the method obj-open-by-handle in step 4. That's pretty straightforward, with only Param.InsHandle being passed, so I'd start by tracing that to confirm that the instance handle you are passing is valid. It comes from the calling activity, GetWorkByID, param.WorkID, so if there is a problem you'll need to step back and see what's going on there. If the InsHandle looks good, you could try creating an activity where you hard code it. Does that get the same error? You can also go straight to the database and look for that pzInsKey. Does the item exist? What class is it? Is the class defined in the system?
Taking a closer look at the error, it looks like the handle is invalid because the class is blank, and there is just an item ID. That will fail. ' O-667' should look like "myClass O-667". What is calling GetWorkByID and how is it determining the instance handles to pass in?
Thanks,