> On Oct. 12, 2019, 4:34 a.m., Gilbert Song wrote: > > src/slave/containerizer/mesos/provisioner/docker/store.cpp > > Line 354 (original), 348 (patched) > > <https://reviews.apache.org/r/71608/diff/1/?file=2168975#file2168975line354> > > > > we dont need this promise in this case.
We need it to install the `onDiscard` handler and discard its future in the handler. > On Oct. 12, 2019, 4:34 a.m., Gilbert Song wrote: > > src/slave/containerizer/mesos/provisioner/docker/store.cpp > > Lines 379 (patched) > > <https://reviews.apache.org/r/71608/diff/1/?file=2168975#file2168975line393> > > > > call future.discard() if we remove this promise See my above comment. - Qian ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/71608/#review218194 ----------------------------------------------------------- On Oct. 16, 2019, 9:43 p.m., Qian Zhang wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/71608/ > ----------------------------------------------------------- > > (Updated Oct. 16, 2019, 9:43 p.m.) > > > Review request for mesos and Gilbert Song. > > > Bugs: MESOS-9964 > https://issues.apache.org/jira/browse/MESOS-9964 > > > Repository: mesos > > > Description > ------- > > 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. > > > Diffs > ----- > > src/slave/containerizer/mesos/containerizer.hpp > 6537f6550b353b1c65a30381f6d68f61508d4960 > src/slave/containerizer/mesos/containerizer.cpp > c61b954635ebcaed3e498452bddeee6e1b34f388 > src/slave/containerizer/mesos/provisioner/docker/store.cpp > 286ee5f00933b4c86a96dc4e10e42f9e7eac0ce2 > src/slave/containerizer/mesos/provisioner/provisioner.hpp > 38664177ae3805041b412ed52dd0134a6f3aa679 > src/slave/containerizer/mesos/provisioner/provisioner.cpp > 3d0b291fa878ab22625435afe2a219d6f776e52c > src/tests/containerizer/mesos_containerizer_tests.cpp > 449928c10b897061642af8ad267f8b70695940e6 > src/tests/containerizer/provisioner_docker_tests.cpp > 5d5a355afd9c4fda1c653d6cecb75703b0f2222e > src/uri/fetchers/docker.cpp 8f5fc964f056b349ce57ced139e07f538cb1cfd2 > > > Diff: https://reviews.apache.org/r/71608/diff/4/ > > > Testing > ------- > > > Thanks, > > Qian Zhang > >
