Hi all, when starting a task, an executor can send out the following status updates:
- [optional] TASK_STARTING: Sent by the executor when it received the launch command - TASK_RUNNING: Sent by the executor when the task is running The built-in executors currently don't send out TASK_STARTING updates. I think this discards potentially valuable information, because TASK_RUNNING informs us about the current status of the task, but not about the status change. For example, if the network connection between scheduler and master is interrupted during task start, it has no good way to estimate the tasks start time, because the TASK_RUNNING update that it eventually gets might be a much later one. Also, for tasks with a long delay between STARTING and RUNNING, to an outside observer it will look the same as if the task was stuck in STAGING. There is a small risk that sending an additional update could break existing frameworks. We briefly looked through some of the most popular open-source frameworks and didn't find any major issues, but of course it's impossible to do an exhaustive check. In particular, a framework will break if 1. It runs tasks using one of the built-in mesos executors, and 2. it doesn't handle the possibility of receiving TASK_STARTING update, and 3. it reports an error whenever it encounters an unexpected task states in an update. If you are aware of any such framework, please speak up so we can consider it. Thanks, -- Benno Evers Software Engineer, Mesosphere