Gilbert Song created MESOS-6371:
-----------------------------------

             Summary: Remove the 'recover()' interface in 'ContainerLogger'.
                 Key: MESOS-6371
                 URL: https://issues.apache.org/jira/browse/MESOS-6371
             Project: Mesos
          Issue Type: Improvement
          Components: containerization
            Reporter: Gilbert Song
            Assignee: Gilbert Song


This issue arises from the nested container support in Mesos.

Currently, the container logger interface mainly contains `recover()` and 
`prepare()` methods. The `prepare` will be called in containerizer::launch() to 
launch a container, while `recover` will be called in containerizer::recover() 
to recover containers. Both methods rely on 2 parameters: ExecutorInfo and 
sandbox directory. The sandbox directory for nested containers can still be 
passed to the logger. However, because of nested container support, 
ExecutorInfo is no longer available for nested containers.

In logger prepare, the ExecutorInfo is used for deliver FrameworkID, 
ExecutorID, and Label for custom metadata. In containerizer launch, we can 
still pass the ExecutorInfo of a nested container's top level parent to the 
logger, so that those information will not be lost.

In logger recover, since currently the logger is stateless, and most of the 
logger modules are doing `noop` in logger::recover(). The recover interface 
should exist together with `cleanup` method if the logger become stateful in 
the future. To avoid adding tech debt in containerizer nested container 
support, we should remove the `recover` in container logger for now (can add it 
back together with `cleanup` in the future if the container logger become 
stateful).



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

Reply via email to