geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kevan Miller (JIRA)" <...@geronimo.apache.org>
Subject [jira] Updated: (GERONIMO-777) Deployment files not removed on Windows
Date Tue, 13 Dec 2005 19:20:45 GMT
     [ http://issues.apache.org/jira/browse/GERONIMO-777?page=all ]

Kevan Miller updated GERONIMO-777:
----------------------------------

    Fix Version: 1.1
                     (was: 1.0)
        Version: 1.0
                     (was: 1.0-M3)
                     (was: 1.0-M4)
                     (was: 1.0-M5)

Most temporary/config-store files are now cleaned up on Windows, but not all... We can do
better, but I don't want to touch it right now. I'll fix the remaining issues on HEAD.

FYI, thanks to John Sisson, if you use geronimo.sh or .bat, by default, temp files will be
stored in $GERONIMO_BASE/var/temp

Here's info on the current status...

config-store: 
On unix, config-store directories will always be deleted on undeploy. On windows, config-store
directories will sometimes be deleted on undeploy. jsp/servlets config-store directories are
often deleted immediately. ejb's are almost always locked by the ClassLoader and not deleted
immediately. Until the ClassLoader has been GC'ed, we won't be able to delete the directory.
A ThreadLocal reference is keeping the ClassLoader's alive. Until the thread is used (and
the threadlocal reference is overwritten, the ClassLoader won't be GC'ed)delet. So, it may
be a very long time before the ClassLoader is GC'ed. If we're unable to delete the directory
during undeploy processing, the directory is queued for deletion. A config-store reaper will
attempt to delete the directory once a minute. The pending deletion queue is also persisted
to disk. So, on a restart, we'll be able to delete the directories.

temp files:
During deploy, temporary files are created by Deployer and DeploymentUtil. Deployer files
are deleted after use. On windoze, we're not always able to delete these files. If we're unable
to delete, the files/directories are placed on a pending deletion queue. This queue is not
persisted. If the server is stopped, the files will never be deleted. This needs to be improved,
but I don't want to introduce this late in the game.

DeploymentUtil temporary files are not explicitly deleted. Instead, deleteOnExit() is used
to mark the files for deletion on process exit. As far as I can tell, this works on unix systems,
but not on Windows. Also, this means that the files will exist for at the life of the server
process (at a minimum). I haven't made any changes to this. I think we should be more proactive
cleaning up this files, but again have not yet fixed.

> Deployment files not removed on Windows
> ---------------------------------------
>
>          Key: GERONIMO-777
>          URL: http://issues.apache.org/jira/browse/GERONIMO-777
>      Project: Geronimo
>         Type: Bug
>     Versions: 1.0
>  Environment: Windows
>     Reporter: Jeremy Boynes
>     Assignee: Kevan Miller
>      Fix For: 1.1

>
> When running on Windows, deployment leaves behind files and directories in the user's
temp directory. Due to the way temp file names are allocated, this can result in deployment
failures with an unintuitive AccessDenied IOException. These files cannot be removed without
shutting down the server.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message