Meng Zhu created MESOS-9930:
-------------------------------

             Summary: DRF sorter may omit clients in sorting after removing an 
inactive leaf node.
                 Key: MESOS-9930
                 URL: https://issues.apache.org/jira/browse/MESOS-9930
             Project: Mesos
          Issue Type: Bug
          Components: allocation
            Reporter: Meng Zhu
            Assignee: Meng Zhu


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()`:

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

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.




--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to