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

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
[email protected] - 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
[email protected] - 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

 
Suggest Edit

Published January 31, 2016 - Updated October 8, 2020

Did you find this content helpful? Yes No

Have a question? Get answers now.

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

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