> On April 12, 2016, 3:46 p.m., Vinod Kone wrote: > > src/examples/balloon_executor.cpp, lines 143-153 > > <https://reviews.apache.org/r/45604/diff/2/?file=1337947#file1337947line143> > > > > Why the change here?
I couple reasons: * I needed to put the "ballooning" logic into a separate thread, so that it doesn't block the scheduler driver. If the scheduler driver is blocked, then we have no way of sending a `TASK_FINISHED` status update before `driver->stop()`. * Seemed reasonable to move all the task logic into the task thread, after the above change. * The comment was then encompassed by the task thread's comment. > On April 12, 2016, 3:46 p.m., Vinod Kone wrote: > > src/examples/balloon_framework.cpp, lines 69-90 > > <https://reviews.apache.org/r/45604/diff/2/?file=1337948#file1337948line69> > > > > The interaction between these flags is a bit unclear. > > > > If some doesn't set `task_memory` but sets `balloon_limit`, the > > container might or might not OOM. It depends on how much is offerred to the > > scheduler. I would rather make this a required field. Infact, I would also > > add a required flag for executor memory (--executor_memory). > > > > Also s/balloon_limit/executor_memory_usage/ for clarity. I did it this way to maintain the existing behavior (which I agree doesn't make very much sense). > On April 12, 2016, 3:46 p.m., Vinod Kone wrote: > > src/examples/balloon_framework.cpp, lines 250-271 > > <https://reviews.apache.org/r/45604/diff/2/?file=1337948#file1337948line250> > > > > why the explicit listing of terminal states rather than what we had > > before? that is future proof if we add new terminal states. The `protobuf::isTerminalState` helper is held in an internal header, so it doesn't exactly belong in example code (which, I believe, should be compilable outside of the mesos build chain.) Do you think we should move that helper (and possibly others) into public headers? - Joseph ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/45604/#review128539 ----------------------------------------------------------- On April 11, 2016, 11:24 a.m., Joseph Wu wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/45604/ > ----------------------------------------------------------- > > (Updated April 11, 2016, 11:24 a.m.) > > > Review request for mesos, Greg Mann, Artem Harutyunyan, Kevin Klues, and > Vinod Kone. > > > Bugs: MESOS-5174 > https://issues.apache.org/jira/browse/MESOS-5174 > > > Repository: mesos > > > Description > ------- > > This gives the example `balloon-framework` enough options to run > outside of the build environment. > > This also updates: > > * The style of the framework code. > * Adds an option for restricting the number of resources per task > (otherwise, it will eat up an entire node). > * Adds an option for persisting the framework and launching one task > after another. > * Adds filters for declined offers. > * Refines the shutdown logic for the executor. In particular, ironed > out bugs when the balloon executor does not exceed the memory limit. > > > Diffs > ----- > > src/examples/balloon_executor.cpp 399218478a596387814d123290eeeb33102fad7a > src/examples/balloon_framework.cpp 15c45612b777edaf97aea9b953439d4ad56920f3 > src/tests/balloon_framework_test.sh > ae32753e8942f77f94752543c384d218d6e4d48d > > Diff: https://reviews.apache.org/r/45604/diff/ > > > Testing > ------- > > ``` > make check > > sudo bin/mesos-tests.sh --gtest_filter="*ROOT_CGROUPS_BalloonFramework" > ``` > > > Thanks, > > Joseph Wu > >
