Project: mesos
Issue MESOS-5345: Design doc for TASK_LOST_PENDING
The TASK_LOST task status describes two different situations: (a) the task was not launched because of an error (e.g., insufficient available resources), or (b) the master lost contact with a running task (e.g., due to a network partition); the master will kill the task when it can (e.g., when the network partition heals), but in the meantime the task may still be running. This has two problems: 1. Using the same task status for two fairly different situations is confusing. 2. In the partitioned-but-still-running case, frameworks have no easy way to determine when a task has truly terminated. To address these problems, we propose introducing a new task status, TASK_LOST_PENDING. If a framework opts into this behavior using a new capability, TASK_LOST would mean "the task is definitely not running", whereas TASK_LOST_PENDING would mean "the task may or may not be running (we've lost contact with the agent), but the master will try to shut it down when possible."
Story points: 5