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

The /__processes__ endpoint in libprocess is missing a needed lock acquisition.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 0.18.0
    • libprocess
    • None

    Description

      Looks like the processing of each event queue in _processes_ is lacking the needed lock acquisition:

      Future<Response> ProcessManager::_processes_(const Request&)
      {
      JSON::Array array;

      synchronized (processes) {
      foreachvalue (const ProcessBase* process, process_manager->processes) {
      ...

      // XXX: This processes the event queue but does not lock process.
      foreach (Event* event, process->events)

      { event->visit(&visitor); }

      object.values["events"] = events;
      array.values.push_back(object);
      }
      }

      return OK(array);
      }

      Attachments

        Activity

          People

            bmahler Benjamin Mahler
            bmahler Benjamin Mahler
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: