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)