You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@continuum.apache.org by "Frank Förstemann (JIRA)" <ji...@codehaus.org> on 2009/03/10 09:45:13 UTC
[jira] Updated: (CONTINUUM-2119) Cleaning up large working
directories fails with OutOfMemoryError
[ http://jira.codehaus.org/browse/CONTINUUM-2119?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Frank Förstemann updated CONTINUUM-2119:
----------------------------------------
Attachment: CONTINUUM-2119-continuum-core.patch
Patch to use org.codehaus.plexus.util.FileUtils to purge working directory.
> Cleaning up large working directories fails with OutOfMemoryError
> ------------------------------------------------------------------
>
> Key: CONTINUUM-2119
> URL: http://jira.codehaus.org/browse/CONTINUUM-2119
> Project: Continuum
> Issue Type: Bug
> Components: Core system
> Affects Versions: 1.2.3
> Reporter: Frank Förstemann
> Attachments: CONTINUUM-2119-continuum-core.patch
>
>
> The action clean-working-directory runs out of heap space while cleaning up huge working directories (30GB / 500.000 files & directories in our case):
> 2009-03-08 06:00:14,582 [pool-1-thread-1] INFO buildController - Initializing build
> 2009-03-08 06:00:15,286 [pool-1-thread-1] INFO buildController - Starting build of ivu_plan_nightly_build
> 2009-03-08 06:00:15,301 [pool-1-thread-1] INFO buildController - Purging exiting working copy
> 2009-03-08 06:00:15,301 [pool-1-thread-1] INFO buildController - Performing action clean-working-directory
> 2009-03-08 06:31:39,209 [Thread-3] ERROR taskQueueExecutor#build-project - Error executing task
> edu.emory.mathcs.backport.java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space
> at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.getResult(FutureTask.java:301)
> at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.get(FutureTask.java:120)
> at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable.waitForTask(ThreadedTaskQueueExecutor.java:159)
> at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable.run(ThreadedTaskQueueExecutor.java:127)
> Caused by: java.lang.OutOfMemoryError: Java heap space
> The issue seems to be caused by the implementation in CleanWorkingDirectoryAction: the FileSetManager used to delete the working directory first scans all files & directores to create an object representation of the tree and then deletes the tree by scanning through the objects. As no filter condition is required using org.codehaus.plexus.util.FileUtils to directly delete the tree would avoid these kind of problems.
> I'll attach a patch based on 1.2.3.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira