Qian Zhang created MESOS-5262:
---------------------------------
Summary: slave::statusUpdate() should always ACK the status update
sent by executor
Key: MESOS-5262
URL: https://issues.apache.org/jira/browse/MESOS-5262
Project: Mesos
Issue Type: Improvement
Components: slave
Reporter: Qian Zhang
In {{slave::statusUpdate()}}, there are several scenarios where agent ignores a
status update sent by the executor and will not send an ACK to the executor,
e.g.:
When agent receives a {{ShutdownFrameworkMessage}} from master,
{{slave::shutdownFramework()}} will be called. In this method, we will set the
state of framework to {{TERMINATING}} and send a {{ShutdownExecutorMessage}} to
executor. When executor receives that message, usually it will kill the tasks
and send {{TASK_KILLED}} status update to agent. Agent will receive that
message and handle it in {{slave::statusUpdate()}}, but according to the
currently logic of {{slave::statusUpdate()}}, it will ignore the status update
if the state of framework is {{TERMINATING}}, so agent will not send an ACK to
the executor.
Since executor may rely on the ACK (e.g., HTTP command executor relies on the
ACK of a terminal status update to terminate itself), we should enhance it such
that executor can always get an ACK for the status update sent by it.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)