You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Benjamin Mahler (JIRA)" <ji...@apache.org> on 2014/12/08 23:13:13 UTC

[jira] [Commented] (MESOS-2176) Hierarchical allocator inconsistently accounts for reserved resources.

    [ https://issues.apache.org/jira/browse/MESOS-2176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14238558#comment-14238558 ] 

Benjamin Mahler commented on MESOS-2176:
----------------------------------------

Made the allocator unit-testable and moved over many of the integration tests along the way.
There still needs to be smaller unit tests and more of them (much is still untested), but this is a step in the right direction:

https://reviews.apache.org/r/28812/
https://reviews.apache.org/r/28813/
https://reviews.apache.org/r/28814/
https://reviews.apache.org/r/28815/
https://reviews.apache.org/r/28816/
https://reviews.apache.org/r/28817/
https://reviews.apache.org/r/28818/
https://reviews.apache.org/r/28819/
https://reviews.apache.org/r/28820/
https://reviews.apache.org/r/28821/
https://reviews.apache.org/r/28824/

> Hierarchical allocator inconsistently accounts for reserved resources. 
> -----------------------------------------------------------------------
>
>                 Key: MESOS-2176
>                 URL: https://issues.apache.org/jira/browse/MESOS-2176
>             Project: Mesos
>          Issue Type: Bug
>          Components: allocation
>            Reporter: Benjamin Mahler
>            Assignee: Benjamin Mahler
>
> Looking through the allocator code for MESOS-2099, I see an issue with respect to accounting reserved resources in the sorters:
> Within {{HierarchicalAllocatorProcess::allocate}}, only unreserved resources are accounted for in the sorters, whereas everywhere else (add/remove framework, add/remove slave) we account for both reserved and unreserved.
> From git blame, it looks like this issue was introduced over a long course of refactoring and fixes to the allocator. My guess is that this was never caught due to the lack of unit-testability of the allocator (unnecessarily requires a master PID to use an allocator).
> From my understanding, the two levels of the hierarchical sorter should have the following semantics:
> # Level 1 sorts across roles. Only unreserved resources are shared across roles, and therefore the "role sorter" for level 1 should only account for the unreserved resource pool.
> # Level 2 sorts across frameworks, within a role. Both unreserved and reserved resources are shared across frameworks within a role, and therefore the "framework sorters" for level 2 should each account for the reserved resource pool for the role, as well as the unreserved resources _allocated_ inside the role.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)