> On Feb. 13, 2015, 2:27 p.m., Alexander Rukletsov wrote: > > Let's create a special test case for filters. It looks like following test > > cases are uncovered (or I haven't noticed them in the code): > > 1. `Resources::Filter::unreserved()` and `Resources::Filter::reserved("*")` > > are essentially the same. > > 2. `Resources::Filter::any()` does what it should. > > 3. `Resources::Filter(predicate)` filters resources according to the given > > predicate.
These tests currently exist in `ResourcesTest.Reservations` although they're not exactly filter-specific. Regarding the cases: 1. It does test the difference between `unreserved` and `reserved("*")`. These are different because they actually don't convey the same meaning. Resources are not reserved for "*", but rather are unreserved. The distinction here is that **unreserved** resources can be offered to any framework whereas resources that are **reserved for "*"** (if this was actually a thing) could only be offered to frameworks with role="*". The same way resources reserved for R can only be offered to frameworks with role=R. Since "*" is not simply a role name, but actually convey different meaning, we've distinguished the different meaning into these functions. 2. I've removed the predefined `any` filter, since it's only used in one place and is largely useless in every other situation. This is exactly when we want a inline filter definition :) 3. There are test cases that test these as well, but I should probably add more. > On Feb. 13, 2015, 2:27 p.m., Alexander Rukletsov wrote: > > src/common/resources.cpp, line 559 > > <https://reviews.apache.org/r/30911/diff/1/?file=861441#file861441line559> > > > > I'm not sure we can use `initializer_list`. Have we dropped the support > > for archaic gcc already? `initializer_list` is available in GCC-4.4: https://gcc.gnu.org/gcc-4.4/cxx0x_status.html Although I do need to wait for https://reviews.apache.org/r/29497/ to get committed technically. > On Feb. 13, 2015, 2:27 p.m., Alexander Rukletsov wrote: > > include/mesos/resources.hpp, line 281 > > <https://reviews.apache.org/r/30911/diff/1/?file=861440#file861440line281> > > > > Does it make sense to provide `static Filter predicate(const Predicate& > > p)` for consistency and make this c-tor private? The API of the `filter` has changed slightly. I spoke with Jie yesterday on the interface and he mentioned that the callsites are ugly to parse with the parens (they were static functions that returned `Filter` objects before). So `filter` is now a non-member function, and rather than composing filters themselves we'll compose the predicates and call `filter` with it instead. Please take a look how it looks now and provide your feedback! Thanks Alex! - Michael ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30911/#review72362 ----------------------------------------------------------- On Feb. 14, 2015, 12:11 a.m., Michael Park wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/30911/ > ----------------------------------------------------------- > > (Updated Feb. 14, 2015, 12:11 a.m.) > > > Review request for mesos, Adam B, Benjamin Hindman, Ben Mahler, Jie Yu, and > Vinod Kone. > > > Bugs: MESOS-2348 > https://issues.apache.org/jira/browse/MESOS-2348 > > > Repository: mesos > > > Description > ------- > > See [JIRA Ticket](https://issues.apache.org/jira/browse/MESOS-2348). > > > Diffs > ----- > > include/mesos/resources.hpp c7cc46e0183ea97013dd088a717da6c0e6ed5cf0 > src/common/resources.cpp 98371f6873482d0cdbefeb279b58ae6cc680a88f > src/master/allocator/mesos/hierarchical.hpp > 2680d6231927867d5a8d75cbc42b81d6c75fc7f2 > src/master/master.hpp 6a39df04514c756415354fae66c5835ada191c52 > src/master/validation.cpp acc35b25c93f2d3900d79c3070b1d681416ed66b > src/slave/slave.cpp ec7ec1356e745bb07484ae1755c9183b038043b3 > src/tests/hierarchical_allocator_tests.cpp > eeecfb64540b16666915074aaffaa5d506b203bc > src/tests/resources_tests.cpp 3f98782fd437dba808d720bf8e9b94b8fa7e0feb > > Diff: https://reviews.apache.org/r/30911/diff/ > > > Testing > ------- > > make check > > > Thanks, > > Michael Park > >