Skip Menu |

This queue is for tickets about the HTTP-DAV CPAN distribution.

Report information
The Basics
Id: 82563
Status: open
Priority: 0/
Queue: HTTP-DAV

People
Owner: Nobody in particular
Requestors: tim [...] cpanel.net
Cc:
AdminCc:

Bug Information
Severity: Wishlist
Broken in: (no value)
Fixed in: (no value)



Subject: WebDAV 'put' operation can fail with large files on low memory systems
Currently, when doing a 'put' operation, this module loads the entire file into memory before uploading it. If the file is large relative to the system memory, this can cause it to fail.
This is to track an offline discussion. Some dev work has already been done at https://github.com/cosimo/perl5-http-dav/tree/large-files-put
From: tim [...] cpanel.net
On Tue Jan 08 12:15:55 2013, TODDR wrote: Show quoted text
> This is to track an offline discussion. Some dev work has already been > done at > https://github.com/cosimo/perl5-http-dav/tree/large-files-put
I believe the issue preventing the merge is that this fix causes it to no longer detect if the file is XML; and, hence, doesn't set the Content-Type to XML in the custom header. Apparently, this might break things for some users. When it was loading the entire file into memory it would test it to be xml like so: $content =~ /<\?xml/i Since this branch does not load the file into memory beforehand, we would need another good method to detect if the file is XML before the put operation.
Subject: Re: [rt.cpan.org #82563] WebDAV 'put' operation can fail with large files on low memory systems
Date: Wed, 09 Jan 2013 09:48:04 +0100
To: bug-HTTP-DAV [...] rt.cpan.org
From: Cosimo Streppone <cosimo [...] streppone.it>
On 01/08/2013 10:26 PM, Tim Mullin via RT wrote: Show quoted text
> Queue: HTTP-DAV > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=82563 > > > On Tue Jan 08 12:15:55 2013, TODDR wrote:
>> This is to track an offline discussion. Some dev work has already been >> done at >> https://github.com/cosimo/perl5-http-dav/tree/large-files-put
> > I believe the issue preventing the merge is that this fix causes it to no longer detect if the file is > XML; and, hence, doesn't set the Content-Type to XML in the custom header. Apparently, this > might break things for some users. > When it was loading the entire file into memory it would test it to be xml like so: $content =~ > /<\?xml/i > Since this branch does not load the file into memory beforehand, we would need another good > method to detect if the file is XML before the put operation.
Tim, you remember correctly. Basically, I think we need to introduce the new behaviour (no slurp of file to send) with a new option, otherwise we will break all applications that use HTTP::DAV::put(). I'll try to do something during this weekend. Sorry but I'm pretty overloaded these days... -- Cosimo
From: tim [...] cpanel.net
On Wed Jan 09 03:48:16 2013, cosimo@streppone.it wrote: Show quoted text
> On 01/08/2013 10:26 PM, Tim Mullin via RT wrote:
> > Queue: HTTP-DAV > > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=82563 > > > > > On Tue Jan 08 12:15:55 2013, TODDR wrote:
> >> This is to track an offline discussion. Some dev work has already
> been
> > > > I believe the issue preventing the merge is that this fix causes it
> to no longer detect if the file is
> > XML; and, hence, doesn't set the Content-Type to XML in the custom
> header. Apparently, this
> > might break things for some users. > > When it was loading the entire file into memory it would test it to
> be xml like so: $content =~
> > /<\?xml/i > > Since this branch does not load the file into memory beforehand, we
> would need another good
> > method to detect if the file is XML before the put operation.
> > Tim, you remember correctly. > > Basically, I think we need to introduce the new behaviour > (no slurp of file to send) with a new option, otherwise > we will break all applications that use HTTP::DAV::put(). > > I'll try to do something during this weekend. > Sorry but I'm pretty overloaded these days... >
Thanks! That'd be really awesome.