Is it possible for the same workflow to be execute...
# flyte-support
c
Is it possible for the same workflow to be executed in parallel by propeller? It seems possible since workflow update handler will just enqueue workflows when an update happens. I suppose one of the writes to etcd would be ignored during the race but it still seems like propeller could progress the same workflow twice with same state? As long as plugins are idempotent this should be ok?
f
Nope this is not ok
It breaks the singular assumption of the system - that one leader per workflow
It does not happen in the system today
c
I thought it could happen if there is a streak no? What stops the update handler form being called from 8 writes in a row and the queue handing those off to one of the many workers?
Assuming single propeller so only one leader
f
One leader implies one single thread per workflow
The queue has a lock built in
It cannot happen
Streaks are run sequentially
c
Oh ok, I’ll have to take a deeper look at the queue implementation
Does the queue de-dupe entries then?
f
Yea
c
Ah ok cool. I realize the streaks are done on a single thread. Was just saying that they theoretically would create n additions to the queue.
f
Streaks do not add to the queue
That’s is the clever invention
c
I thought the workflow CRD update handler is what adds to the queue? And the streaks keep updating the workflow CRD?
I might not understand how some of the k8s update/informer primitives work
f
The streak short circuits the flow