From b5911b2a7a0a3b421326f4a1f5b74a07eab58910 Mon Sep 17 00:00:00 2001 From: Daniel Vincze Date: Mon, 2 Feb 2026 18:53:15 +0200 Subject: [PATCH] Fix task locking When one or more tasks would error out while being created (they're started before confirming creation of execution), it would lock out the execution and tasks. This patch makes sure that the execution creation doesn't lock when returning the execution details after creation, so error reporting can happen without deadlock. --- coriolis/conductor/rpc/server.py | 2 +- coriolis/tests/conductor/rpc/test_server.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/coriolis/conductor/rpc/server.py b/coriolis/conductor/rpc/server.py index 0158f7a0..fa70e524 100644 --- a/coriolis/conductor/rpc/server.py +++ b/coriolis/conductor/rpc/server.py @@ -1131,7 +1131,7 @@ def execute_transfer_tasks(self, ctxt, transfer_id, shutdown_instances, self._deployer_manager_client.execute_auto_deployment( ctxt, transfer.id, execution.id, **deployment_options) - return self.get_transfer_tasks_execution( + return self._get_transfer_tasks_execution( ctxt, transfer_id, execution.id) @transfer_synchronized diff --git a/coriolis/tests/conductor/rpc/test_server.py b/coriolis/tests/conductor/rpc/test_server.py index 2de7bda7..fb6dac0c 100644 --- a/coriolis/tests/conductor/rpc/test_server.py +++ b/coriolis/tests/conductor/rpc/test_server.py @@ -1177,7 +1177,7 @@ def convert_to_task(task_config): @mock.patch.object(copy, "deepcopy") @mock.patch.object( server.ConductorServerEndpoint, - "get_transfer_tasks_execution" + "_get_transfer_tasks_execution" ) @mock.patch.object( server.ConductorServerEndpoint,