MCPcopy Create free account
hub / github.com/apache/impala / ProcessCancelQueries

Method ProcessCancelQueries

be/src/runtime/query-exec-mgr.cc:251–274  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

249}
250
251bool QueryExecMgr::ProcessCancelQueries(
252 const vector<QueryCancellationTask>& to_cancel, bool handle_full_queue) {
253 int query_num_to_cancel = to_cancel.size();
254 const int remaining_queue_size = QUERY_EXEC_MGR_MAX_CANCELLATION_QUEUE_SIZE
255 - cancellation_thread_pool_->GetQueueSize();
256 bool all_handled = true;
257
258 if (query_num_to_cancel > remaining_queue_size) {
259 if (handle_full_queue) {
260 LOG_EVERY_N(WARNING, 60) << "QueryExecMgr cancellation queue is full";
261 query_num_to_cancel = remaining_queue_size;
262 for (int i = query_num_to_cancel; i < to_cancel.size(); ++i) {
263 ReleaseQueryState(to_cancel[i].GetQueryState());
264 }
265 } else {
266 all_handled = false;
267 }
268 }
269
270 for (int i = 0; i < query_num_to_cancel; ++i) {
271 cancellation_thread_pool_->Offer(to_cancel[i]);
272 }
273 return all_handled;
274}
275
276void QueryExecMgr::CancelQueriesForFailedCoordinators(
277 const unordered_set<BackendIdPB>& current_membership) {

Callers

nothing calls this directly

Calls 4

GetQueueSizeMethod · 0.80
OfferMethod · 0.80
sizeMethod · 0.45
GetQueryStateMethod · 0.45

Tested by

no test coverage detected