> On July 24, 2014, 6:23 p.m., Ben Mahler wrote: > > src/master/master.cpp, lines 4293-4296 > > <https://reviews.apache.org/r/22796/diff/7/?file=634636#file634636line4293> > > > > It looks like this NULL case is only possible for the rescind timeout, > > since all synchronous calls to removeOffers previously could not hit this > > condition. > > > > What about instead adding a small method for the delay() to invoke: > > > > void Master::offerTimeout(const OfferID&) > > { > > Offer* offer = getOffer(offerId); > > if (offer != NULL) { > > removeOffer(offer, true); > > } > > } > > > > This way, we only introduce the NULL case where it's expected and > > harmless. It makes it even less critical to remove the timers correctly > > since it wouldn't have an impact on the logging. > > > > The other reason I would suggest this approach is that the contents of > > offerTimeout would be a possible candidate for being moved to a C++11 > > lambda function instead of making a member method.
I added a offerTimeout method, but since the offer object can be deleted I'm passing OfferID as value. - Timothy ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/22796/#review48665 ----------------------------------------------------------- On July 24, 2014, 3 a.m., Timothy Chen wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/22796/ > ----------------------------------------------------------- > > (Updated July 24, 2014, 3 a.m.) > > > Review request for mesos, Adam B, Ben Mahler, and Niklas Nielsen. > > > Bugs: MESOS-186 > https://issues.apache.org/jira/browse/MESOS-186 > > > Repository: mesos-git > > > Description > ------- > > Based on Kapil's patch (https://reviews.apache.org/r/22066/), adding timeout > for each offer from master to remove the offer when it's no longer used. > > > Diffs > ----- > > src/master/flags.hpp 32704ce > src/master/master.hpp fa46a67 > src/master/master.cpp fb2fd5a > src/tests/master_tests.cpp 5a1cf7f > > Diff: https://reviews.apache.org/r/22796/diff/ > > > Testing > ------- > > Added three more unit tests from Kapil's patch: Testing offer not rescinded > after task launched, offer not rescinded when framework/slave unregistered. > The test exposed a race condition that can lead to a segfault if two remove > offers are called on the same offer. > > make check. > > > Thanks, > > Timothy Chen > >
