IBM BPM, V8.0.1, All platforms > Installing, deploying, and undeploying applications in the runtime environment
Preventing timeout and out-of-memory exceptions during installation or deployment
Because Advanced Integration services can increase the size of a process application or toolkit, snapshot installation might fail with a timeout or out-of-memory exception.
A timeout exception can occur when the size of the process application or toolkit prevents the installation from completing in the time allotted (by default, 720 seconds). When this exception occurs, you can see a message like the following in the server log:
CWPFD2064W: A timeout occurred during processing of the job With a root cause: WTRN0124I: When the timeout occurred the thread with which the transaction ... sun.misc.Unsafe.park(Native Method)An out-of-memory exception can occur when the size of the process application or toolkit exceeds the available memory during installation. During the installation process, the serviceDeploy utility (used for the Advanced Integration service content) is invoked for each SCA module in the process application. The default behavior is for serviceDeploy to run in the same process. When this exception occurs, you can see a message like the following in the server log:
CWPFD1300E: Service deploy failed with return code 3 With a root cause: java.lang.OutOfMemoryErrorTo resolve or prevent these errors, use the following system Java virtual machine (JVM) properties to override the default system behavior:
- com.ibm.bpm.pal.deploy.timeout
Use this property to set a new timeout value for the installation. The value is specified in seconds. To revert to the default behavior, delete the system property or set the value to 720.
- com.ibm.bpm.fds.sca.deploy.outOfProcess
Set the value of this property to true so that serviceDeploy runs in a new process for each SCA module in the process application. Be aware that this causes noticeable performance degradation of the overall installation process. If you set this system property, consider also setting the com.ibm.bpm.pal.deploy.timeout property to a value larger than the default.
To revert to the default behavior, delete the system property or set the value to false.
These system JVM properties need to be set on each affected server. Because they are scoped to the server, they are used for all process application installations on that server.
Procedure
To set one or both of these system properties, use the following steps.
- Log on to the WebSphere Application Server administrative console.
- Select the server by clicking Servers > Server Types > WebSphere application servers > server_name.
- From the Server Infrastructure area, click Java and Process Management > Process definition > Java Virtual Machine > Custom Properties.
- Create one or both of these custom properties:
name = com.ibm.bpm.pal.deploy.timeout value = timeout_value name = com.ibm.bpm.fds.sca.deploy.outOfProcess value = trueThe timeout value is specified in seconds.- Click OK and save the changes to the configuration when prompted.
- Restart the server.
Installing, deploying, and undeploying applications in the runtime environment