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

Error on installing a DL file

SA-73502

Summary



Error occurs while installing a DL file. User performs a restart and is unable to log in to the application.


Error Messages



Problem invoking function: pega_rules_utilities.lookup--(String,String,String,Std6af5986c45b6cb88f9367700da46181
java.lang.ClassNotFoundException: com.pegarules.generated.lookup_060225_v74rU18DAkQUcdSm7_hgww
at java.lang.Throwable.<init>(Throwable.java:80)
at java.lang.ClassNotFoundException.<init>(ClassNotFoundException.java:76)
at com.pega.pegarules.bootstrap.loader.PRAppLoader.loadClass(PRAppLoader.java:771)
at com.pega.pegarules.bootstrap.loader.PRAppLoader.loadClass(PRAppLoader.java:632)
at com.pega.pegarules.exec.internal.util.classloader.PRClassLoaderDB.loadClass(PRClassLoaderDB.java:927)
at java.lang.ClassLoader.loadClass(ClassLoader.java:609)
at com.pega.pegarules.generation.internal.library.LibraryMetadataCache$LibraryClassImplementation.<init>(LibraryMetadataCache.java:65)
at com.pega.pegarules.generation.internal.library.LibraryMetadataCache.getFunctionInstance(LibraryMetadataCache.java:273)
at com.pega.pegarules.generation.internal.library.LibraryRuntime.resolveAndinvokeFunctionViaReflection(LibraryRuntime.java:122)
at com.pega.pegarules.generation.internal.library.LibraryRuntime.invokeLibraryRuntime(LibraryRuntime.java:108)
at com.pega.pegarules.session.internal.mgmt.Executable.invokeLibraryRuntime(Executable.java:7691)
at com.pega.pegarules.priv.generator.LibrarySupport.resolveAndInvokeFunctionViaReflection(LibrarySupport.java:181)
at com.pegarules.generated.pega_rules_utilities.lookup(pega_rules_utilities.java:1689)



Steps to Reproduce



Install HFix-5369, HFix-5831and HFix-6824 through the Update Manager.

Root Cause

A defect in Pegasystems’ code or rules. When user installs PRPC 6.2 SP2 DL items, compilation of the Rule-Utility-Library instances are triggered for each hotfix containing the new Rule-Utility-Functions rules.

If a hotfix in the DL contains Rule-Utility-Function changes that rely on engine-level code changes in the same patch, then the compilation step for the Rule-Utility-Library fails. The engine-level code changes are unavailable until the system restarts. The Rule-Utility-Library compilation succeeds on system restart.

However, the DL import processing continues once the library fails to compile. The functions in the Rule-Utility-Library which did not compile are now unavailable. This causes major exceptions, impacting the rest of the DL import process. However, the agents fail.

If the hotfix delivering Rule-Utility-Function (RUF) and engine code changes is an Additional Related hotfix of another hotfix (Parent hotfix) in the DL file, then the Update Manager hotfix installation does not process the DL correctly.



Resolution



Perform the following local-change:
Follow the below steps to install the DL:
  1. Install the required patches for PRPC 6.2 SP2 Update Manager: HFix-5369, HFix-5831 and HFix-6824. (Do not install if already installed)
  2. Restart the server
  3. Install HFix-6050 using the Update Manager. (Do not install if the hotfix is already available on the system).
    HFix-6050 must be applied before installing the hotfixes which deliver the engine code changes. HFix-6050 enables the Update Manager to skip the library compilation for the specific rule archives
  4. Restart the server
  5. Manually modify the DL item using the below  instructions:
    Open the Application.xml file and add compilelibraries=False to each partfile in each hotfix JAR.
    For example, Application.xml for HFix-5535.jar file

<application description="HFix-5535"  name="PegaRULES ProcessCommander V6">

<parfile name="Pega-AutoTest.jar" order="1" mode="hotfix"  compilelibraries="false" >

</parfile>

<parfile name="Pega-SystemArchitect.jar" order="2" mode="hotfix" compilelibraries="false">

</parfile>

<parfile name="Pega-Desktop.jar" order="3" mode="hotfix" compilelibraries="false">

</parfile>

<parfile name="Pega-Reporting.jar" order="4" mode="hotfix" compilelibraries="false" >

</parfile>

<parfile name="Pega-UIEngine.jar" order="5" mode="hotfix" compilelibraries="false">

</parfile>

<parfile name="Pega-ProcessEngine.jar" order="6" mode="hotfix" compilelibraries="false">

</parfile>

<parfile name="Pega-RulesEngine.jar" order="7" mode="hotfix" compilelibraries="false">

</parfile>

<parfile name="Pega-RULES.jar" order="8" mode="hotfix" compilelibraries="false">

</parfile>

<cardir name="lib" order="9"/>

</application>
 

Add the updated Application.xml file back to the HFix.jar file. Make the above change to Application.xml to every hotfix in the DL. Add the updated HFix.jar files back to the DL item. Steps 3, 4, and 5 ensure that any subsequent hotfixes delivering the Rule-Utility-Function (RUF) instances with dependent engine code changes install properly if the parameter compilelibraries=false is specified in the Application.xml <parfile> of the HFix.jar file.

  1. Install the modified DL file
  2. Stop the server
  3. Delete the PegaRULES_Extract_Marker.txt file to force a recompilation of all the updates
  4. Restart the server

 


 

 

Published August 19, 2019 - Updated October 8, 2020

Was this useful?

0% found this useful

Have a question? Get answers now.

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

Did you find this content helpful?

Want to help us improve this content?

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