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

Method ReleaseQueryAdmissionControlResources

be/src/runtime/coordinator.cc:1523–1548  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1521}
1522
1523void Coordinator::ReleaseQueryAdmissionControlResources() {
1524 DCHECK(exec_rpcs_complete_.Load()) << "Exec() must be called first";
1525 vector<BackendState*> unreleased_backends =
1526 backend_resource_state_->CloseAndGetUnreleasedBackends();
1527 if (!unreleased_backends.empty()) {
1528 ReleaseBackendAdmissionControlResources(unreleased_backends);
1529 backend_resource_state_->BackendsReleased(unreleased_backends);
1530 for (int i = 0; i < unreleased_backends.size(); ++i) {
1531 backend_released_barrier_.Notify();
1532 }
1533 }
1534 // Wait for all backends to be released before calling
1535 // AdmissionController::ReleaseQuery.
1536 backend_released_barrier_.Wait();
1537 LOG(INFO) << "Release admission control resources for query_id=" << PrintId(query_id());
1538 AdmissionControlClient* admission_control_client =
1539 parent_request_state_->admission_control_client();
1540 DCHECK(admission_control_client != nullptr);
1541 admission_control_client->ReleaseQuery(
1542 ComputeQueryResourceUtilization().peak_per_host_mem_consumption);
1543 query_events_->MarkEvent("Released admission control resources");
1544 if (parent_request_state_->otel_trace_query()) {
1545 parent_request_state_->otel_trace_manager()->AddChildSpanEvent(
1546 "ReleasedAdmissionControlResources");
1547 }
1548}
1549
1550void Coordinator::ReleaseBackendAdmissionControlResources(
1551 const vector<BackendState*>& backend_states) {

Callers

nothing calls this directly

Calls 14

PrintIdFunction · 0.85
BackendsReleasedMethod · 0.80
MarkEventMethod · 0.80
otel_trace_queryMethod · 0.80
AddChildSpanEventMethod · 0.80
otel_trace_managerMethod · 0.80
LoadMethod · 0.45
emptyMethod · 0.45
sizeMethod · 0.45
NotifyMethod · 0.45

Tested by

no test coverage detected