Skip to content

streams timing out when connection is closed #52

@akostadinov

Description

@akostadinov

Hello, I'm doing 5 threads requesting data on a HTTP/2 connection.

The server often closes the connection and I have a handler to print when this happens. So I see in console this:

#<SocketError: Socket was remotely closed>

But then the outstanding requests are not interrupted. Rather they seem to stay until timeout occurs. So after awhile I see this in console:

#<NoMethodError: undefined method `body' for nil:NilClass>
#<NoMethodError: undefined method `body' for nil:NilClass>
#<NoMethodError: undefined method `body' for nil:NilClass>

i.e. from the 5 threads, 3 were stuck in the request. Nothing raised. Just response was nil instead of an actual response.

So the issues are two:

  • requests are not interrupted but are let to time out
  • sync requests get a nil response instead of an exception or a proper response object connection.call(:get, ...)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions