[
http://jira.codehaus.org/browse/MRM-243?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_105481
]
David Valeri commented on MRM-243:
----------------------------------
While the below info may be known to some, I couldn't find any details on the
cause of this issue and needed it fixed.
I have intermittently duplicated the issue on Windows XP and Windows Server
2003. By using a combination of Unlocker and the debugger monitoring finalize
of FileInputStream, It appears that the InputStreams being opened in Plexus
WebDAV's ReplacementGetMethod#sendResource are not closed and cause the error
when the streams are not garbage collected before the PUT request is made by
Maven. The involvement of the garbage collector would explain the intermittent
behavior of the error. However, I can't figure out why the condition doesn't
correct itself after a period of time as the open streams should eventually be
closed upon garbage collection. The exception is generated on line 76 of
DAVOutputStream in the Could.it WebDAV implementation. The exception occurs
when replacing the existing (and sometimes locked) file with the temporary file
that was created during the upload.
While the Could.it WebDAV implementation of PUT is positively anal about
ensuring that the output streams are closed, their GET implementation (and the
Plexus WebDAV implementation ReplacementGetMethod) is lax on closing the
InputStreams used to read the resource.
I patched the Plexus WebDAV implementation by ensuring that the streams created
in ReplacementGetMethod#sendResource are explicitly closed and have been
running with the patch for a couple days without experiencing the issue.
Long story short, the issue appears to be caused by a bug in
plexus-webdav-1.0-alpha-3. I submitted a bug report at
http://jira.codehaus.org/browse/PLXCOMP-81 and a quick patch that appears to
fix the issue.
> 507 Insufficient Storage when deploying artifact with webdav
> ------------------------------------------------------------
>
> Key: MRM-243
> URL: http://jira.codehaus.org/browse/MRM-243
> Project: Archiva
> Issue Type: Bug
> Components: web application
> Environment: mvn 2.0.4, Windows Server 2003, Tomcat 5.5.17, Sun JDK
> 1.5.0_08, archiva HEAD
> Reporter: Magne Rasmussen
> Assignee: Brett Porter
> Fix For: 1.0-beta-2
>
>
> Sometimes when deploying with dav I get a "507 Insufficient Storage" error.
> The artifact (.../group/artifact/version/artifact-version.jar) gets deployed
> (with checksums).
> The metadata (.../group/artifact/version/maven-metatdata.xml) gets deployed
> (with checksums).
> It seems to happen when maven tries to upload the updated parent metadata
> (.../group/artifact/maven-metadata.xml). The checksums for this metadata
> deploys OK.
--
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