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

Write a proposal to make the I/O Switchboards optional

    XMLWordPrintableJSON

Details

    Description

      Right now DEBUG containers can only be started using the LaunchNestedContainerSession API call. They will enter its parent’s namespaces, inherit environment variables, stream its I/O, and Mesos will tie their life-cycle to the lifetime of the HTTP connection.

      Streaming the I/O of a container requires an I/O Switchboard and adds some overhead and complexity:

      • Mesos will launch an extra process, called an I/O Switchboard for each nested container. These process aren’t free, they take some time to create/destroy and consume resources.
      • I/O Switchboards are managed by a complex isolator.
      • /O Swichboards introduce new race conditions, and have been a source of deadlocks in the past.

      Some use cases require some of the features provided by DEBUG containers, but don’t need the functionality provided by the I/O switchboard. For instance, the Default Executor uses DEBUG containers to perform (health)checks, but it doesn’t need to stream anything to/from the container.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              gkleiman Gastón Kleiman
              Vinod Kone Vinod Kone
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: