Support Article
Bulk Re-validate and Save throws compilation error
SA-48965
Summary
User has performed an upgrade from PRPC 6.1 to Pega 7.3 after which they have imported Pega 7 Upgrade Accelerator into the application.
On performing Bulk revalidate and Save from Upgrade Accelerator landing page, they are facing compilation errors.
Error Messages
2017-12-16 09:06:55,754 [http-bio-8073-exec-6] [TABTHREAD1] [ ] [ SRTest:01.01.01] ( pega.jsr199.Jsr199Bridge) ERROR -1|- Failed to compile rule: /com/pegarules/generated/activity/ra_action_txbranchvalidateandexport_c9d9f7084519902e4e02810a85a2ea12.java
2017-12-16 09:06:55,825 [http-bio-8073-exec-6] [TABTHREAD1] [ ] [ SRTest:01.01.01] (ernal.cache.AssemblerFunctions) ERROR - The rule which attempted to use a non-accessible jar during rule compilation is: "com.pegarules.generated.activity.ra_action_txbranchvalidateandexport_c9d9f7084519902e4e02810a85a2ea12". Please see error above for non-accessible jar information.
2017-12-16 09:06:55,825 [http-bio-8073-exec-6] [TABTHREAD1] [ ] [ SRTest:01.01.01] (sm.VirtualTableAssemblyHandler) ERROR - Failed to compile com.pegarules.generated.activity.ra_action_txbranchvalidateandexport_c9d9f7084519902e4e02810a85a2ea12, pzInsKey = RULE-OBJ-ACTIVITY PEGA-LANDING-PROTOTYPEUTILITIES-UPGRADE-BULKREVALIDATE TXBRANCHVALIDATEANDEXPORT #20160707T072117.052 GMT; see class's compile log file.
2017-12-16 09:06:55,843 [http-bio-8073-exec-6] [TABTHREAD1] [ ] [ SRTest:01.01.01] ( internal.mgmt.Executable) ERROR - FirstUseAssemblerException
com.pega.pegarules.pub.generator.FirstUseAssemblerException: Failed to compile generated Java com.pegarules.generated.activity.ra_action_txbranchvalidateandexport_c9d9f7084519902e4e02810a85a2ea12: ----------
1. ERROR in \com\pegarules\generated\activity\ra_action_txbranchvalidateandexport_c9d9f7084519902e4e02810a85a2ea12.java (at line 476)
java.util.Map appenders = com.pega.apache.log4j.LogManager.getAppenders();
^^^^^^^^^^^^^^^^^^^^^
com.pega.apache.log4j cannot be resolved
----------
2. ERROR in \com\pegarules\generated\activity\ra_action_txbranchvalidateandexport_c9d9f7084519902e4e02810a85a2ea12.java (at line 485)
if (objAppender instanceof com.pega.apache.log4j.FileAppender)
^^^^^^^^^^^^^^^^^^^^^
com.pega.apache.log4j cannot be resolved to a type
----------
3. ERROR in \com\pegarules\generated\activity\ra_action_txbranchvalidateandexport_c9d9f7084519902e4e02810a85a2ea12.java (at line 487)
com.pega.apache.log4j.FileAppender fa = (com.pega.apache.log4j.FileAppender) objAppender;
^^^^^^^^^^^^^^^^^^^^^
com.pega.apache.log4j cannot be resolved to a type
----------
4. ERROR in \com\pegarules\generated\activity\ra_action_txbranchvalidateandexport_c9d9f7084519902e4e02810a85a2ea12.java (at line 487)
com.pega.apache.log4j.FileAppender fa = (com.pega.apache.log4j.FileAppender) objAppender;
^^^^^^^^^^^^^^^^^^^^^
com.pega.apache.log4j cannot be resolved to a type
----------
4 problems (4 errors)
Compile failed.
Steps to Reproduce
1. Import Pega7UpgradeAccelerator jar into the application.
2. Add "Pega7-Upgrade-Accelerator:07-10" ruleset to the application.
3. Launch Upgrade Accelerator landing page.
4. Perform Bulk-revalidate and save on any of the rule types.
Root Cause
The issue is because log4j appender is been used in "txbranchvalidateandexport" activity that is invoked as part of bulk revalidate and save where actually the jar is not present in the environment and hence is the compilation error.
Resolution
Perform the following local-change:
1. Perform save as of the activity "txbranchvalidateandexport" to application ruleset with Applies to class "Pega-Landing-PrototypeUtilities-Upgrade-BulkRevalidate".
2. Update java code in Step 3 with below code.
filename = tools.getSystemSettings().getFSSetting("initialization/explicittempdir", "" , true, false);
filename= filename +"/StaticContent/global/ServiceExport/";
3. Save the activity and test the scenario by executing the utility "Bulk revalidate and Save".
Published April 12, 2018 - 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.