New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wait for Actor Start message to be processed before returning workflo… #308
Conversation
@@ -320,6 +320,8 @@ case class WorkflowActor(workflow: WorkflowDescriptor, backend: Backend) | |||
case Failure(t) => | |||
self ! AsyncFailure(t) | |||
} | |||
|
|||
futureCaches |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These caches represent sensitive internal WorkflowActor data that the sender()
shouldn't have access to. It might be preferable to have the return type be Future[Unit]
and return futureCaches map { _ => () }
(or some other nicer way of throwing away the Future
success value).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah good catch !
👍 nice apart from the one gripe 😄 |
c3aab29
to
9471e1e
Compare
I don't think it should be part of this ticket, but if we wanted to support a higher request rate we could just generate a UUID and a persist a shell of a workflow execution without doing all the heavy lifting we do now before persisting. |
This passes the K.I.S.S. principle, but I personally hate the ask pattern, as it leads to timeouts and exceptions when the system gets busy. One should be theoretically be able to have the two actors to |
@mcovarr I think we still need to ensure that the submission is correct before sending back a 201 with the workflow ID, which means being sure that everything necessary to start executing the workflow is ready (all DB executions succeeded etc...) |
Discussed offline 👍 for this PR, with another to be added to prioritize if we want to remove the ask pattern. |
Wait for Actor Start message to be processed before returning workflo…
Created a tech debt ticket as per discussed with @kshakir and @mcovarr https://broadinstitute.atlassian.net/browse/DSDEEPB-2214 |
…w ID