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

Klaus Ma commented on MESOS-3070:
---------------------------------

Thanks for your feedback, that's helpful.

Regarding #1, it's to kill task/executor and ignore its feedback/ack, but it 
did not follow the generate way we handle other operations
Regarding #2, the scalability bottleneck will happen when master failover, 
right? It'll impact new master's response time when elected as leader
Consider "storing tasks in master in a per slave map" as Option 3, yes, we can 
distinguish task by slave info; but if framework submit duplicate tasks id, 
will still reject it; if task will killed, all tasks with the same tasks id 
will be killed. is that OK?
One more Option (#4), ask master to generate unique task id; and introduce 
TaskTag for user to distinguish tasks if necessary; in this option, no 
duplicate task id, so no tasks will be rejected

*BTW*, it said "The ID must remain unique while the task is active" in comments 
of TaskID (mesos.proto); so is it a valid case?


> Master CHECK failure if a framework uses duplicated task id.
> ------------------------------------------------------------
>
>                 Key: MESOS-3070
>                 URL: https://issues.apache.org/jira/browse/MESOS-3070
>             Project: Mesos
>          Issue Type: Bug
>          Components: master
>    Affects Versions: 0.22.1
>            Reporter: Jie Yu
>            Assignee: Klaus Ma
>
> We observed this in one of our testing cluster.
> One framework (under development) keeps launching tasks using the same 
> task_id. We don't expect the master to crash even if the framework is not 
> doing what it's supposed to do. However, under a series of events, this could 
> happen and keeps crashing the master.
> 1) frameworkA launches task 'task_id_1' on slaveA
> 2) master fails over
> 3) slaveA has not re-registered yet
> 4) frameworkA re-registered and launches task 'task_id_1' on slaveB
> 5) slaveA re-registering and add task "task_id_1' to frameworkA
> 6) CHECK failure in addTask
> {noformat}
> I0716 21:52:50.759305 28805 master.hpp:159] Adding task 'task_id_1' with 
> resources cpus(*):4; mem(*):32768 on slave 
> 20150417-232509-1735470090-5050-48870-S25 (hostname)
> ...
> ...
> F0716 21:52:50.760136 28805 master.hpp:362] Check failed: 
> !tasks.contains(task->task_id()) Duplicate task 'task_id_1' of framework 
> <framework_id>
> {noformat}



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

Reply via email to