[
http://jira.codehaus.org/browse/MNG-3492?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Brett Porter updated MNG-3492:
------------------------------
Fix Version/s: 2.1-alpha-1
> File.deleteOnExit not enough for embedder&CI
> --------------------------------------------
>
> Key: MNG-3492
> URL: http://jira.codehaus.org/browse/MNG-3492
> Project: Maven 2
> Issue Type: Bug
> Components: Artifacts and Repositories
> Affects Versions: 2.0.7
> Reporter: Kohsuke Kawaguchi
> Fix For: 2.1-alpha-1
>
>
> When Maven is used in another long-running process (in this case Hudson),
> File.deleteOnExit() is not run early enough, so we end up accumulating insane
> amount of temporary files. DefaultWagonManager in particular does that a lot,
> even though (at least in some cases) the file could have been deleted
> explicitly.
> For example, in the putRemoteFile method, the code reads as follows,
> {noformat}
> // We do this in here so we can checksum the artifact metadata
> too, otherwise it could be metadata itself
> for ( Iterator i = checksums.keySet().iterator(); i.hasNext(); )
> {
> String extension = (String) i.next();
> // TODO: shouldn't need a file intermediatary - improve wagon
> to take a stream
> File temp = File.createTempFile( "maven-artifact", null );
> temp.deleteOnExit();
> FileUtils.fileWrite( temp.getAbsolutePath(), (String)
> sums.get( extension ) );
> wagon.put( temp, remotePath + "." + extension );
> }
> {noformat}
> ... butI don't see why the temporary file cannot be deleted after the put
> method, or at least at the end of the method, after the Wagon component is
> released.
--
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