Uploaded image for project: 'Mesos'
  1. Mesos
  2. MESOS-6371

Remove the 'recover()' interface in 'ContainerLogger'.

    XMLWordPrintableJSON

Details

    • Mesosphere Sprint 44
    • 3

    Description

      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).

      Attachments

        Activity

          People

            gilbert Gilbert Song
            gilbert Gilbert Song
            Joseph Wu Joseph Wu
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: