Am not able to upload a 8.4 MB file, in a passenger app behind apache. Transferring the same file via scp took 4.1 minutes.
Error backtrace:
[ pid=10222 file=ext/apache2/Hooks.cpp:727 time=2010-05-18 07:13:14.842 ]: Unexpected error in mod_passenger: An error occurred while receiving HTTP upload data: Connection reset by peer (104) Backtrace: in 'boost::shared_ptr Hooks::receiveRequestBody(request_rec*, const char*)' (Hooks.cpp: 1084) in 'int Hooks::handleRequest(request_rec*)' (Hooks.cpp:459)
NOTE:user had not cancelled or anything. He was on firefox :-)
other errors seen in the logs are:
[ pid=16593 file=ext/apache2/Hooks.cpp:727 time=2010-05-23 23:06:12.156 ]: Unexpected error in mod_passenger: It looks like the browser did not finish the file upload: it said it will upload 6610086\ bytes, but it closed the connection after sending 610155 bytes. The user probably clicked Stop in the browser or his Interne\ t connection stalled. Backtrace: in 'boost::shared_ptr Hooks::receiveRequestBody(request_rec*, const char*)' (Hooks.cpp: 1084) in 'int Hooks::handleRequest(request_rec*)' (Hooks.cpp: 459)
NOTE:user had not cancelled or anything. He was on IE6 :-)
[ pid=28995 file=ext/apache2/Hooks.cpp:727 time=2010-05-17 00:40:18.697 ]: Unexpected error in mod_passenger: Could not send data to the ApplicationPool server: write() failed: Broken pipe (32) Backtrace: in 'virtual boost::shared_ptr Passenger::ApplicationPoolServer::Client::get(const Passe\ nger::PoolOptions&)' (ApplicationPoolServer.h: 402) in 'int Hooks::handleRequest(request_rec*)' (Hooks.cpp: 523)
questions are:
- why is the file not getting uploaded?
- best practices for file upload in apache for throughput and performance.
- can i handle the upload outside of apache and then hand it off to passenger
- have also tried mod_porter, http://modporter.com, it does not seem to help.
- is there a debug mode in passenger - verbose logging
PS: Using RubyOnRails deployed with mod_rails on apache, http://www.modrails.com/, with ruby enterprise edition. TimeOut is set as 1200 in the apache virtalhost.
regards,
deepak