[ 
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)

Reply via email to