[ 
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

        

Reply via email to