MCPcopy Create free account
hub / github.com/ByConity/ByConity / killAllQueries

Method killAllQueries

src/Interpreters/ProcessList.cpp:741–776  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

739
740
741void ProcessList::killAllQueries()
742{
743 std::vector<std::shared_ptr<QueryStatus>> cancelled_processes;
744
745 SCOPE_EXIT({
746 std::lock_guard lock(mutex);
747 for (auto & cancelled_process : cancelled_processes)
748 cancelled_process->is_cancelling = false;
749 cancelled_cv.notify_all();
750 });
751
752 {
753 std::lock_guard lock(mutex);
754 cancelled_processes.reserve(processes.size());
755 for (const auto & [user, user_queries] : user_to_queries)
756 {
757 for (const auto & [query_id, status] : user_queries.queries)
758 {
759 cancelled_processes.push_back(status);
760 status->is_cancelling = true;
761 }
762 }
763 }
764
765 for (auto & cancelled_process : cancelled_processes)
766 {
767 try
768 {
769 cancelled_process->cancelQuery(true, false);
770 }
771 catch (...)
772 {
773 tryLogCurrentException(__PRETTY_FUNCTION__, "Kill query failed with id: "+ cancelled_process->client_info.current_query_id + "");
774 }
775 }
776}
777
778
779QueryStatusInfo QueryStatus::getInfo(bool get_thread_list, bool get_profile_events, bool get_settings) const

Callers 1

mainMethod · 0.80

Calls 5

tryLogCurrentExceptionFunction · 0.85
reserveMethod · 0.45
sizeMethod · 0.45
push_backMethod · 0.45
cancelQueryMethod · 0.45

Tested by

no test coverage detected