Orchestration FAQ's and Error Conditions
Initialisation Errors
Initialisation Errors
- The Orchestration job fails with a disk space error
-
You see an error similar to the following in the job log:
2012-01-18 23:37:52,637 [Thread-14] INFO com.midvision.rapiddeploy.utilities.io.FileServices - File size for: HELLO_WORLD_002.jar is: 8282 2012-01-18 23:37:52,638 [Thread-14] INFO com.midvision.rapiddeploy.utilities.io.FileServices - Usable space free in: midvision is: 0 2012-01-18 23:37:52,641 [Thread-14] FATAL com.midvision.rapiddeploy.orchestration.tasks - Processing Exception java.lang.Exception: Deployment cannot proceed due to insufficient free space in: F:\midvision (must be at least file size * 2 present). at com.midvision.rapiddeploy.orchestration.tasks.InitialisationTask.runTask(InitialisationTask.java:156) at com.midvision.rapiddeploy.domain.task.core.AbstractJobRunner.runBatch(AbstractJobRunner.java:459) at com.midvision.rapiddeploy.domain.task.core.AbstractJobRunner._runBatch(AbstractJobRunner.java:400) at com.midvision.rapiddeploy.remoting.server.JobRunner._main(JobRunner.java:70) at com.midvision.rapiddeploy.remoting.server.JobRunner.main(JobRunner.java:33) at com.midvision.rapiddeploy.remoting.server.RemoteInvocationHandler.run(RemoteInvocationHandler.java:178) at java.lang.Thread.run(Thread.java:736)
You will see this error if the filesystem in which the jobs workingDir has insufficient space to unzip the deployment package. By default this is set to twice the size of the package, but is configurable on the InitialisationTask. Please check the disk space on the target server and correct if neccessary.
- The Orchestration job fails with an out of memory error while doing the file search/replace.
-
You see an error similar to the following in the job log:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at java.util.Arrays.copyOf(Arrays.java:2882) at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100) at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:390) at java.lang.StringBuilder.append(StringBuilder.java:119) at com.midvision.rapiddeploy.utilities.io.FileServices.readFileAsString(FileServices.java:618) at com.midvision.rapiddeploy.utilities.io.sed.replaceAllNoRegEx(sed.java:38) at com.midvision.rapiddeploy.orchestration.tasks.InitialisationTask.doFileAndPathReplacements(InitialisationTask.java:212) at com.midvision.rapiddeploy.orchestration.tasks.InitialisationTask.runTask(InitialisationTask.java:189) at com.midvision.rapiddeploy.domain.task.core.AbstractJobRunner.runBatch(AbstractJobRunner.java:250) at com.midvision.rapiddeploy.domain.task.core.AbstractJobRunner._runBatch(AbstractJobRunner.java:208) at com.midvision.rapiddeploy.domain.task.core.AbstractJobRunner._main(AbstractJobRunner.java:187) at com.midvision.rapiddeploy.domain.task.core.JobRunner.main(JobRunner.java:33)
This error is happening because the InitialisationTask does a search and replace of every file in the package with values from the data dictionary. This means that every file is read into memory. If the package contains large binary files, these files should not be searched and replaced, otherwise the OOM exceptions can be raised. To avoid this, use the 'searchReplaceFilesetExcludes' task resource to tell it which files to ignore by using an ANT fileset value, e.g.:
**/*.tar.gz,**/*.tgz.*