[ 
https://issues.apache.org/jira/browse/MESOS-10169?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17190365#comment-17190365
 ] 

Andrei Sekretenko commented on MESOS-10169:
-------------------------------------------

1.10.x
{noformat}
commit 51cf5a37570caa0405a1edd5b461f484384cb526
Author: Andrei Sekretenko <asekrete...@apache.org>
Date:   Thu Aug 20 17:02:51 2020 +0200

    Deduplicated concurrent image pulls by docker store.
    
    This patch makes the docker store reuse a pending pull if asked for
    an image that is already being pulled.
    
    The pull caching follows the same approach as the earlier attempt in
    https://reviews.apache.org/r/39331 . However, handing out futures to
    the store callers and handling their discards are performed differently,
    using a form of reference counting, so that the pull itself is discarded
    only if all the futures returned by `Store::get()` have been discarded.
    
    Review: https://reviews.apache.org/r/72790

commit d4e4654f82cd5dd99fc9a8318df02674c0ed6320
Author: Andrei Sekretenko <asekrete...@apache.org>
Date:   Thu Aug 20 17:49:13 2020 +0200

    Reverted removal of the PullingSameImageSimutanuously test.
    
    Now that the docker store triggers pull at most once per multiple
    simultaneous requests to the store, removal of the
    `PullingSameImageSimutanuously` test in
    33c61a1907129126f3b2e37b1f53827a04e89a34 can be reverted.
    
    Review: https://reviews.apache.org/r/72791

commit 1fbbbea73b5c65ef916d4c16e87bde2f75951345
Author: Andrei Sekretenko <asekrete...@apache.org>
Date:   Thu Aug 20 18:45:44 2020 +0200

    Fixed typos in the name of `PullingSameImageSimutanuously` test.
    
    Review: https://reviews.apache.org/r/72792

commit 0f8a37a3a27e5458083866c716dd44c9bc11b5c0
Author: Andrei Sekretenko <asekrete...@apache.org>
Date:   Thu Aug 20 18:16:39 2020 +0200

    Added discarding a future returned by get() into the docker store test.
    
    This patch extends the `PullingSameImageSimultaneously` test
    with discarding one of the futures returned by `store->get()`
    and making sure that the pull still completes.
    
    Review: https://reviews.apache.org/r/72793

commit 3ca3879d52ea0f9bff05443d331d63105b2cc4db
Author: Andrei Sekretenko <asekrete...@apache.org>
Date:   Thu Aug 20 18:36:40 2020 +0200

    Added a test for discarding image pull on discard of getting image.
    
    This test checks that when all futures returned by docker store's
    `get()` that are pending image pull are discarded by the callers,
    the pull future (returned by the puller to the store) is discarded
    by the store as well.
    
    Review: https://reviews.apache.org/r/72794
{noformat}

1.9.x:
{noformat}
commit 30d63f89e5fbac10192d7daa33fcea4e38701241
Author: Andrei Sekretenko <asekrete...@apache.org>
Date:   Thu Aug 20 17:02:51 2020 +0200

    Deduplicated concurrent image pulls by docker store.
    
    This patch makes the docker store reuse a pending pull if asked for
    an image that is already being pulled.
    
    The pull caching follows the same approach as the earlier attempt in
    https://reviews.apache.org/r/39331 . However, handing out futures to
    the store callers and handling their discards are performed differently,
    using a form of reference counting, so that the pull itself is discarded
    only if all the futures returned by `Store::get()` have been discarded.
    
    Review: https://reviews.apache.org/r/72790

commit 0e54e8f51afc5d139496a0d0b5378a765f2cf9dd
Author: Andrei Sekretenko <asekrete...@apache.org>
Date:   Thu Aug 20 17:49:13 2020 +0200

    Reverted removal of the PullingSameImageSimutanuously test.
    
    Now that the docker store triggers pull at most once per multiple
    simultaneous requests to the store, removal of the
    `PullingSameImageSimutanuously` test in
    33c61a1907129126f3b2e37b1f53827a04e89a34 can be reverted.
    
    Review: https://reviews.apache.org/r/72791

commit edd7930356250fb8cd42f57ac79d1749a815fb8a
Author: Andrei Sekretenko <asekrete...@apache.org>
Date:   Thu Aug 20 18:45:44 2020 +0200

    Fixed typos in the name of `PullingSameImageSimutanuously` test.
    
    Review: https://reviews.apache.org/r/72792

commit 404f4650a6c0f68c535b4e4832103ecd2d288fec
Author: Andrei Sekretenko <asekrete...@apache.org>
Date:   Thu Aug 20 18:16:39 2020 +0200

    Added discarding a future returned by get() into the docker store test.
    
    This patch extends the `PullingSameImageSimultaneously` test
    with discarding one of the futures returned by `store->get()`
    and making sure that the pull still completes.
    
    Review: https://reviews.apache.org/r/72793

commit e98ced1e93751b78c3248221115fcf4db8a39b29
Author: Andrei Sekretenko <asekrete...@apache.org>
Date:   Thu Aug 20 18:36:40 2020 +0200

    Added a test for discarding image pull on discard of getting image.
    
    This test checks that when all futures returned by docker store's
    `get()` that are pending image pull are discarded by the callers,
    the pull future (returned by the puller to the store) is discarded
    by the store as well.
    
    Review: https://reviews.apache.org/r/72794
{noformat}

1.8.x
{noformat}
commit cd49d821de12a3d2a237ae57844878b649b50295
Author: Andrei Sekretenko <asekrete...@apache.org>
Date:   Thu Aug 20 17:02:51 2020 +0200

    Deduplicated concurrent image pulls by docker store.
    
    This patch makes the docker store reuse a pending pull if asked for
    an image that is already being pulled.
    
    The pull caching follows the same approach as the earlier attempt in
    https://reviews.apache.org/r/39331 . However, handing out futures to
    the store callers and handling their discards are performed differently,
    using a form of reference counting, so that the pull itself is discarded
    only if all the futures returned by `Store::get()` have been discarded.
    
    Review: https://reviews.apache.org/r/72790

commit c42364a833df202752a15f27542e6e5ab6a78179
Author: Andrei Sekretenko <asekrete...@apache.org>
Date:   Thu Aug 20 17:49:13 2020 +0200

    Reverted removal of the PullingSameImageSimutanuously test.
    
    Now that the docker store triggers pull at most once per multiple
    simultaneous requests to the store, removal of the
    `PullingSameImageSimutanuously` test in
    33c61a1907129126f3b2e37b1f53827a04e89a34 can be reverted.
    
    Review: https://reviews.apache.org/r/72791

commit 9aed797be27d6b831a7adf4b5e373c1c9e6640b6
Author: Andrei Sekretenko <asekrete...@apache.org>
Date:   Thu Aug 20 18:45:44 2020 +0200

    Fixed typos in the name of `PullingSameImageSimutanuously` test.
    
    Review: https://reviews.apache.org/r/72792

commit 6afaf0957048aeec30ff2383213cca7dc0893d32
Author: Andrei Sekretenko <asekrete...@apache.org>
Date:   Thu Aug 20 18:16:39 2020 +0200

    Added discarding a future returned by get() into the docker store test.
    
    This patch extends the `PullingSameImageSimultaneously` test
    with discarding one of the futures returned by `store->get()`
    and making sure that the pull still completes.
    
    Review: https://reviews.apache.org/r/72793

commit d160015e544082ff310a7e4d2e94e3c4eae9499b
Author: Andrei Sekretenko <asekrete...@apache.org>
Date:   Thu Aug 20 18:36:40 2020 +0200

    Added a test for discarding image pull on discard of getting image.
    
    This test checks that when all futures returned by docker store's
    `get()` that are pending image pull are discarded by the callers,
    the pull future (returned by the puller to the store) is discarded
    by the store as well.
    
    Review: https://reviews.apache.org/r/72794
{noformat}

1.7.x:
{noformat}
commit b4a49fd915cacd111cedc3c583d69bc2b9d6468e
Author: Andrei Sekretenko <asekrete...@apache.org>
Date:   Thu Aug 20 17:02:51 2020 +0200

    Deduplicated concurrent image pulls by docker store.
    
    This patch makes the docker store reuse a pending pull if asked for
    an image that is already being pulled.
    
    The pull caching follows the same approach as the earlier attempt in
    https://reviews.apache.org/r/39331 . However, handing out futures to
    the store callers and handling their discards are performed differently,
    using a form of reference counting, so that the pull itself is discarded
    only if all the futures returned by `Store::get()` have been discarded.
    
    Review: https://reviews.apache.org/r/72790

commit df5fcf75b1dd04daa44631b43441d1bd85dd0241
Author: Andrei Sekretenko <asekrete...@apache.org>
Date:   Thu Aug 20 17:49:13 2020 +0200

    Reverted removal of the PullingSameImageSimutanuously test.
    
    Now that the docker store triggers pull at most once per multiple
    simultaneous requests to the store, removal of the
    `PullingSameImageSimutanuously` test in
    33c61a1907129126f3b2e37b1f53827a04e89a34 can be reverted.
    
    Review: https://reviews.apache.org/r/72791

commit 66f8ed162a2d6022b49af426144413830be6501c
Author: Andrei Sekretenko <asekrete...@apache.org>
Date:   Thu Aug 20 18:45:44 2020 +0200

    Fixed typos in the name of `PullingSameImageSimutanuously` test.
    
    Review: https://reviews.apache.org/r/72792

commit f1008ce5bc0105d00e9061efc61a9fc5f61a289d
Author: Andrei Sekretenko <asekrete...@apache.org>
Date:   Thu Aug 20 18:16:39 2020 +0200

    Added discarding a future returned by get() into the docker store test.
    
    This patch extends the `PullingSameImageSimultaneously` test
    with discarding one of the futures returned by `store->get()`
    and making sure that the pull still completes.
    
    Review: https://reviews.apache.org/r/72793

commit 8fc28789a7441a24ce0165281f9cadedf5cce417
Author: Andrei Sekretenko <asekrete...@apache.org>
Date:   Thu Aug 20 18:36:40 2020 +0200

    Added a test for discarding image pull on discard of getting image.
    
    This test checks that when all futures returned by docker store's
    `get()` that are pending image pull are discarded by the callers,
    the pull future (returned by the puller to the store) is discarded
    by the store as well.
    
    Review: https://reviews.apache.org/r/72794
{noformat}


> Reintroduce image fetch deduplication while keeping it possible to destroy 
> UCR containers in PROVISIONING state
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: MESOS-10169
>                 URL: https://issues.apache.org/jira/browse/MESOS-10169
>             Project: Mesos
>          Issue Type: Bug
>    Affects Versions: 1.7.3, 1.8.2, 1.9.1, 1.10.0, 1.7.4, 1.11.0, 1.10.1
>            Reporter: Andrei Sekretenko
>            Assignee: Andrei Sekretenko
>            Priority: Major
>
> The fix for https://issues.apache.org/jira/browse/MESOS-9964 had to drop the 
> image fetch deduplication that was introduced long ago in 
> https://issues.apache.org/jira/browse/MESOS-3736. We should reintroduce the 
> deduplication back.
> UCR containers pulling the same image at the same time should pull the image 
> only once.
> *This deduplication should not prevent killing some of the PROVISIONING 
> containers, and such killing should not interfere with provisioning of other 
> containers.*
> I would argue that it is OK for all the containers depending on a single 
> image pull to hang if this single pull hangs.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to