> On Aug. 30, 2015, 5:10 p.m., Robert Lacroix wrote: > > src/master/allocator/mesos/hierarchical.hpp, line 909 > > <https://reviews.apache.org/r/37873/diff/3/?file=1059860#file1059860line909> > > > > We need to store the information that a framework is quiescing offers > > in a more memory efficient way. This doesn't work for clusters with a lot > > of frameworks and a lot of slaves. > > > > Can't we just use a boolean to indicate the framework has quiesced? > > Guangya Liu wrote: > The reason that I did not use a boolean value is because here > quiesceOffers is a complement to the current reviveOffers, and reviveOffers > can just clear the filters to enable the framework can get resource again, so > here I was setting filters to this framework to disable it getting offers. > For performance issue, the current settting are all memory operations and > only for framework, I think that the Mesos cluster may not have thousands of > frameworks. Comments? Thanks. > > Robert Lacroix wrote: > reviveOffers could just flip the boolean in addition to removing the > filters, so that shouldn't make the logic much more complicated. > > The number of filters is indeed a problem because they (and all of their > resources - which in case the ports are fragmented can be a lot) need to be > traversed on every allocation. > > Guangya Liu wrote: > Thanks Robert for the update. The design for quiesce offer also want a > timeout for quiesce, if the timeout reached, then the framework can get > resource offers automatically and no need for cluster admin to get involved > to revive offer. Do you have any comments for adding a filter to quiesce > offer? Is there are any other methods to add a filter which is more > efficient? Hope can get some comments from you.
You can add the quiesce timeout using the mechanism that refuse timeouts use. It might get a little more involved since if you receive a second quiesce, you would need to update the timeout. You can't implement quiesce using a filter because filters are not ordered. You have to be able to check whether a framework is quiesced without traversing the whole filter set. - James ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/37873/#review97031 ----------------------------------------------------------- On Aug. 31, 2015, 5:49 a.m., Guangya Liu wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/37873/ > ----------------------------------------------------------- > > (Updated Aug. 31, 2015, 5:49 a.m.) > > > Review request for mesos, Ben Mahler, Jie Yu, and Vinod Kone. > > > Bugs: MESOS-3037 > https://issues.apache.org/jira/browse/MESOS-3037 > > > Repository: mesos > > > Description > ------- > > Add quiesce logic in allocator > > > Diffs > ----- > > include/mesos/master/allocator.hpp 659f37b3f9d9fa02da9bdb6c85cd3c180a24b73a > src/master/allocator/mesos/allocator.hpp > aa55755a9c3250579e9366bdbc17a2449e95d659 > src/master/allocator/mesos/hierarchical.hpp > 38f8fd2c84314bb3731684d0e9795cb4f50a227e > src/master/master.cpp 95207d24db0aa052eb70c4cc7eb75d0611c365cf > src/tests/mesos.hpp b2160f50db3e0b0d04b0625e7589004016c0f746 > > Diff: https://reviews.apache.org/r/37873/diff/ > > > Testing > ------- > > > Thanks, > > Guangya Liu > >
