Actions
Bug #21831
closedbeast: frontend hangs on pause for multisite reconfiguration
% Done:
0%
Source:
Tags:
beast multisite
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
The beast frontend handles pause_for_new_config() by calling boost::asio::tcp::acceptor::cancel(), which unblocks any threads that were only waiting on boost::asio::tcp::acceptor::async_accept().
However, existing keepalive connections will also be waiting to read the next message header with beast::http::async_read_some(), and that prevents boost::asio::io_service::run() from returning to complete the pause.
This means that keepalive connections will cause pause_for_new_config() to hang until all such connections are closed by the clients.
Updated by Casey Bodley over 6 years ago
- Status changed from New to Fix Under Review
Updated by Casey Bodley over 6 years ago
- Status changed from Fix Under Review to Resolved
Actions