Explorar el Código

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.
Daniel Vincze hace 3 meses
padre
commit
a9b70fff60

+ 1 - 1
coriolis/conductor/rpc/server.py

@@ -1131,7 +1131,7 @@ class ConductorServerEndpoint(object):
             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

+ 1 - 1
coriolis/tests/conductor/rpc/test_server.py

@@ -1177,7 +1177,7 @@ class ConductorServerEndpointTestCase(test_base.CoriolisBaseTestCase):
     @mock.patch.object(copy, "deepcopy")
     @mock.patch.object(
         server.ConductorServerEndpoint,
-        "get_transfer_tasks_execution"
+        "_get_transfer_tasks_execution"
     )
     @mock.patch.object(
         server.ConductorServerEndpoint,