geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aaron Mulder (JIRA)" <>
Subject [jira] Commented: (GERONIMO-1223) Hot Deploy performance improvement Just check directories -patch available
Date Wed, 23 Nov 2005 16:01:37 GMT
    [ ] 

Aaron Mulder commented on GERONIMO-1223:

The intended design was that if you put in only JAR files it will never resort to scanning
through directories, but if you put in an exploded JAR, it will be sure to always notice when
that is changed, even if you only edit or copy in a single new JSP.  So before implement the
behavior described here and in the patch, we should make sure it notices updates where you:

1) copy over the existing directory with a new copy with a file added or changed
2) unzip/untar a new copy of the directory with a file added or changed
3) copy in a new version of one file
4) copy in an updated version of one file
5) create a new file in place with an editor
6) update a new file in place with an editor
7) "touch" a file

I can't confirm or deny whether the patch affects that, so I hope someone can test for sure
on Windows, Mac, and Linux.

I am curious, as to the 58%, what is the actual time taken and for what size unpacked directory
structure (in terms of file count and MB)?  If it's 58% of 50 milliseconds I'm not so concerned.
If it's 58% of 35 seconds, that's a little disturbing.

I wouldn't be opposed to adding a GBean property to make it work like the patch describes
and just disabling that by default until we can confirm whether the conditions abover are
still met.

I also wonder whether there's any faster way to scan a directory structure than File.listFiles
and so on -- I didn't see anything obvious in NIO for instance, but I didn't look too hard

> Hot Deploy performance improvement Just check directories -patch available
> --------------------------------------------------------------------------
>          Key: GERONIMO-1223
>          URL:
>      Project: Geronimo
>         Type: Improvement
>   Components: deployment
>     Versions: 1.0
>  Environment: linux or windows
>     Reporter: Gao Yong Pan
>  Attachments:
> The method getLastModifiedInDir in the hot-deploy/src/java/org/apache/geronimo/deployment/hot/
is using the algorithm by calculating highest modified time of any files or directories, this
could be improved.
> In fact, we only need to check every directory is enough, because any changes, for example,
add, remove, edit any files in a directory, the change can be reflected by its parent directory's
modification time, so  we don't need to check files.
> I also write a patch for the issue. A simple performance testing shows that the patch
will improve 58% of the performance.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

View raw message