> On April 15, 2015, 5:36 p.m., Alexander Rukletsov wrote: > > src/common/resources.cpp, lines 93-105 > > <https://reviews.apache.org/r/32140/diff/5/?file=920081#file920081line93> > > > > Can we replace it by > > ``` > > if !addable(left, right) { > > return false; > > } > > ``` > > ? Or even add `addable()` check to the chain of checks below?
Each of `operator==`, `addable` and `subtractable` has subtle differences. `operator==` and `addable` in specific are different in that equal persistent volumes (same persistence ID) are not addable. Here's Jie's comment: ``` // TODO(jieyu): Even if two Resource objects with DiskInfo have the // same persistence ID, they cannot be added together. In fact, this // shouldn't happen if we do not add resources from different // namespaces (e.g., across slave). Consider adding a warning. ``` - Michael ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/32140/#review80201 ----------------------------------------------------------- On April 22, 2015, 8:36 p.m., Michael Park wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/32140/ > ----------------------------------------------------------- > > (Updated April 22, 2015, 8:36 p.m.) > > > Review request for mesos, Alexander Rukletsov, Ben Mahler, and Jie Yu. > > > Bugs: MESOS-2476 > https://issues.apache.org/jira/browse/MESOS-2476 > > > Repository: mesos > > > Description > ------- > > `Resource::ReservationInfo` was introduced in > [r32139](https://reviews.apache.org/r/32139). We need to consider it in our > `Resources` class implementation. > > ### `Resources::flatten` > > `flatten` is used as the utility function to cross reservation boundaries > without affecting the given resources. Since the reservation is now specified > by the (`role`, `reservation`) pair, `flatten` needs to consider > `ReservationInfo` as well. > > ### `Resources::validate` > > If `role == "*"`, then `reservation` field must not be set. > > ### `Resources` comparators > > `operator==`, `addable` and `substractable` need to test for > `ReservationInfo` as well. > > > Diffs > ----- > > include/mesos/resources.hpp 56affd45e1e71e96ff5778b43271f81b9b9a9e4d > src/common/resources.cpp 2c99b6884d7296099e19e2e3182cbe11b5e1e059 > src/tests/mesos.hpp 4294e28f904161b473c0cfa7feea4eaa4e7c97e3 > src/tests/resources_tests.cpp 7e0ad98c3366f647f190363a0e6b576dbfc7d415 > > Diff: https://reviews.apache.org/r/32140/diff/ > > > Testing > ------- > > make check > > > Thanks, > > Michael Park > >