mesos-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Greg Mann (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MESOS-8576) Improve discard handling of 'Docker::inspect()'
Date Sat, 24 Feb 2018 02:23:00 GMT

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

Greg Mann commented on MESOS-8576:
----------------------------------

Still working on this one. The problem is that {{Docker::inspect()}} has retry logic embedded
within the library function, since we often call it before a container has started running
in order to detect that the container is up. So, to avoid repeatedly registering {{onDiscard}}
callbacks with every retry (which would constitute a memory leak), we need to pass the "context"
of the current {{docker inspect}} call through the async call chain, and also make it accessible
to the {{onDiscard}} callback which we install onto the returned future. Since the Docker
library is not currently a libprocess actor, this is a bit difficult.

WIP patch here: https://reviews.apache.org/r/65683/

> Improve discard handling of 'Docker::inspect()'
> -----------------------------------------------
>
>                 Key: MESOS-8576
>                 URL: https://issues.apache.org/jira/browse/MESOS-8576
>             Project: Mesos
>          Issue Type: Improvement
>          Components: containerization, docker
>    Affects Versions: 1.5.0
>            Reporter: Greg Mann
>            Assignee: Greg Mann
>            Priority: Major
>              Labels: mesosphere
>
> In the call path of {{Docker::inspect()}}, each continuation currently checks if {{promise->future().hasDiscard()}},
where the {{promise}} is associated with the output of the {{docker inspect}} call. However,
if the call to {{docker inspect}} becomes hung indefinitely, then continuations are never
invoked, and a subsequent discard of the returned {{Future}} will have no effect. We should
add proper {{onDiscard}} handling to that {{Future}} so that appropriate cleanup is performed
in such cases.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message