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):
- Use
enable-http2=on
in the Typesafe Config.
- Create a binding with
Http().newServerAt(...).bind(...)
.
- Make an HTTP request to this service with a client. I used Unirest for this.
- Request binding termination and await for it.
- Make more HTTP requests with the same connection. Unirest does that behind the scenes.
- Verify that the service still responds, even though it was supposed to be terminated.