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

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

                Dates

                • Created:
                  Updated:
                  Resolved: