Details
-
Improvement
-
Status: Accepted
-
Minor
-
Resolution: Unresolved
-
None
-
None
-
None
Description
Currently the slave is not awaiting the Future<Nothing> returned by Containerizer::Launch before sending out more command events.
Is there a reason for this behavior?
This issue becomes apparent only when having a launch-command-implementations that is relatively "expensive".
So what I can see here is the following chain of events along a vertical time axis:
Launch | | Wait | | | | Update | | | ----------Launch Future<Nothing> became ready
What I would like to see is:
Launch | | | | | ----------Launch Future<Nothing> became ready Wait | | Update | |
As we are currently pushing the former behavior into the implementation of the containerizer, things quickly get rather complicated on that side. Hence I would like to understand if that is something we really want / need or if we might want to fix this within the slave in a longer run.
So far, I have only observed this to be a challenge for Launch, but other events might just as well be worth a thought on enforced chaining instead of concurrent invocations.