[Zope-dev] Problem uploading large files

Alexander Limi alexander@limi.net
Tue, 7 Mar 2000 01:46:14 +0100


Hi.

I thought I should send this to the Zope-dev-list, as there was little
response to my mail on the main list.

I have a peculiar problem:

On our site, people should be able to upload big files (MP3s) that are
stored outside the ZODB. This is done via an upload form and HTTP POST.

We tested the upload forms, everything worked fine, until people started
uploading via slow modems. At this point, I should explain our setup: We run
ZServer at port 9090, and use Apache as a proxy to forward all requests to
mp3.no:80 to login.mp3.no:9090. We also use SiteAccess in combination with
this.

So, the problem is: When uploading large files, ie. files that exceed 30
minutes or so of upload time, things stop working. It isn't file size, it is
only dependant on the time used.

We've tested with, and eliminated the following possible unknown variables:

1. Different modems (from 14.4Kbps to 56Kbps)
2. Different providers
3. Different browsers - Netscape, IE
4. Different ports (upload via both mp3.no:80 and login.mp3.no:9090 directly
have been attempted)
5. Different locations (upload to the ZODB and the external python method
have been attempted)
6. Raising the timeout values of the Apache server have been attempted

So, I'm quite puzzled. Is there a timeout value in ZServer/Medusa that can
be tweaked? Or is it possible that the error lies elsewhere?

An example error message is:

--
Proxy Error
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request POST
/artists/boj/prox/add_mp3.

Reason: Error reading from remote server
--

The Apache logs show:

[Mon Mar  6 14:07:39 2000] [error] [client 129.177.138.178] (54)Connection
reset by peer: ap_bgets() - proxy receive - Error reading from remote
server login.mp3.no (length -1)

So, do you have any suggestions as to what I might try next? As mentioned,
everything works fine if the connection is fast enough. Is there a timeout I
can raise the value of?

This is in a pretty critical phase of our development, we should have been
"live" last Friday, so we're a bit pressed for time here. Any help would be
greatly appreciated. And please CC me, as I'm not on the dev-list (I'm not
worthy! :)

Yours puzzlingly,


Alexander Limi
http://mp3.no