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

Subprocess should be more intelligent about setting/inheriting libprocess environment variables

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Accepted
    • Major
    • Resolution: Unresolved
    • 0.27.0
    • None
    • libprocess

    Description

      Mostly copied from this comment

      A subprocess inheriting the environment variables LIBPROCESS_* may run into some accidental fatalities:

        Subprocess uses libprocess Subprocess is something else
      Subprocess sets/inherits the same PORT by accident Bind failure -> exit Nothing happens
      Subprocess sets a different PORT on purpose Bind success Nothing happens

      = means this is usually the case, but not 100%.

      A complete fix would look something like:

      • If the subprocess call gets environment = None(), we should automatically remove LIBPROCESS_PORT from the inherited environment.
      • The parts of executorEnvironment dealing with libprocess & libmesos should be refactored into libprocess as a helper. We would use this helper for the Containerizer, Fetcher, and ContainerLogger module.
      • If the subprocess call is given LIBPROCESS_PORT == os::getenv("LIBPROCESS_PORT"), we can LOG(WARN) and unset the env var locally.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              kaysoky Joseph Wu
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated: