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

Disallow executors with cpu only or memory only resources

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Accepted
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None
    • None
    • Twitter Q4 Sprint 1, Twitter Mesos Q4 Sprint 2, Twitter Mesos Q4 Sprint 3
    • 3

    Description

      Currently master allows executors to be launched with either only cpus or only memory but we shouldn't allow that.
      This is because executor is an actual unix process that is launched by the slave. If an executor doesn't specify cpus, what should the cpu limits be for that executor when there are no tasks running on it? If no cpu limits are set then it might starve other executors/tasks on the slave violating isolation guarantees. Same goes with memory. Moreover, the current containerizer/isolator code will throw failures when using such an executor, e.g., when the last task on the executor finishes and Containerizer::update() is called with 0 cpus or 0 mem.

      According to a source code TODO this should also include checking whether requested resources are greater than MIN_CPUS/MIN_BYTES.

      Attachments

        1. Screenshot 2015-07-28 14.40.35.png
          184 kB
          Erik Weathers

        Issue Links

          Activity

            People

              Unassigned Unassigned
              vinodkone Vinod Kone
              Benjamin Mahler Benjamin Mahler
              Votes:
              0 Vote for this issue
              Watchers:
              18 Start watching this issue

              Dates

                Created:
                Updated: