You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mesos.apache.org by Charles Reiss <wo...@gmail.com> on 2011/11/02 06:51:36 UTC

Review Request: Account for queued task resources when making post-registration executor resource adjustment

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2669/
-----------------------------------------------------------

Review request for mesos.


Summary
-------

This calls Executor::addTask to accumulate the usage of queued tasks before calling resourcesChanged() to ensure the executor has enough resources to run those queued tasks.


This addresses bug MESOS-56.
    https://issues.apache.org/jira/browse/MESOS-56


Diffs
-----

  src/slave/slave.cpp de5716c 
  src/tests/master_tests.cpp 2438114 
  src/tests/utils.hpp 02772f7 

Diff: https://reviews.apache.org/r/2669/diff


Testing
-------

Modification to MasterTest included.


Thanks,

Charles


Re: Review Request: Account for queued task resources when making post-registration executor resource adjustment

Posted by Charles Reiss <wo...@gmail.com>.

> On 2011-11-14 19:21:12, Benjamin Hindman wrote:
> > src/slave/slave.cpp, line 750
> > <https://reviews.apache.org/r/2669/diff/1/?file=55784#file55784line750>
> >
> >     s/start/start.

Done.


> On 2011-11-14 19:21:12, Benjamin Hindman wrote:
> > src/slave/slave.cpp, line 755
> > <https://reviews.apache.org/r/2669/diff/1/?file=55784#file55784line755>
> >
> >     Let's keep this down by the actual RunTaskMessage for consistency with the other RunTaskMessage usage.

Done.


> On 2011-11-14 19:21:12, Benjamin Hindman wrote:
> > src/slave/slave.cpp, lines 758-759
> > <https://reviews.apache.org/r/2669/diff/1/?file=55784#file55784line758>
> >
> >     This is great. But three things: (1) let's tweak this comment to include the fact that we are changing the resources _after_ we have accounted for the tasks; (2) possibly include a TODO or NOTE that says that given the asynchronous nature of the dispatch this still might not be sufficient for guaranteeing that the resource limits have been changed before the executor starts running the task; and (3) also change the other place in the code where we send a RunTaskMessage to a slave to dispatch to the isolation module before we send the message.

Done.


> On 2011-11-14 19:21:12, Benjamin Hindman wrote:
> > src/tests/master_tests.cpp, lines 137-138
> > <https://reviews.apache.org/r/2669/diff/1/?file=55785#file55785line137>
> >
> >     Unless I'm mistaken, because of the async nature of the isolation module there is no happens-before relationship in the code that guarantees that the isolation module will have gotten a "resourcesChanged" before the slave gets a status update from the executor that it sends back to the scheduler. I'd rather you add a TODO in the code to try and capture the fact that resources have been updated then doing it this way for now.

I agree. Changed the test to wait for an resourcesChanged() call, so we have a test that resourcesChanged() is eventually called with the correct value.

Added TODOs to both the dispatch(...resourcesChanged) in the slave. I'll also file a separate JIRA about this; it probably needs a IsolationModule API change.


- Charles


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2669/#review3209
-----------------------------------------------------------


On 2011-11-14 21:34:18, Charles Reiss wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/2669/
> -----------------------------------------------------------
> 
> (Updated 2011-11-14 21:34:18)
> 
> 
> Review request for mesos.
> 
> 
> Summary
> -------
> 
> This calls Executor::addTask to accumulate the usage of queued tasks before calling resourcesChanged() to ensure the executor has enough resources to run those queued tasks.
> 
> 
> This addresses bug MESOS-56.
>     https://issues.apache.org/jira/browse/MESOS-56
> 
> 
> Diffs
> -----
> 
>   src/slave/slave.cpp de5716c 
>   src/tests/master_tests.cpp 2438114 
>   src/tests/utils.hpp 02772f7 
> 
> Diff: https://reviews.apache.org/r/2669/diff
> 
> 
> Testing
> -------
> 
> Modification to MasterTest included.
> 
> 
> Thanks,
> 
> Charles
> 
>


Re: Review Request: Account for queued task resources when making post-registration executor resource adjustment

Posted by Benjamin Hindman <be...@berkeley.edu>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2669/#review3209
-----------------------------------------------------------



src/slave/slave.cpp
<https://reviews.apache.org/r/2669/#comment7128>

    s/start/start.



src/slave/slave.cpp
<https://reviews.apache.org/r/2669/#comment7126>

    Let's keep this down by the actual RunTaskMessage for consistency with the other RunTaskMessage usage.



src/slave/slave.cpp
<https://reviews.apache.org/r/2669/#comment7130>

    This is great. But three things: (1) let's tweak this comment to include the fact that we are changing the resources _after_ we have accounted for the tasks; (2) possibly include a TODO or NOTE that says that given the asynchronous nature of the dispatch this still might not be sufficient for guaranteeing that the resource limits have been changed before the executor starts running the task; and (3) also change the other place in the code where we send a RunTaskMessage to a slave to dispatch to the isolation module before we send the message.



src/tests/master_tests.cpp
<https://reviews.apache.org/r/2669/#comment7132>

    Unless I'm mistaken, because of the async nature of the isolation module there is no happens-before relationship in the code that guarantees that the isolation module will have gotten a "resourcesChanged" before the slave gets a status update from the executor that it sends back to the scheduler. I'd rather you add a TODO in the code to try and capture the fact that resources have been updated then doing it this way for now.


- Benjamin


On 2011-11-02 05:51:36, Charles Reiss wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/2669/
> -----------------------------------------------------------
> 
> (Updated 2011-11-02 05:51:36)
> 
> 
> Review request for mesos.
> 
> 
> Summary
> -------
> 
> This calls Executor::addTask to accumulate the usage of queued tasks before calling resourcesChanged() to ensure the executor has enough resources to run those queued tasks.
> 
> 
> This addresses bug MESOS-56.
>     https://issues.apache.org/jira/browse/MESOS-56
> 
> 
> Diffs
> -----
> 
>   src/slave/slave.cpp de5716c 
>   src/tests/master_tests.cpp 2438114 
>   src/tests/utils.hpp 02772f7 
> 
> Diff: https://reviews.apache.org/r/2669/diff
> 
> 
> Testing
> -------
> 
> Modification to MasterTest included.
> 
> 
> Thanks,
> 
> Charles
> 
>


Re: Review Request: Account for queued task resources when making post-registration executor resource adjustment

Posted by Charles Reiss <wo...@gmail.com>.

> On 2011-11-14 22:24:48, Benjamin Hindman wrote:
> > src/tests/utils.hpp, line 313
> > <https://reviews.apache.org/r/2669/diff/3/?file=58102#file58102line313>
> >
> >     Kill this now (unused code).

Done.


> On 2011-11-14 22:24:48, Benjamin Hindman wrote:
> > src/tests/utils.hpp, line 247
> > <https://reviews.apache.org/r/2669/diff/3/?file=58102#file58102line247>
> >
> >     Put '{' on newline and add a small comment explaining why we mock out 'resourcesChanged' (e.g., to be able to trigger for testing purposes).

Done. (Comment added next to MOCK_METHOD...().)


- Charles


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2669/#review3239
-----------------------------------------------------------


On 2011-11-21 03:23:26, Charles Reiss wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/2669/
> -----------------------------------------------------------
> 
> (Updated 2011-11-21 03:23:26)
> 
> 
> Review request for mesos.
> 
> 
> Summary
> -------
> 
> This calls Executor::addTask to accumulate the usage of queued tasks before calling resourcesChanged() to ensure the executor has enough resources to run those queued tasks.
> 
> 
> This addresses bug MESOS-56.
>     https://issues.apache.org/jira/browse/MESOS-56
> 
> 
> Diffs
> -----
> 
>   src/slave/slave.cpp de5716c 
>   src/tests/master_tests.cpp 2438114 
>   src/tests/utils.hpp 02772f7 
> 
> Diff: https://reviews.apache.org/r/2669/diff
> 
> 
> Testing
> -------
> 
> Modification to MasterTest included.
> 
> 
> Thanks,
> 
> Charles
> 
>


Re: Review Request: Account for queued task resources when making post-registration executor resource adjustment

Posted by Benjamin Hindman <be...@berkeley.edu>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2669/#review3239
-----------------------------------------------------------

Ship it!


Hotness, let's get this committed.


src/tests/utils.hpp
<https://reviews.apache.org/r/2669/#comment7229>

    Put '{' on newline and add a small comment explaining why we mock out 'resourcesChanged' (e.g., to be able to trigger for testing purposes).



src/tests/utils.hpp
<https://reviews.apache.org/r/2669/#comment7228>

    Kill this now (unused code).


- Benjamin


On 2011-11-14 21:39:43, Charles Reiss wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/2669/
> -----------------------------------------------------------
> 
> (Updated 2011-11-14 21:39:43)
> 
> 
> Review request for mesos.
> 
> 
> Summary
> -------
> 
> This calls Executor::addTask to accumulate the usage of queued tasks before calling resourcesChanged() to ensure the executor has enough resources to run those queued tasks.
> 
> 
> This addresses bug MESOS-56.
>     https://issues.apache.org/jira/browse/MESOS-56
> 
> 
> Diffs
> -----
> 
>   src/slave/slave.cpp de5716c 
>   src/tests/master_tests.cpp 2438114 
>   src/tests/utils.hpp 02772f7 
> 
> Diff: https://reviews.apache.org/r/2669/diff
> 
> 
> Testing
> -------
> 
> Modification to MasterTest included.
> 
> 
> Thanks,
> 
> Charles
> 
>


Re: Review Request: Account for queued task resources when making post-registration executor resource adjustment

Posted by Charles Reiss <wo...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2669/
-----------------------------------------------------------

(Updated 2011-11-23 07:02:41.806738)


Review request for mesos.


Summary
-------

This calls Executor::addTask to accumulate the usage of queued tasks before calling resourcesChanged() to ensure the executor has enough resources to run those queued tasks.


This addresses bug MESOS-56.
    https://issues.apache.org/jira/browse/MESOS-56


Diffs (updated)
-----

  src/slave/slave.cpp de5716c 
  src/tests/master_tests.cpp 2438114 
  src/tests/utils.hpp 89af7f3 

Diff: https://reviews.apache.org/r/2669/diff


Testing
-------

Modification to MasterTest included.


Thanks,

Charles


Re: Review Request: Account for queued task resources when making post-registration executor resource adjustment

Posted by Charles Reiss <wo...@gmail.com>.

> On 2011-11-23 06:49:29, Benjamin Hindman wrote:
> > src/tests/utils.hpp, line 269
> > <https://reviews.apache.org/r/2669/diff/4/?file=59546#file59546line269>
> >
> >     I think this is an orphaned line ...

Removed.


- Charles


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2669/#review3468
-----------------------------------------------------------


On 2011-11-23 07:02:41, Charles Reiss wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/2669/
> -----------------------------------------------------------
> 
> (Updated 2011-11-23 07:02:41)
> 
> 
> Review request for mesos.
> 
> 
> Summary
> -------
> 
> This calls Executor::addTask to accumulate the usage of queued tasks before calling resourcesChanged() to ensure the executor has enough resources to run those queued tasks.
> 
> 
> This addresses bug MESOS-56.
>     https://issues.apache.org/jira/browse/MESOS-56
> 
> 
> Diffs
> -----
> 
>   src/slave/slave.cpp de5716c 
>   src/tests/master_tests.cpp 2438114 
>   src/tests/utils.hpp 89af7f3 
> 
> Diff: https://reviews.apache.org/r/2669/diff
> 
> 
> Testing
> -------
> 
> Modification to MasterTest included.
> 
> 
> Thanks,
> 
> Charles
> 
>


Re: Review Request: Account for queued task resources when making post-registration executor resource adjustment

Posted by Benjamin Hindman <be...@berkeley.edu>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2669/#review3468
-----------------------------------------------------------

Ship it!


We're going to commit this but just kill the orphaned line.


src/tests/utils.hpp
<https://reviews.apache.org/r/2669/#comment7736>

    I think this is an orphaned line ...


- Benjamin


On 2011-11-21 03:23:26, Charles Reiss wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/2669/
> -----------------------------------------------------------
> 
> (Updated 2011-11-21 03:23:26)
> 
> 
> Review request for mesos.
> 
> 
> Summary
> -------
> 
> This calls Executor::addTask to accumulate the usage of queued tasks before calling resourcesChanged() to ensure the executor has enough resources to run those queued tasks.
> 
> 
> This addresses bug MESOS-56.
>     https://issues.apache.org/jira/browse/MESOS-56
> 
> 
> Diffs
> -----
> 
>   src/slave/slave.cpp de5716c 
>   src/tests/master_tests.cpp 2438114 
>   src/tests/utils.hpp 02772f7 
> 
> Diff: https://reviews.apache.org/r/2669/diff
> 
> 
> Testing
> -------
> 
> Modification to MasterTest included.
> 
> 
> Thanks,
> 
> Charles
> 
>


Re: Review Request: Account for queued task resources when making post-registration executor resource adjustment

Posted by Charles Reiss <wo...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2669/
-----------------------------------------------------------

(Updated 2011-11-21 03:23:26.723463)


Review request for mesos.


Summary
-------

This calls Executor::addTask to accumulate the usage of queued tasks before calling resourcesChanged() to ensure the executor has enough resources to run those queued tasks.


This addresses bug MESOS-56.
    https://issues.apache.org/jira/browse/MESOS-56


Diffs (updated)
-----

  src/slave/slave.cpp de5716c 
  src/tests/master_tests.cpp 2438114 
  src/tests/utils.hpp 02772f7 

Diff: https://reviews.apache.org/r/2669/diff


Testing
-------

Modification to MasterTest included.


Thanks,

Charles


Re: Review Request: Account for queued task resources when making post-registration executor resource adjustment

Posted by Charles Reiss <wo...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2669/
-----------------------------------------------------------

(Updated 2011-11-14 21:39:43.394595)


Review request for mesos.


Summary
-------

This calls Executor::addTask to accumulate the usage of queued tasks before calling resourcesChanged() to ensure the executor has enough resources to run those queued tasks.


This addresses bug MESOS-56.
    https://issues.apache.org/jira/browse/MESOS-56


Diffs (updated)
-----

  src/slave/slave.cpp de5716c 
  src/tests/master_tests.cpp 2438114 
  src/tests/utils.hpp 02772f7 

Diff: https://reviews.apache.org/r/2669/diff


Testing
-------

Modification to MasterTest included.


Thanks,

Charles


Re: Review Request: Account for queued task resources when making post-registration executor resource adjustment

Posted by Charles Reiss <wo...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2669/
-----------------------------------------------------------

(Updated 2011-11-14 21:34:18.836757)


Review request for mesos.


Summary
-------

This calls Executor::addTask to accumulate the usage of queued tasks before calling resourcesChanged() to ensure the executor has enough resources to run those queued tasks.


This addresses bug MESOS-56.
    https://issues.apache.org/jira/browse/MESOS-56


Diffs (updated)
-----

  src/slave/slave.cpp de5716c 
  src/tests/master_tests.cpp 2438114 
  src/tests/utils.hpp 02772f7 

Diff: https://reviews.apache.org/r/2669/diff


Testing
-------

Modification to MasterTest included.


Thanks,

Charles