[ 
https://issues.apache.org/jira/browse/MESOS-6785?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Neil Conway updated MESOS-6785:
-------------------------------
    Description: 
The master crashes with a CHECK failure in the following scenario:

# Framework launches task X on agent A1. The framework may or may not be 
partition-aware; let's assume it is not partition-aware.
# A1 becomes partitioned from the master.
# Framework launches task X on agent A2.
# Master fails over.
# Agents A1 and A2 both re-register with the master. Because the master has 
failed over, the task on A1 is _not_ terminated ("non-strict registry 
semantics").

This results in two running tasks with the same ID, which causes a master 
{{CHECK}} failure among other badness:

{noformat}
master.hpp:2299] Check failed: !tasks.contains(task->task_id()) Duplicate task 
b88153a2-571a-41e7-9e9b-c297fef4f3cd of framework 
eaef1879-8cc9-412f-928d-86c9925a7abb-0000
{noformat}

  was:
Duplicate task IDs might occur in two situations with partition-aware 
frameworks:

# The agent is partitioned and task X on that agent is marked unreachable. The 
framework that proceeds to attempt to launch a new task with id X; the task 
launch should fail.
# Same as above except that the master fails over before the task launch 
occurs. Because the master doesn't know that there is already a task id X on 
the partitioned agent, it cannot reasonably fail the task launch. Hence, when 
the agent re-registers, we probably need to kill the task with id X on the 
re-registering agent. This is unfortunate, but I'm not sure I see a feasible 
alternative.


> CHECK failure on duplicate task IDs
> -----------------------------------
>
>                 Key: MESOS-6785
>                 URL: https://issues.apache.org/jira/browse/MESOS-6785
>             Project: Mesos
>          Issue Type: Bug
>          Components: master
>            Reporter: Neil Conway
>            Assignee: Neil Conway
>              Labels: mesosphere
>
> The master crashes with a CHECK failure in the following scenario:
> # Framework launches task X on agent A1. The framework may or may not be 
> partition-aware; let's assume it is not partition-aware.
> # A1 becomes partitioned from the master.
> # Framework launches task X on agent A2.
> # Master fails over.
> # Agents A1 and A2 both re-register with the master. Because the master has 
> failed over, the task on A1 is _not_ terminated ("non-strict registry 
> semantics").
> This results in two running tasks with the same ID, which causes a master 
> {{CHECK}} failure among other badness:
> {noformat}
> master.hpp:2299] Check failed: !tasks.contains(task->task_id()) Duplicate 
> task b88153a2-571a-41e7-9e9b-c297fef4f3cd of framework 
> eaef1879-8cc9-412f-928d-86c9925a7abb-0000
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to