Skip to content

hackney 4.8.2

Choose a tag to compare

@benoitc benoitc released this 26 Sep 18:33
· 17 commits to master since this release
81ebe00

Fixed

  • A connection opened without a pool is owned by the process that opened it
    and closes when that process dies. It was started under hackney_conn_sup
    and owned by it, so a killed caller left the connection and its socket open
    until the server closed it (idle_timeout defaults to infinity). Covers
    request/5 and connect/* with {pool, false}, streamed request bodies,
    async responses, HTTP proxies, CONNECT and SOCKS5 tunnels, HTTP/2 and
    HTTP/3, and h2_open/* streams. With stream_to, the stream_to process
    owns the connection, as before. hackney_conn:set_owner/2 still moves
    ownership.
  • An HTTP/1.1 connection waiting for a response closes within a second of
    its owner dying. It was blocked in the socket read and noticed only when
    the response came, the server closed, or recv_timeout expired.
  • A CONNECT or SOCKS5 tunnel socket belongs to its connection. It stayed with
    the process that opened it, so after hackney_conn:set_owner/2 it still
    closed when that process died.