> On Feb. 23, 2015, 7:36 p.m., Alexander Rukletsov wrote:
> > src/master/allocator/sorter/sorter.hpp, lines 64-66
> > <https://reviews.apache.org/r/31183/diff/2/?file=869986#file869986line64>
> >
> >     Maybe we can provide overrides here to avoid duplicating `foreach`s in 
> > the client code in `HierarchicalAllocator`?

I had considered this and pulled back on it because the call-sites currently 
look like:

```cpp
foreachpair (const SlaveID& slaveId, const Resources& allocated, used) {
  roleSorter->allocated(role, slaveId, allocated.unreserved());
  frameworkSorters[role]->add(slaveId, allocated);
  frameworkSorters[role]->allocated(frameworkId.value(), slaveId, allocated);
}
```

With the overload, it doesn't get all that much better because of the 
`allocated.unreserved()` call.

```cpp
foreachpair (const SlaveID& slaveId, const Resources& allocated, used) {
  roleSorter->allocated(role, slaveId, allocated.unreserved());
}
frameworkSorters[role]->add(used);
frameworkSorters[role]->allocated(frameworkId.value(), used);
```

I think with 2 such loops we can punt on it for now?


> On Feb. 23, 2015, 7:36 p.m., Alexander Rukletsov wrote:
> > src/master/master.hpp, lines 1194-1205
> > <https://reviews.apache.org/r/31183/diff/2/?file=869988#file869988line1194>
> >
> >     Looks like this code does the same as one in `master/http.cpp`. Doesn't 
> > it make sense to introduce a resource union method? Something like:
> >     ```
> >     hashmap<SlaveID, Resources> union(
> >         hashmap<SlaveID, Resources> arg1,
> >         const hashmap<SlaveID, Resources>& arg2)
> >     { ...
> >       return arg1;
> >     }
> >     ```

Introduced `operator+=` and `operator+` for `hashmap<SlaveID, Resources>`.


> On Feb. 23, 2015, 7:36 p.m., Alexander Rukletsov wrote:
> > src/master/allocator/sorter/sorter.hpp, lines 72-75
> > <https://reviews.apache.org/r/31183/diff/2/?file=869986#file869986line72>
> >
> >     Ditto here and below for `add()` and `remove()`.

See my comment above for `add` and `remove`. For `update`, I think we actually 
want to take (`slaveId`, `oldAllocation`, `newAllocation`), rather than 
(`oldSlaveId`, `oldAllocation`, `newSlaveId`, `newAllocation`).


> On Feb. 23, 2015, 7:36 p.m., Alexander Rukletsov wrote:
> > src/master/http.cpp, lines 90-94
> > <https://reviews.apache.org/r/31183/diff/2/?file=869987#file869987line90>
> >
> >     Shouldn't it go before Ben Mahler's comment?

Fixed.


- Michael


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


On Feb. 24, 2015, 11:27 a.m., Michael Park wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/31183/
> -----------------------------------------------------------
> 
> (Updated Feb. 24, 2015, 11:27 a.m.)
> 
> 
> Review request for mesos, Alexander Rukletsov, Benjamin Hindman, Ben Mahler, 
> and Jie Yu.
> 
> 
> Bugs: MESOS-2373
>     https://issues.apache.org/jira/browse/MESOS-2373
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> See summary.
> 
> 
> Diffs
> -----
> 
>   3rdparty/libprocess/3rdparty/stout/include/Makefile.am 
> ac2bbed6fe86623fb51cac3613d79d7b1372df9d 
>   3rdparty/libprocess/3rdparty/stout/include/stout/ip.hpp 
> 3293086a009a8f7cf7bd343eb7d3e85623636550 
>   3rdparty/libprocess/3rdparty/stout/tests/ip_tests.cpp 
> fb98317a68986cb1228c584a8cd83b07737895a8 
>   configure.ac 9b2d7f15f535aaaf85faf9b4f7af750f1dbdf472 
>   docs/modules.md a8b471541cdfa584eeb89fbe96643f93c712cfd4 
>   docs/slave-recovery.md 57eb786f94b2b1dee7bb35017618af90b4dc4a31 
>   include/mesos/resources.hpp c242bcc29c490841354d6fdc8d0de16eeea602ed 
>   src/common/resources.cpp a45bbaf696a6cc61a06daaa52a84f0014e7fe8cb 
>   src/master/allocator/allocator.hpp b67b8fddbd7a3fffc6fe24d5e77cd1db8cb6f69b 
>   src/master/allocator/mesos/allocator.hpp 
> fb898f1175b61b442204e6e38c69ccc2838a646f 
>   src/master/allocator/mesos/hierarchical.hpp 
> 9b7ded34ad7546f36dd41f64fe2e3cf41c1cf702 
>   src/master/allocator/sorter/drf/sorter.hpp 
> 4366710d6530b784aa5094813328d0e338239ba0 
>   src/master/allocator/sorter/drf/sorter.cpp 
> 2f69f384b95ff20d3ee429a4570a8cffa74d8e8b 
>   src/master/allocator/sorter/sorter.hpp 
> e2efb27b11dbea42dd73f81e5db0d6d2b0a6034b 
>   src/master/http.cpp 117c0ee720a60a1d8a25359028bad803f1fc2b07 
>   src/master/master.hpp 8c44d6ed57ad1b94a17bef8142a5e6a15889a810 
>   src/master/master.cpp 713307e1be596651283cc2cc95f114c42ad34a5e 
>   src/slave/containerizer/isolators/network/port_mapping.cpp 
> 5227987cdb7b904c2f4bb2bdf5c5d705a435010d 
>   src/tests/hierarchical_allocator_tests.cpp 
> 93753d1c04159a04a733927a487eb69505438e32 
>   src/tests/master_slave_reconciliation_tests.cpp 
> 54cae62fda6be56ce438371c0e37bdf8cc8ace15 
>   src/tests/mesos.hpp e17afe74796ffe148274e278b5fa574e5c1bd34c 
>   src/tests/port_mapping_tests.cpp e2c8ba12b5574b06a6ba60c3c3a30b63cea1d23c 
>   src/tests/slave_tests.cpp 7ea012ab0883cc030b3e62f59879613866dab0fa 
>   src/tests/sorter_tests.cpp 42442353afe7bd3d1a5b43992f8ae191ac19bdcd 
> 
> Diff: https://reviews.apache.org/r/31183/diff/
> 
> 
> Testing
> -------
> 
> make check
> 
> 
> Thanks,
> 
> Michael Park
> 
>

Reply via email to