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

DRF sorter may omit clients in sorting after removing an inactive leaf node.

    XMLWordPrintableJSON

Details

    • Resource Mgmt: RI17 Sp 52
    • 3

    Description

      The sorter assumes inactive leaf nodes are placed in the tail in the children list of a node.
      However, when collapsing a parent node with a single "." virtual child node, its position may fail to be updated due to a bug in `Sorter::remove()`:

      CHECK(child->isLeaf());
      ....
      current->kind = child->kind;
      ...
      if (current->kind == Node::INTERNAL) {
      }
      

      This bug would manifest, if
      (1) we have a/b and a/.
      (2) deactivate(a), i.e. a/. becomes inactive_leaf
      (3) remove(a/b)
      When these happens, a/. will collapse to `a` as an inactive_leaf, due to the bug above, however, it will not be placed at the end, resulting in all the clients after `a` not included in the sort().

      Luckily, this should never happen in practice, because only frameworks will get deactivated, and frameworks don’t have sub clients.

      Attachments

        Activity

          People

            mzhu Meng Zhu
            mzhu Meng Zhu
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: