You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Chun-Hung Hsiao (JIRA)" <ji...@apache.org> on 2019/02/16 05:53:00 UTC

[jira] [Commented] (MESOS-9580) Master sends inconsistent `UpdateFrameworkMessage` to agents.

    [ https://issues.apache.org/jira/browse/MESOS-9580?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16770020#comment-16770020 ] 

Chun-Hung Hsiao commented on MESOS-9580:
----------------------------------------

Some more comments about this issue.

The current behavior, although making such an inconsistency between master and agents, can handle the following scenario:
1. A framework reregistered with a new user.
2. The master broadcasted the new framework info and all agents received it (inconsistency occured).
3. The master failed over.
4. No matter the framework or any agent registered first, the master would always get the same framework info.

> Master sends inconsistent `UpdateFrameworkMessage` to agents.
> -------------------------------------------------------------
>
>                 Key: MESOS-9580
>                 URL: https://issues.apache.org/jira/browse/MESOS-9580
>             Project: Mesos
>          Issue Type: Bug
>          Components: master
>            Reporter: Chun-Hung Hsiao
>            Priority: Major
>              Labels: foundations
>
> If a framework reregisters with a new user, the master would ignore the user update because of MESOS-703:
>  [https://github.com/apache/mesos/blob/f1dc50568dcc90cec7158205dca86a2398a42dcd/src/master/framework.cpp#L526-L529]
> However, it would send the framework info *coming from the framework* (i.e., with the new user) provided by the framework to all agents:
>  [https://github.com/apache/mesos/blob/f1dc50568dcc90cec7158205dca86a2398a42dcd/src/master/master.cpp#L2748-L2757]
>  [https://github.com/apache/mesos/blob/f1dc50568dcc90cec7158205dca86a2398a42dcd/src/master/master.cpp#L3156-L3162]
> But, when an agent reregistered, the master would send the framework info from its in-memory state:
>  [https://github.com/apache/mesos/blob/f1dc50568dcc90cec7158205dca86a2398a42dcd/src/master/master.cpp#L7827-L7842]
> This would make the framework info inconsistent between the master and some of its agents. Although it won't affect executor and task launch (as the framework info would be injected into {{RunTask(Group)*Message}}), if there is a master failover, a race between framework and agent reregistrations would make the new master learn different framework info.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)