You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mesos.apache.org by "Benjamin Mahler (JIRA)" <ji...@apache.org> on 2013/10/04 20:18:42 UTC

[jira] [Commented] (MESOS-488) The Master incorrectly sends a "Framework failed over" message when the scheduler driver retries an initial failover re-registration.

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

Benjamin Mahler commented on MESOS-488:
---------------------------------------

https://reviews.apache.org/r/13757/

> The Master incorrectly sends a "Framework failed over" message when the scheduler driver retries an initial failover re-registration.
> -------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: MESOS-488
>                 URL: https://issues.apache.org/jira/browse/MESOS-488
>             Project: Mesos
>          Issue Type: Bug
>    Affects Versions: 0.9.0, 0.10.0, 0.11.0, 0.12.0, 0.13.0
>            Reporter: Vinod Kone
>            Assignee: Benjamin Mahler
>             Fix For: 0.14.0
>
>
> We have seen this in production at Twitter.
> Scheduler driver's re-register messages were backed up on the master (it was busy). When the master acted on the 2nd re-register message, it incorrectly sent a FrameworkError message to the scheduler that just re-registered.
> This bug can cause unnecessary additional failovers, if say, the master is delayed processing a re-registration attempt from a scheduler. 
> // Replace the scheduler for a framework with a new process ID, in the 
> // event of a scheduler failover. 
> void Master::failoverFramework(Framework* framework, const UPID& newPid) 
> { 
>   const UPID& oldPid = framework->pid; 
>   /** NEED TO GUARD AGAINST newPid == oldPid FOR RETRIES! */ 
>   { 
>     FrameworkErrorMessage message; 
>     message.set_message("Framework failed over"); 
>     send(oldPid, message); 
>   } 
>   ... 
> } 
> Sending the FrameworkErrorMessage here always is incorrect, we should not be sending it when the scheduler driver is simply re-trying the initial failover re-registration.



--
This message was sent by Atlassian JIRA
(v6.1#6144)