You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bug#34536576 connection-pool does not release connection closed by server
Issue
=====
With connection-pool enabled, a connection may get stuck in the pool if
it is closed by the server.
1. Start router with
- [DEFAULT] max_idle_server_connections=1
- [routing:*] client_ssl_mode=PREFERRED and server_ssl_mode=PREFERRED
- max_total_connections=1
2. connect to router and close the connection again (adds the connection
to the pool)
3. connect to the server directly and kill the pooled connection
- SHOW PROCESSLIST
- KILL ...
- (should release the connection)
4. connect to router again: fails
Change
======
The underlying problem is equality between net::stream_errc::eof from
different shared objects failing.
The connection-pool's "net::stream_errc::eof"'s .category() refers to a
differ "static stream_category" then the one that's passed to
connection-pool.
That stems from the stream-category being defined in the header which
leads to multiple instances of the same "static", one per shared-object.
- add a equivalent() method to net::stream_errc's error-category which
handles the "multiple instances" case.
Change-Id: Iadf74ccbfdee606aff1221740554bcd9dfc04653
0 commit comments