Apache Mesos 0.21.0 is released
The latest Mesos release, 0.21.0, is now available for download. This version includes the following features and improvements:
Task reconciliation for frameworks (MESOS-1407) Support for Mesos modules (MESOS-1931) Task status now includes source and reason (MESOS-343, MESOS-1143) A shared filesystem isolator (MESOS-1586) A pid namespace isolator (MESOS-1765) Full release notes are available in the release CHANGELOG.
11 comments
[ 2.9 ms ] story [ 62.1 ms ] threadOne example use-case is a private /tmp directory for each container. Processes running in the container will see a normal /tmp directory but it actually refers to a subdirectory of the executor work directory, e.g., the relative path ./tmp. Processes will not be able to see files in the host’s /tmp directory or the /tmp directory of any other container.
This isolator is available only on Linux.
The Mesos Containerizer Launcher has been updated to use the pid namespace to terminate all processes when destroying a container. This avoids known kernel bugs and race conditions when using the freezer cgroup. If the container is not running inside a pid namespace (started with an earlier slave version), the launcher will fall back to the prior behavior and use the freezer cgroup.
This isolator is only available on Linux.
The source of a status update is, broadly speaking, the actor that changed the status. This can currently be Master, Slave, or Executor. Similarly, we have added an enumeration of reasons for the status update. The list can be found in include/mesos/mesos.proto and is fairly extensive.
Our hope is that frameworks can use the source and reason to better communicate status updates to end users, and make better scheduling decisions.
We have also introduced the notion of a TASK_ERROR state, distinct from TASK_LOST. The semantic difference is that tasks that are updated as lost can be rescheduled and should succeed, while tasks with status error will continue to fail if they are rescheduled. In Mesos 0.21.0 we do not send TASK_ERROR but it has been defined so frameworks can prepare to receive it. We will start sending it in Mesos 0.22.0.