ERROR Errno::ECONNRESET: Connection reset by peer @ io_fillbuf

I am getting problems with a json request using the rails api gem and
webrick.

When i do a index search with GET, i have an error ERROR
Errno::ECONNRESET:
Connection reset by peer @ io_fillbuf. Below is a full log of the
problem.I
have been trying to google the io_fillbuf but i can’t seem to find any
clear answers to what it is.

In my ApplicationController i have “skip_before_action
:verify_authenticity_token” as I am just using rails api for a pure json
app.

Started GET “/api/v1/images.json?type=index&more=yes&offset=80” for
169.254.249.61 at 2014-08-21 10:30:15 Processing by
Api::V1::ImagesController#index as JSON

Parameters: {“type”=>“index”, “more”=>“yes”, “offset”=>“80”} index

params type index
images length 20
Completed 200 OK in 97ms (Views: 0.1ms | ActiveRecord: 0.0ms)
[2014-08-21 10:30:15] ERROR Errno::ECONNRESET: Connection reset by peer
@
io_fillbuf - fd:19

/Users/user/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/webrick/httpserver.rb:80:in
eof?' /Users/user/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/webrick/httpserver.rb:80:inrun’
/Users/user/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/webrick/server.rb:295:in
`block in start_thread’

[2014-08-21 10:30:15] ERROR Errno::ECONNRESET: Connection reset by peer
@
io_fillbuf - fd:15
/Users/user/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/webrick/httpserver.rb:80:in
eof?' /Users/user/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/webrick/httpserver.rb:80:inrun’
/Users/user/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/webrick/server.rb:295:in
`block in start_thread’

[2014-08-21 10:30:15] ERROR Errno::ECONNRESET: Connection reset by peer
@
io_fillbuf - fd:18
/Users/user/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/webrick/httpserver.rb:80:in
eof?' /Users/user/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/webrick/httpserver.rb:80:inrun’
/Users/user/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/webrick/server.rb:295:in
`block in start_thread’

[2014-08-21 10:30:15] ERROR Errno::ECONNRESET: Connection reset by peer
@
io_fillbuf - fd:15
/Users/user/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/webrick/httpserver.rb:80:in
eof?' /Users/user/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/webrick/httpserver.rb:80:inrun’
/Users/user/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/webrick/server.rb:295:in
`block in start_thread’

[2014-08-21 10:30:15] ERROR Errno::ECONNRESET: Connection reset by peer
@
io_fillbuf - fd:18
/Users/user/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/webrick/httpserver.rb:80:in
eof?' /Users/user/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/webrick/httpserver.rb:80:inrun’
/Users/user/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/webrick/server.rb:295:in
`block in start_thread’

On 30 August 2014 13:28, ruby user [email protected] wrote:

app.
[2014-08-21 10:30:15] ERROR Errno::ECONNRESET: Connection reset by peer @
io_fillbuf - fd:19

Is it trying to fetch something from another server? If so perhaps
that connection is failing.
Show us ImagesController#index
Does it happen every time you perform the request?

Colin

It is not trying to fetch anything from another server.

It does not happen every time i perform the request. Only once when i
was
requesting the page.

def index

images = Image.order(“id
DESC”).limit(IMAGES_PER_PAGE+1).offset(offset)

if images.length > IMAGES_PER_PAGE

hasMore = "yes"

images = images.first(IMAGES_PER_PAGE)

offset = offset + IMAGES_PER_PAGE

end

finaljson = {:type => “index”, :offset => offset, :iteration => 0,
:limit
=> IMAGES_PER_PAGE, , :images => images}

render :status=>200, :json => finaljson.to_json(:include => :comments)

end

On the Heroku platform I always see an intermittent (and usually very
rare) occurrence of “Connection reset by peer” on ALL external services
– Redis, database, etc. I believe this to be network-related and
there’s little you can do to prevent it.

Typically my application controller has several rescue_from(s) to deal
with all of these exceptions, gracefully informing the user that there
was a momentary problem and to please try again.

If it happens with frequency, figure out which external service is the
problem and take it up with your hosting provider or the provider for
the external service.

It could happen just talking to the database. Can you investigate if
that query is prohibitively expensive or causes the database to hit a
bottleneck?

Its shouldn’t be prohibitively expensive, I’ll have to run more
extensive
test to analyze the cost.