commit | 4c72e6098fdf2b38e79954c03385bb0ecacbb489 | [log] [tgz] |
---|---|---|
author | Qian Zhang <zhq527725@gmail.com> | Fri May 15 10:23:51 2020 +0800 |
committer | Qian Zhang <zhq527725@gmail.com> | Fri May 29 17:16:10 2020 +0800 |
tree | 33afe585f02406ce0f4c00dcb77ac8f6f65b3eef | |
parent | d440095b5a94872eabbd66def49a588d6f8f2b38 [diff] |
Erased `Info` struct before unmouting volumes in Docker volume isolator. Currently when `DockerVolumeIsolatorProcess::cleanup()` is called, we will unmount the volume first, and if the unmount operation fails we will NOT erase the container's `Info` struct from `infos`. This is problematic because the remaining `Info` in `infos` will cause the reference count of the volume is greater than 0, but actually the volume is not being used by any containers. That means we may never get a chance to unmount this volume on this agent, furthermore if it is an EBS volume, it cannot be used by any tasks launched on any other agents since a EBS volume can only be attached to one node at a time. The only workaround would manually unmount the volume. So in this patch `DockerVolumeIsolatorProcess::cleanup()` is updated to erase container's `Info` struct before unmounting volumes. Review: https://reviews.apache.org/r/72516
Apache Mesos is a cluster manager that provides efficient resource isolation and sharing across distributed applications, or frameworks. It can run Hadoop, Jenkins, Spark, Aurora, and other frameworks on a dynamically shared pool of nodes.
Visit us at mesos.apache.org.
Documentation is available in the docs/ directory. Additionally, a rendered HTML version can be found on the Mesos website's Documentation page.
Instructions are included on the Getting Started page.
Apache Mesos is licensed under the Apache License, Version 2.0.
For additional information, see the LICENSE and NOTICE files.