mirror of
https://github.com/wassname/ray.git
synced 2026-09-09 11:32:43 +08:00
Fix releasing CPUs incorrectly when actor creation task blocked. (#5271)
* Fix * Remove useless log * Address * Fix typo * sleep
This commit is contained in:
@@ -1576,14 +1576,11 @@ void NodeManager::HandleTaskBlocked(const WorkerID &worker_id,
|
||||
RAY_CHECK(local_queues_.RemoveTask(current_task_id, &task));
|
||||
local_queues_.QueueTasks({task}, TaskState::RUNNING);
|
||||
// Get the CPU resources required by the running task.
|
||||
const auto required_resources = task.GetTaskSpecification().GetRequiredResources();
|
||||
const ResourceSet cpu_resources = required_resources.GetNumCpus();
|
||||
|
||||
// Release the CPU resources.
|
||||
auto const cpu_resource_ids = worker->ReleaseTaskCpuResources();
|
||||
local_available_resources_.Release(cpu_resource_ids);
|
||||
cluster_resource_map_[gcs_client_->client_table().GetLocalClientId()].Release(
|
||||
cpu_resources);
|
||||
cpu_resource_ids.ToResourceSet());
|
||||
worker->MarkBlocked();
|
||||
|
||||
// Try dispatching tasks since we may have released some resources.
|
||||
|
||||
Reference in New Issue
Block a user