Merge 'transport: controller: do_start_server: do not set_cql_read for maintenance port' from Benny Halevy

RPC is not ready yet at this point, so we should not set this application state yet.

Also, simplify add_local_application_state as it contains dead code
that will never generate an internal error after 1d07a596bf.

Fixes #16932

Closes scylladb/scylladb#17263

* github.com:scylladb/scylladb:
  gossiper: add_local_application_state: drop internae error
  transport: controller: do_start_server: do not set_cql_read for maintenance port
This commit is contained in:
Kamil Braun
2024-02-12 13:26:45 +01:00
2 changed files with 4 additions and 7 deletions

View File

@@ -2217,12 +2217,7 @@ future<> gossiper::add_local_application_state(application_state_map states) {
co_await coroutine::return_exception(std::runtime_error(err));
}
auto es = gossiper.get_endpoint_state_ptr(ep_addr);
if (!es) {
on_internal_error(logger, format("endpoint_state_map does not contain endpoint = {}", ep_addr));
}
auto local_state = *es;
auto local_state = *ep_state_before;
for (auto& p : states) {
auto& state = p.first;
auto& value = p.second;

View File

@@ -212,7 +212,9 @@ future<> controller::do_start_server() {
});
}).get();
set_cql_ready(true).get();
if (!_used_by_maintenance_socket) {
set_cql_ready(true).get();
}
on_error.cancel();
on_error_unsub.cancel();