uuid); if ($reservation === null) { return ResourceStartActivity::DATABASE_OPERATION_IN_PROGRESS_MESSAGE; } try { $server = $database->destination->server; if (! $server->isFunctional()) { return 'Server is not functional'; } $busyError = StartDatabase::operationInProgressError($database, $reservation); if ($busyError !== null) { return $busyError; } $prerequisiteError = StartDatabase::prerequisiteError($database); if ($prerequisiteError !== null) { return $prerequisiteError; } StopDatabase::run($database, dockerCleanup: false); return StartDatabase::run($database, $reservation); } finally { DatabaseOperationReservation::release($database->uuid, $reservation); } } }