Support Article
OutOfMemoryError: Java heap space during Import product
SA-2139
Summary
During the import of a large application through the UI, due to the size of the import this was exhausing the java heap and resulting in the import failing and the error below appearing in the log file.
Error Messages
2014-09-30 08:47:23,461 [ WorkManager(2)-6] [ STANDARD] [ MyApp: 01.05.01] ( internal.util.MoveLog) INFO Admin
istrator@MyCompany - FATAL ERROR: Commit failed because Java heap space. Rulebase is now in an unknown state, terminating import
.
2014-09-30 08:47:23,549 [ WorkManager(2)-6] [ STANDARD] [ MyApp:01.01.01] ( internal.util.ImportImpl) ERROR Admin
istrator@MyCompany - Commit failed. Terminating import
java.lang.OutOfMemoryError: Java heap space
at java.io.ByteArrayOutputStream.<init>(ByteArrayOutputStream.java:60)
at com.pega.pegarules.data.internal.access.CompressImpl.deflate(CompressImpl.java:133)
at com.pega.pegarules.data.internal.access.PageDatabaseMapperImpl.getStreamFormOfPage(PageDatabaseMapperImpl.java:1258)
at com.pega.pegarules.data.internal.access.DatabaseImpl.preprocessInstancesBeforeCriticalCommitSection(DatabaseImpl.java
:3170)
at com.pega.pegarules.data.internal.access.DatabaseImpl.performOps(DatabaseImpl.java:2794)
at com.pega.pegarules.data.internal.access.DatabaseImpl.attemptToProcessUpdates(DatabaseImpl.java:2327)
at com.pega.pegarules.data.internal.access.DatabaseImpl.processUpdates(DatabaseImpl.java:2180)
at com.pega.pegarules.data.internal.access.DatabaseImpl.commit(DatabaseImpl.java:1932)
at com.pega.pegarules.deploy.internal.util.ImportImpl.issueCommit(ImportImpl.java:1495)
at com.pega.pegarules.deploy.internal.util.ImportImpl.importContents(ImportImpl.java:1400)
at com.pega.pegarules.deploy.internal.util.ImportImpl.performImport(ImportImpl.java:1619)
at com.pega.pegarules.deploy.internal.util.ImportImpl.performImport(ImportImpl.java:1549)
at com.pega.pegarules.deploy.internal.util.ImportImpl.importArchive(ImportImpl.java:910)
at com.pega.pegarules.deploy.internal.util.ImportImpl.importPegaArchive(ImportImpl.java:1529)
at com.pega.pegarules.deploy.internal.archive.PegaArchiveAbstract.doImport(PegaArchiveAbstract.java:322)
at com.pegarules.generated.pxImportArchive_060201_OJxD6VU15TYjlV46nBfmsw.pxImportArchive06_02_01(pxImportArchive_060201_
OJxD6VU15TYjlV46nBfmsw.java:140)
at com.pegarules.generated.pxImportArchive_060201_OJxD6VU15TYjlV46nBfmsw.invoke(pxImportArchive_060201_OJxD6VU15TYjlV46n
Bfmsw.java:82)
at com.pega.pegarules.generation.internal.library.LibraryRuntime.resolveAndinvokeFunctionViaReflection(LibraryRuntime.ja
va:131)
at com.pega.pegarules.generation.internal.library.LibraryRuntime.invokeLibraryRuntime(LibraryRuntime.java:108)
at com.pega.pegarules.session.internal.mgmt.Executable.invokeLibraryRuntime(Executable.java:7910)
at com.pega.pegarules.priv.generator.LibrarySupport.resolveAndInvokeFunctionViaReflection(LibrarySupport.java:181)
at com.pegarules.generated.pega_importexport_pximportexport.pxImportArchive(pega_importexport_pximportexport.java:254)
at com.pegarules.generated.activity.ra_action_pegarulesmove_zip_to_db_724d6167e5ac969737b18344ecc0aad2.step7_circum0(ra_
action_pegarulesmove_zip_to_db_724d6167e5ac969737b18344ecc0aad2.java:800)
at com.pegarules.generated.activity.ra_action_pegarulesmove_zip_to_db_724d6167e5ac969737b18344ecc0aad2.perform(ra_action
_pegarulesmove_zip_to_db_724d6167e5ac969737b18344ecc0aad2.java:193)
at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3034)
at com.pega.pegarules.session.internal.mgmt.base.ThreadRunner.runActivitiesAlt(ThreadRunner.java:617)
at com.pega.pegarules.session.internal.mgmt.base.ThreadRunner.runActivities(ThreadRunner.java:545)
at com.pega.pegarules.session.internal.mgmt.PRThreadImpl.runActivities(PRThreadImpl.java:581)
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:1070)
Root Cause
Memory exhaustion
Resolution
An alternative to importing the application through the UI is to us the prpcUtil import script.
Running the import off-line will allow for you to size the JVM heap for the import, in isolation to the running PRPC system.
Additionally, in the prpcUtils.properties file you can configure the "import.commit.count" to automatically commit after a specified number of rule updates.
For further information on running Import Tool please read-
https://pdn.pega.com/system-operations/how-to-import-or-export-an-archive-from-the-command-line
Published January 31, 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.