Support Article
Unable to delete unlocked ruleset
SA-13277
Summary
The Delete a Ruleset wizard hangs at the Generating restoration file step and fails to delete anything.
Error Messages
"Log-Delete.DeleteRuleSet" threw:
com.pega.pegarules.pub.PRRuntimeError: PRRuntimeError
at com.pega.pegarules.session.internal.mgmt.base.ThreadRunner.runActivitiesAlt(ThreadRunner.java:683)
at com.pega.pegarules.session.internal.mgmt.base.ThreadRunner.runActivities(ThreadRunner.java:545)
at com.pega.pegarules.session.internal.mgmt.PRThreadImpl.runActivities(PRThreadImpl.java:593)
at com.pega.pegarules.session.internal.async.agent.QueueProcessor.executeBatchTask(QueueProcessor.java:253)
at com.pega.pegarules.session.internal.async.agent.QueueProcessor.execute(QueueProcessor.java:316)
at com.pega.pegarules.session.internal.async.BatchRequestorTask.run(BatchRequestorTask.java:837)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:1081)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:812)
at com.pega.pegarules.session.internal.async.BatchRequestorTask.run(BatchRequestorTask.java:586)
at com.pega.jsr166backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:991)
at com.pega.jsr166backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:532)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.NullPointerException
at com.pega.pegarules.session.internal.authorization.SessionAuthorization.enableUpdateForRuleSet(SessionAuthorization.java:831)
at com.pega.pegarules.session.internal.authorization.Authorization.canUpdateRuleSet(Authorization.java:1026)
Steps to Reproduce
- Install HFix-20608 and HFix-10142 and their dependencies.
- Run the Delete a Ruleset wizard.
Root Cause
The behavior is due to a dependent HFix-7845 that was installed. HFix-7845 reduces the cost of spawning child requestors.
Integration Connectors intended to run in parallel as child requestors of their parent requestors cause increased Elapsed Time and CPU Time. The hotfix delivers, and sets as the default, settings that optimize Integration Connectors using Run In Parallel mode, reducing Elapsed Time to 10% and CPU Time to 30%. You can disable the entire set of optimizations by specifying initialization/childrequestors/uselightweightauth.
Resolution
Perform the following local-change:
Set the prconfig setting, initialization/childrequestors/uselightweightauth to false in either the prconfig.xml file or a Dynamic System Setting.
To set the value in the prconfig.xml file, add this entry.
<env name="initialization/childrequestors/uselightweightauth" value="false"/>
To use a Dynamic System Setting, create the setting as shown here.
Published January 26, 2016 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.