diff --git a/service/topology_coordinator.cc b/service/topology_coordinator.cc index 20717784e8..4bf3cd6303 100644 --- a/service/topology_coordinator.cc +++ b/service/topology_coordinator.cc @@ -2004,6 +2004,8 @@ class topology_coordinator : public endpoint_lifecycle_subscriber { throw; } catch (raft::request_aborted&) { throw; + } catch (seastar::abort_requested_exception&) { + throw; } catch (...) { rtlogger.error("transition_state::join_group0, " "global_token_metadata_barrier failed, error {}", @@ -2140,6 +2142,8 @@ class topology_coordinator : public endpoint_lifecycle_subscriber { throw; } catch (raft::request_aborted&) { throw; + } catch (seastar::abort_requested_exception&) { + throw; } catch (...) { rtlogger.error("transition_state::commit_cdc_generation, " "raft_topology_cmd::command::barrier failed, error {}", std::current_exception()); @@ -2220,6 +2224,8 @@ class topology_coordinator : public endpoint_lifecycle_subscriber { throw; } catch (raft::request_aborted&) { throw; + } catch (seastar::abort_requested_exception&) { + throw; } catch (...) { rtlogger.error("tablets draining failed with {}. Aborting the topology operation", std::current_exception()); _rollback = fmt::format("Failed to drain tablets: {}", std::current_exception()); @@ -2237,6 +2243,8 @@ class topology_coordinator : public endpoint_lifecycle_subscriber { throw; } catch (raft::request_aborted&) { throw; + } catch (seastar::abort_requested_exception&) { + throw; } catch (...) { rtlogger.error("transition_state::write_both_read_old, " "global_token_metadata_barrier failed, error {}", @@ -2303,6 +2311,8 @@ class topology_coordinator : public endpoint_lifecycle_subscriber { throw; } catch (raft::request_aborted&) { throw; + } catch (seastar::abort_requested_exception&) { + throw; } catch (...) { rtlogger.error("send_raft_topology_cmd(stream_ranges) failed with exception" " (node state is {}): {}", state, std::current_exception()); @@ -2335,6 +2345,8 @@ class topology_coordinator : public endpoint_lifecycle_subscriber { throw; } catch (raft::request_aborted&) { throw; + } catch (seastar::abort_requested_exception&) { + throw; } catch (...) { rtlogger.error("transition_state::write_both_read_new, " "global_token_metadata_barrier failed, error {}", @@ -2478,6 +2490,8 @@ class topology_coordinator : public endpoint_lifecycle_subscriber { throw; } catch (raft::request_aborted&) { throw; + } catch (seastar::abort_requested_exception&) { + throw; } catch (...) { rtlogger.error("transition_state::left_token_ring, " "raft_topology_cmd::command::barrier failed, error {}", @@ -2552,6 +2566,10 @@ class topology_coordinator : public endpoint_lifecycle_subscriber { node.guard = co_await exec_global_command(std::move(node.guard),raft_topology_cmd::command::barrier_and_drain, get_excluded_nodes(node), drop_guard_and_retake::yes); } catch (term_changed_error&) { throw; + } catch (raft::request_aborted&) { + throw; + } catch (seastar::abort_requested_exception&) { + throw; } catch(...) { rtlogger.warn("failed to run barrier_and_drain during rollback of {} after {} failure: {}", node.id, state, std::current_exception()); @@ -2629,6 +2647,10 @@ class topology_coordinator : public endpoint_lifecycle_subscriber { } } catch (term_changed_error&) { throw; + } catch (raft::request_aborted&) { + throw; + } catch (seastar::abort_requested_exception&) { + throw; } catch(...) { wait_for_ip_error = std::current_exception(); rtlogger.warn("raft_topology_cmd::command::wait_for_ip failed, error {}", @@ -2751,6 +2773,10 @@ class topology_coordinator : public endpoint_lifecycle_subscriber { rtbuilder.done(); } catch (term_changed_error&) { throw; + } catch (raft::request_aborted&) { + throw; + } catch (seastar::abort_requested_exception&) { + throw; } catch (...) { rtlogger.error("send_raft_topology_cmd(stream_ranges) failed with exception" " (node state is rebuilding): {}", std::current_exception()); @@ -3338,6 +3364,10 @@ future<> topology_coordinator::fence_previous_coordinator() { // Abort was requested. Break the loop rtlogger.debug("request to fence previous coordinator was aborted"); break; + } catch (seastar::abort_requested_exception&) { + // Abort was requested. Break the loop + rtlogger.debug("request to fence previous coordinator was aborted"); + break; } catch (...) { rtlogger.error("failed to fence previous coordinator {}", std::current_exception()); }