[ 
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)

Reply via email to