[
https://issues.apache.org/jira/browse/MESOS-1251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13981830#comment-13981830
]
Till Toenshoff commented on MESOS-1251:
---------------------------------------
Thanks for looking into this Ian. I have not really looked at that code path
within the slave after I found this quirky behavior. So that is now on my
TODO-List to be confirmed.
The interesting thing for me is that up until yesterday, my experience exactly
matched your description (everything but {{wait}} is chained). However, now
that I refactored my ExternalContainerizer-test by using a Mocked version of
that class (see https://reviews.apache.org/r/17567/), I suddenly saw all kinds
of events coming in prior to a fully launched container (Future ready). So
either my new test triggers this behavior by doing something wrong, or we
indeed do not chain on the launch-future.
> Slave should make sure that the containerizer::launch returned Future is ready
> ------------------------------------------------------------------------------
>
> Key: MESOS-1251
> URL: https://issues.apache.org/jira/browse/MESOS-1251
> Project: Mesos
> Issue Type: Improvement
> Reporter: Till Toenshoff
> Priority: Minor
> Labels: concurrency, containerizer, order, slave
>
> 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:
> {noformat}
> Launch
> |
> | Wait
> | |
> | | Update
> | | |
> ----------Launch Future<Nothing> became ready
> {noformat}
> What I would like to see is:
> {noformat}
> Launch
> |
> |
> |
> |
> |
> ----------Launch Future<Nothing> became ready
> Wait
> |
> | Update
> | |
> {noformat}
> 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.
--
This message was sent by Atlassian JIRA
(v6.2#6252)