VERIFIED SOLUTION i

'java.lang.OutOfMemoryError' message during Batch execution in EngageOne Server


 

Issue

Batch (Accumulated or Non-Accumulated) execution fails with 'java.lang.OutOfMemoryError' in EngageOne Server.

Cause

Batch launches a new instance of Java Virtual Machine (JVM). The 'java.lang.OutOfMemoryError' is encountered when the JVM launched with Batch execution runs of out of memory. This could be caused due to large number of input record used during Batch execution.
 

Resolution

UPDATED: May 21, 2019
The JVM settings of Java used by Batch can be changed by modifying -Xmx (Maximum Java heap size) parameter in the corresponding batch file. By default, this value is 512 MB which can be changed to bigger value depending upon the RAM size.

Changing it to 2 GB (2048 MB) should work.  After modification, the relevant line in
  • 'run-na-batch.bat' looks as following:
%JAVA_HOME%\bin\java -cp .;e1-server-batch.jar;%ADDTL_CP% -Xmx2048m com.pb.engageone.server.batch.na.runner.CommandLineRunner %*
  • 'run-bat' looks as following:
%JAVA_HOME%\bin\java -cp .;e1-server-batch.jar;%ADDTL_CP% -Xmx2048m com.pb.engageone.server.batch.Runner %*