No file uploads possible with mongrel?

Hello all!

I am using mongrel in several production environments and it is working
great! Now I have to put up some really large files (html multipart, no
plugin used, some hundret Mb). The only thing I can produce with mongrel
is:

Sun Apr 11 06:13:21 +0000 2010: Error reading HTTP body: #<RuntimeError:
Socket read returned insufficient data: 3374>
/usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/…/lib/mongrel/http_request.rb:107:in
read_socket' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/http_request.rb:86:inread_body’
/usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/…/lib/mongrel/http_request.rb:55:in
initialize' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:149:innew’
/usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/…/lib/mongrel.rb:149:in
process_client' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:285:inrun’
/usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/…/lib/mongrel.rb:285:in
initialize' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:285:innew’
/usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/…/lib/mongrel.rb:285:in
run' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:268:ininitialize’
/usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/…/lib/mongrel.rb:268:in
new' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:268:inrun’
/usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/…/lib/mongrel/configurator.rb:282:in
run' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:281:ineach’
/usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/…/lib/mongrel/configurator.rb:281:in
run' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:128:inrun’
/usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/…/lib/mongrel/command.rb:212:in
run' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:281 /usr/bin/mongrel_rails:19:inload’
/usr/bin/mongrel_rails:19

Any ideas? alternatives?

Thank you VERY much in advance!

Regards,
Anton

On Mon, Apr 12, 2010 at 1:59 AM, Anton T. [email protected]
wrote:

/usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/…/lib/mongrel.rb:285:in run' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/command.rb:212:in run’
/usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:281
/usr/bin/mongrel_rails:19:in `load’
/usr/bin/mongrel_rails:19

Any ideas? alternatives?

If you’re mentioning hundred of megabytes it might be possible that
the Ruby instance is not able to handle the file properly.

Would be great if you can isolate this to a real minimum mongrel
handler example instead of a Rails application.

I had successfully uploaded big files with mongrel, but honestly never
tried to upload 200mb or similar because will be suboptimal.


Luis L.
AREA 17

Perfection in design is achieved not when there is nothing more to add,
but rather when there is nothing more to take away.
Antoine de Saint-Exupéry

Luis L. wrote:

On Mon, Apr 12, 2010 at 1:59 AM, Anton T. [email protected]
wrote:

/usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/…/lib/mongrel.rb:285:in run' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/command.rb:212:in run’
/usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:281
/usr/bin/mongrel_rails:19:in `load’
/usr/bin/mongrel_rails:19

Any ideas? alternatives?

If you’re mentioning hundred of megabytes it might be possible that
the Ruby instance is not able to handle the file properly.

Would be great if you can isolate this to a real minimum mongrel
handler example instead of a Rails application.

I had successfully uploaded big files with mongrel, but honestly never
tried to upload 200mb or similar because will be suboptimal.


Luis L.
AREA 17

Perfection in design is achieved not when there is nothing more to add,
but rather when there is nothing more to take away.
Antoine de Saint-Exupé²¹

hii,
i am trying to upload some files to filesystem using rails application
when i use small size file everything is perfect but i when goes for
larger files i got error
this is my code

#this model file
class DataFile < ActiveRecord::Base

def self.save(upload)
name = upload[‘datafile’].original_filename
directory = “//192.168.147.17/Smruti/streams
# create the file path
path = File.join(directory, name)
# write the file
File.open(path, “wb”) { |f| f.write(upload[‘datafile’].read) }
end
end

#this is my controller
class UploadController < ApplicationController
def index
render :file => ‘app\views\upload\uploadfile.rhtml’
end
def uploadFile
post = DataFile.save(params[:upload])
render :text => “File has been uploaded successfully”
end
end

Luis L. wrote:

On Mon, Apr 12, 2010 at 1:59 AM, Anton T. [email protected]
wrote:

/usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/…/lib/mongrel.rb:285:in run' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/command.rb:212:in run’
/usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:281
/usr/bin/mongrel_rails:19:in `load’
/usr/bin/mongrel_rails:19

Any ideas? alternatives?

If you’re mentioning hundred of megabytes it might be possible that
the Ruby instance is not able to handle the file properly.

Would be great if you can isolate this to a real minimum mongrel
handler example instead of a Rails application.

I had successfully uploaded big files with mongrel, but honestly never
tried to upload 200mb or similar because will be suboptimal.


Luis L.
AREA 17

Perfection in design is achieved not when there is nothing more to add,
but rather when there is nothing more to take away.
Antoine de Saint-Exupé²¹

yaa luis
i am sending form with mutipart true option
like
<%= form_tag ({:action => ‘uploadFile’},:multipart => true) %>