Supported destroying UCR container in `PROVISIONING` state.

Previously in MESOS-3736, we made Docker store support pulling same
image simultaneously which is a performance improvement, however it
may cause an issue: If the pulling hangs somehow, all the subsequent
pulling request for the same image will hang as well, and as a result
the container destroy will also hang since destroy has to wait for
provisioning to finish, see MESOS-4985 for details.

So in this patch we removed that performance improvement and made UCR
can destroy the container which is being provisioned, i.e., UCR will
discard the container provisioning and then keep doing the container
destroy. And we also improved Docker fetcher plugin so that when
container provisioning is discarded the `curl` process used to fetch
manifest or blob will be killed immediately.

Review: https://reviews.apache.org/r/71608
8 files changed
tree: d61e3913865caec90eac4ea4c8e84e2af4d98cd2
  1. 3rdparty/
  2. bin/
  3. cmake/
  4. docs/
  5. include/
  6. m4/
  7. mpi/
  8. site/
  9. src/
  10. support/
  11. .gitattributes
  12. bootstrap
  13. CHANGELOG
  14. CMakeLists.txt
  15. configure.ac
  16. Doxyfile
  17. LICENSE
  18. Makefile.am
  19. mesos.pc.in
  20. NOTICE
  21. README.md
README.md

Apache Mesos

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.

Mailing Lists

Documentation

Documentation is available in the docs/ directory. Additionally, a rendered HTML version can be found on the Mesos website's Documentation page.

Installation

Instructions are included on the Getting Started page.

License

Apache Mesos is licensed under the Apache License, Version 2.0.

For additional information, see the LICENSE and NOTICE files.