----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/35947/#review90839 -----------------------------------------------------------
Ship it! src/master/allocator/mesos/hierarchical.hpp (lines 734 - 737) <https://reviews.apache.org/r/35947/#comment144004> Could you please add a NOTE here explaining why this is possible? (e.g., it's possible because an allocation can happen after updateAvailable is enqueued but before it's actually being processed). - Jie Yu On June 26, 2015, 10:55 p.m., Michael Park wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/35947/ > ----------------------------------------------------------- > > (Updated June 26, 2015, 10:55 p.m.) > > > Review request for mesos, Alexander Rukletsov, Benjamin Hindman, Ben Mahler, > and Jie Yu. > > > Repository: mesos > > > Description > ------- > > Needed to implement the master HTTP endpoints: `/reserve`, `/unreserve`, > `/create` and `/destroy`. > > This API is similar to `updateSlave` which is currently very specific to > oversubscription. > I considered consolidating `updateAvailable` and `updateSlave` but it will > require making offers be generated within the allocator to enable this. > > In specific, `updateAvailable` could fail if there aren't sufficient > available resources to update, whereas `updateSlave` avoids failing by > keeping the allocator in an over-allocated state. For `updateSlave`, leaving > the allocator in an over-allocated state is ok. This is because it does not > modify resources therefore `total - allocated` will work out to __empty__. > `updateAvailable` cannot leave the allocator in an over-allocated state, > because it modifies resources, and therefore `total - allocated` is not > guaranteed to yield __empty__. > > > Diffs > ----- > > include/mesos/master/allocator.hpp 22992c0c77058af4fcd28aa8e4a1191693a16f44 > src/master/allocator/mesos/allocator.hpp > 72470ec7f56f84a9a9815c09adb88def90ef672f > src/master/allocator/mesos/hierarchical.hpp > 3264d145d52b48852878abf7ab9be29ab98208cc > src/tests/hierarchical_allocator_tests.cpp > 3258840135290cd008ca09235d18b7f093dafd2e > src/tests/mesos.hpp 9157ac079808d2686592e54ea26a26e6a0825ed3 > > Diff: https://reviews.apache.org/r/35947/diff/ > > > Testing > ------- > > (1) Added `HierarchicalAllocatorTest.updateAvailableSuccess` and > `HierarchicalAllocatorTest.updateAvailableFail` > (2) `make check` > > > Thanks, > > Michael Park > >