> On May 23, 2017, 9:01 p.m., Vinod Kone wrote:
> > src/master/allocator/mesos/hierarchical.hpp
> > Line 309 (original), 309 (patched)
> > <https://reviews.apache.org/r/57817/diff/4-8/?file=1689440#file1689440line312>
> >
> >     I don't quite follow why you need to have this variable here? Looks 
> > like the sorter can be the source of truth of whether a role is activated 
> > or not?

`FrameworkInfo::roles` indicates all the roles the framework registers as, and 
`Call::Subscribe::suppressed_roles` is a subset of roles for which the master 
would not offer resources. The effective `suppressed_roles` can change (after 
the framework is (re)registered) with `SUPPRESS` and `REVIVE` calls, which 
means the roles for which offers are sent to frameworks can change based on 
roles contained in these messages.

Now, the existing `activateFramework()` (and `deactivateFramework()`) activates 
(and deactivates) all roles of the framework. I think that should not be the 
case any longer. We should activate (and deactivate) roles of the framework 
which are not contained in `suppressed_roles` at any given point of time. To 
achieve this, we keep track of 
`HierarchicalAllocatorProcess::Framework::Framework::suppressed_roles` to 
ensure we keep track of `suppressed_roles` based on `SUPPRESS` and `REVIVE` 
calls during the life cycle of the framework. This would help us determine if 
we activate (or deactivate) for a specific role based on whether the role is a 
`suppressed_roles`.


> On May 23, 2017, 9:01 p.m., Vinod Kone wrote:
> > src/master/allocator/mesos/hierarchical.cpp
> > Lines 348 (patched)
> > <https://reviews.apache.org/r/57817/diff/4-8/?file=1689441#file1689441line352>
> >
> >     why the if? is the `sorter::activate` not idempotent?

See response to the first comment.


> On May 23, 2017, 9:01 p.m., Vinod Kone wrote:
> > src/master/allocator/mesos/hierarchical.cpp
> > Lines 370 (patched)
> > <https://reviews.apache.org/r/57817/diff/4-8/?file=1689441#file1689441line374>
> >
> >     ditto.

Same as the response to the first comment.


> On May 23, 2017, 9:01 p.m., Vinod Kone wrote:
> > src/master/master.cpp
> > Lines 2804-2808 (patched)
> > <https://reviews.apache.org/r/57817/diff/4-8/?file=1689443#file1689443line2809>
> >
> >     why do you need this check? is the below one not sufficient?

Just an optimization to not loop through the roles in `suppressedRoles` incase 
the sizes of `frameworkRoles` and `suppressedRoles` differ. But I think it 
should be fine to loop through since we do not anticipate the number of roles 
to be too many.


- Anindya


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/57817/#review175846
-----------------------------------------------------------


On May 23, 2017, 10:19 p.m., Anindya Sinha wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/57817/
> -----------------------------------------------------------
> 
> (Updated May 23, 2017, 10:19 p.m.)
> 
> 
> Review request for mesos, James Peach, Vinod Kone, and Jiang Yan Xu.
> 
> 
> Bugs: MESOS-7015
>     https://issues.apache.org/jira/browse/MESOS-7015
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> If the `SUBSCRIBE` indicates a subset of roles to be suppressed during
> framework (re)registration, the allocator does not offer resources for
> those roles to such frameworks. Note that this functionality is added
> for `v1::SUBSCRIBE` only (and not for scheduler driver API).
> 
> In addition, the master validates the suppressed roles to be a subset
> of all the roles being (re)registered by the framework.
> 
> 
> Diffs
> -----
> 
>   include/mesos/allocator/allocator.hpp 
> dc34a1b6f0c2bdf0d653bd53394364cfa9873ca7 
>   src/common/protobuf_utils.hpp be2325f05b81b847fa592eff65175cbc99764fd6 
>   src/common/protobuf_utils.cpp 3fcaf786b29a00f003c10b0f1614a2c7eddc725d 
>   src/master/allocator/mesos/allocator.hpp 
> 119b461136123229f85ed3c3cfd41137974a6b9b 
>   src/master/allocator/mesos/hierarchical.hpp 
> 123f97cf495bff0f822838e09df0d88818f04da6 
>   src/master/allocator/mesos/hierarchical.cpp 
> b75ed9a20a9a42f958cebbacd91e5e15b0d21394 
>   src/master/master.hpp 89d0790fd5fea59e74276f462581fe0073594732 
>   src/master/master.cpp 1c89a1159d8ac01a40f567beb14ed424ac613912 
>   src/tests/allocator.hpp 4ea722491f63f5ceda5a47228aafddc020f643b0 
>   src/tests/hierarchical_allocator_tests.cpp 
> 6dee2296d5a14185dbf7eee17968b20148839bfd 
>   src/tests/master_allocator_tests.cpp 
> d05ee441a5120144aff42d78c095e1ce5051a6ac 
>   src/tests/persistent_volume_endpoints_tests.cpp 
> 8c54372b7f6d94f0335561086f2a8cb90373e285 
>   src/tests/reservation_tests.cpp 4504831d77c1bfcf5f2ddf6d28cd45dea2c421ad 
>   src/tests/resource_offers_tests.cpp 
> f0bca1d9e03013ce35215b0ffa6b50b38972dc0c 
>   src/tests/slave_recovery_tests.cpp 52e78b6b6280a159233b402ce2849448204d4f11 
> 
> 
> Diff: https://reviews.apache.org/r/57817/diff/9/
> 
> 
> Testing
> -------
> 
> All tests passed.
> 
> 
> Thanks,
> 
> Anindya Sinha
> 
>

Reply via email to