Skip to content

ServerBinding termination does not close HTTP/2 connections with h2c Upgrade connection setup #638

@bdmendes

Description

@bdmendes

Calling the ServerBinding terminate() method appears to not close open HTTP/2 connections reused by a client for different requests, even after the hardDeadline timeout is exceeded. In fact, new requests are still handled successfully even after the termination future completes.

Steps to reproduce (in 1.1.0):

  1. Use enable-http2=on in the Typesafe Config.
  2. Create a binding with Http().newServerAt(...).bind(...).
  3. Make an HTTP request to this service with a client. I used Unirest for this.
  4. Request binding termination and await for it.
  5. Make more HTTP requests with the same connection. Unirest does that behind the scenes.
  6. Verify that the service still responds, even though it was supposed to be terminated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions