Issue
When executing a delivery from Semarchy xDI Designer or on an xDI Runtime, the execution may fail with:
com.indy.engine.common.exceptions.EngineExceptionI: Unknown java.lang.error working with the engine, contact your supplier at com.indy.engine.action.common.ActionCodeTypeI.executeCode(SourceFile:1688) at com.indy.engine.action.common.ActionCodeTypeI.run(SourceFile:1805) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.OutOfMemoryError: Java heap space
Cause
This usually occurs when the delivery processes a large data volume and the JVM heap allocated to the xDI Runtime is not sufficient.
Solution
Review the failing action, such as SqlOperation or SqlFileExport, and adjust the Fetch Size if applicable.
Increase the Runtime JVM memory using the current xDI environment variable XDI_RUNTIME_OPTS.
Example:
XDI_RUNTIME_OPTS="-Xms2g -Xmx8g"
On Windows:
set XDI_RUNTIME_OPTS=-Xms2g -Xmx8g
On Linux:
export XDI_RUNTIME_OPTS="-Xms2g -Xmx8g"
If the Runtime is started through startcommand.bat or startcommand.sh, use XDI_COMMAND_OPTS instead:
XDI_COMMAND_OPTS="-Xms2g -Xmx8g"