Project

General

Profile

Actions

Bug #21831

closed

beast: frontend hangs on pause for multisite reconfiguration

Added by Casey Bodley over 6 years ago. Updated over 6 years ago.

Status:
Resolved
Priority:
High
Assignee:
Target version:
-
% 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.

Actions #1

Updated by Casey Bodley over 6 years ago

  • Tags set to beast multisite
Actions #2

Updated by Casey Bodley over 6 years ago

  • Status changed from New to Fix Under Review
Actions #3

Updated by Casey Bodley over 6 years ago

  • Status changed from Fix Under Review to Resolved
Actions

Also available in: Atom PDF