I have a Django application running on Dotcloud.
When downloading data users intermittently get an error like this -
IOError: Attempted to read 45607 bytes from the buffer but only 35459 remain
The server components are NGINX, uWSGI, Django 1.6 and Python 2.7.
The actual client request is made via a PyAMF call but behind the scenes PyAMF uses an http POST so nothing complicated there.
No error log (that I can find) is generated or the server.
To test this I created a Python script which fetches the same data at predetermined interval (say 5 seconds). It will run successfully for up to 100+ times then will fail with an error like the one above.
- It does not appear to be related to memory usage - according to the Dotcloud dashboard the server is well within its limits.
- It does not appear to be related to server load - running two instances of the script doesn't make the errors more frequent.
- Larger downloads do fail more frequently.
- It doesn't appear related to the clients' site or software.
I have read all I can on lost packets and lost connections for NGINX and Dotcloud without luck. Can anyone make a suggestion as to how I track this issue down?