> 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
> 
>

Reply via email to