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

Gilbert Song commented on MESOS-6150:
-------------------------------------

commit 3562f95d0cd216634b53217710e60c25ff7524d1
Author: Gilbert Song <[email protected]>
Date:   Sat Sep 10 20:45:07 2016 -0700

    Introduced a new protobuf message 'ContainerRecoverInfo'.
    
    This message will be passed to each isolator during 'recover'. We
    decided to make this change due to the following reasons:
    
    1. To support nested containers, the parameters to the old
    'Isolator::recover' are not sufficient. For example, a top level
    checkpointed executor container may contain child containers that are
    unknown (i.e., the Launcher hasn't forked yet, but some isolator
    already 'prepare' for it). Currently, the checkpointed ContainerState
    list and orphans hashset are not enough for isolators to figure out
    those unknown nested containers. Therefore, to support nested
    containers, we have to change the 'Isolator::recover' interface. We
    need an extra parameter 'knownContainers' to 'Isolator::recover'.
    
    2. We decided to create a new protobuf message for 'Isolator::recover'
    interface. Due to the above reason, we have to change the interface.
    We simply take this opportunity to use a protobuf so that future
    changes won't require isolator writers to adjust their isolators.
    
    In this new protobuf message, we keep the existing parameters in the
    old 'Isolator::recover' as the first two proto fields so that existing
    isolators can be easily updated. The third field represents a full
    list of known containers, which will be used by those isolators that
    want to support nesting.
    
    Review: https://reviews.apache.org/r/51779/

> Introduce the new isolator recover interface for nested container support.
> --------------------------------------------------------------------------
>
>                 Key: MESOS-6150
>                 URL: https://issues.apache.org/jira/browse/MESOS-6150
>             Project: Mesos
>          Issue Type: Task
>          Components: isolation
>            Reporter: Gilbert Song
>            Assignee: Gilbert Song
>              Labels: isolator, mesosphere
>
> Currently, the isolator::recover include two parameters:
> 1. The list of ContainerState, which are the checkpointed conttainers.
> 2. The hashset of orphans, which are returned from the launcher::recover.
> However, to support nested containers in Mesos Pod, this interface is not 
> sufficient. Because unknown nested containers may exist under either the top 
> level alive container or orphan container. We have to include a full list of 
> unknown containers which includes containers from all hierarchy.
> We could have added a 3rd parameter to the isolator::recover interface, to 
> guarantee the backward compatibility. However, considering the potential 
> interface changes in the future work and the old orphan hashset should be 
> deprecated, it is the right time to introduce a new protobuf message 
> `ContainerRecoverInfo` for isolator::recover(), which wraps all information 
> for isolators to recover containers.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to