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

    • Sprint:
      Resource Mgmt: RI17 Sp 52
    • Story Points:
      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

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

              Dates

              • Created:
                Updated:
                Resolved: