Support Article
FirstUseAssemblerException when compiling MapValue rules
SA-52135
Summary
FirstUseAssemblerException when compiling MapValue rules which are more than 1400 rows. This occurs post upgrading from PRPC 6.3 SP1 environment to Pega 7.3.1.
Error Messages
Caused by: com.pega.pegarules.pub.generator.FirstUseAssemblerException: Failed to compile generated Java com.pegarules.generated.mapvalue.ra_action_end_deterpremium_8b69f4a42921fe434ab8b9d183a363b4: ----------
1. ERROR in \com\pegarules\generated\mapvalue\ra_action_end_deterpremium_8b69f4a42921fe434ab8b9d183a363b4.java (at line 43)
public void perform() {
^^^^^^^^^
The code of method perform() is exceeding the 65535 bytes limit
----------
1 problem (1 error)
Compile failed.
Steps to Reproduce
Create a MapValue with 1500 rows and execute it.
Root Cause
A 64K limit is set on the size of a Java method; this limit is intrinsic to Java. The Java code generated to support these rows results in the main method exceeding the 64K byte limit.
Resolution
Perform the following local-change:
Split the MapValue rule in to multiple smaller rules (it is possible to have one MapValue rule reference another). Additionally, an enhancement request, FDBK-24868, is created for consideration by Pega Product Management.
Published July 23, 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.