[
https://issues.apache.org/jira/browse/MESOS-4671?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15148125#comment-15148125
]
Klaus Ma edited comment on MESOS-4671 at 2/16/16 5:53 AM:
----------------------------------------------------------
[[email protected]], when we call {{containerizer->status(...)}}, it'll
dispatch event to {{MesosContainerizerProcess}}; it's also handled in order
although it used {{await}}. Does there any case that make {{FINISHED}} status
return firstly? One possibility is that: both {{containerizer->status()}}
finished between the two {{await}}:
{code}
await() for RUN failed (futures are pending) -> both containerizer->status()
finished -> await() for FIN successfully (futures are ready)
{code}
was (Author: klaus1982):
When we call {{containerizer->status(...)}}, it'll dispatch event to
{{MesosContainerizerProcess}}; it's also handled in order although it used
{{await}}. Does there any case that make {{FINISHED}} status return firstly?
One possibility is that: both {{containerizer->status()}} finished between the
two {{await}}:
{code}
{{await()}} for RUN failed (futures are pending) -> both
{{containerizer->status()}} finished -> {{await()}} for FIN successfully
(futures are ready)
{code}
> Status updates from executor can be forwarded out of order by the Agent.
> ------------------------------------------------------------------------
>
> Key: MESOS-4671
> URL: https://issues.apache.org/jira/browse/MESOS-4671
> Project: Mesos
> Issue Type: Bug
> Components: containerization, HTTP API
> Affects Versions: 0.28.0
> Reporter: Anand Mazumdar
> Assignee: Avinash Sridharan
> Labels: mesosphere
>
> Previously, all status update messages from the executor were forwarded by
> the agent to the master in the order that they had been received.
> However, that seems to be no longer valid due to a recently introduced change
> in the agent:
> {code}
> // Before sending update, we need to retrieve the container status.
> containerizer->status(executor->containerId)
> .onAny(defer(self(),
> &Slave::_statusUpdate,
> update,
> pid,
> executor->id,
> lambda::_1));
> {code}
> This can sometimes lead to status updates being sent out of order depending
> on the order the {{Future}} is fulfilled from the call to {{status(...)}}.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)