> On April 18, 2018, 11:31 p.m., Chun-Hung Hsiao wrote:
> > src/resource_provider/registrar.hpp
> > Line 69 (original), 71 (patched)
> > <https://reviews.apache.org/r/66309/diff/3/?file=1995440#file1995440line71>
> >
> >     Does it make sense to use `process::Owned<state::Storage>&& storage`?

I don't think so. Taking a value already implies that we take ownership of the 
passed `storage`, and to call this function any user would need to provide us 
with that exclusive ownership (e.g., by casting some local with `std::move`). 
All that restricting ourself to rvalues here would add is that it would enforce 
correct usage even for broken types which are only semantically non-copyable, 
but still define a copy constructor. Unfortunately `Owned` falls into that 
category (see MESOS-5122), but I prefer to explicitly move args when passing 
instead of polluting interfaces because of tech debt we will fix eventually.


> On April 18, 2018, 11:31 p.m., Chun-Hung Hsiao wrote:
> > src/resource_provider/registrar.hpp
> > Lines 71-73 (original), 73-75 (patched)
> > <https://reviews.apache.org/r/66309/diff/3/?file=1995440#file1995440line73>
> >
> >     I was wondering that, since we have a generic storage-backed registrar, 
> > could we also use this for the master's RP registrar and remove 
> > `MasterRegistrar`?

The master registrar is different in that it is already recovered and we need 
to use it differently when retrieving its recovered state via above interface, 
see https://reviews.apache.org/r/66311//


- Benjamin


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


On April 19, 2018, 11:19 a.m., Benjamin Bannier wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/66309/
> -----------------------------------------------------------
> 
> (Updated April 19, 2018, 11:19 a.m.)
> 
> 
> Review request for mesos, Jie Yu and Jan Schlicht.
> 
> 
> Bugs: MESOS-8735
>     https://issues.apache.org/jira/browse/MESOS-8735
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> This patch changes the way the storage backing an agent's resource
> provider registrar is created: while before we created it implicitly
> when constructing the registrar, we now consume storage passed on
> construction.
> 
> Being able to explicitly inject the used storage simplifies testing.
> 
> 
> Diffs
> -----
> 
>   src/resource_provider/registrar.hpp 
> 39f45b0a2a7c35bfe72a9305f5248409e4a3ef45 
>   src/resource_provider/registrar.cpp 
> 92ef9aecb1e93d10f46e53984391558f9901a60b 
>   src/tests/resource_provider_manager_tests.cpp 
> c52541bf130ccf4795b989b53331176a64a097ea 
> 
> 
> Diff: https://reviews.apache.org/r/66309/diff/4/
> 
> 
> Testing
> -------
> 
> `make check`
> 
> 
> Thanks,
> 
> Benjamin Bannier
> 
>

Reply via email to