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