You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@mesos.apache.org by Alexander Rojas <al...@mesosphere.io> on 2017/02/27 14:35:45 UTC

Re: Review Request 55576: Speeds up FutureTest.After3 using clock manipulation utilities.

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

(Updated Feb. 27, 2017, 3:35 p.m.)


Review request for mesos, Benjamin Bannier, Benjamin Hindman, Benjamin Mahler, and Joris Van Remoortere.


Summary (updated)
-----------------

Speeds up FutureTest.After3 using clock manipulation utilities.


Bugs: MESOS-6907
    https://issues.apache.org/jira/browse/MESOS-6907


Repository: mesos


Description (updated)
-------

Adds calls to `Clock::pause()`, `Clock::advance()` and
`Clock::settle()` to `FutureTest.After3` so that the test
doesn't actively waits for the timers to timeout.

This is possible since a bug that caused timers callbacks
to not always be deleted before `Clock::settle()` returned
was fixed.


Diffs (updated)
-----

  3rdparty/libprocess/src/tests/future_tests.cpp 380755f9a2329d548969cfb2332c79aacbf7fff2 

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


Testing
-------

```sh
# Put the machine under stress.
$ stress -c 4 -t 2600 -d 2 -i 2 &
$ ./${MESOS_SRC_ROOT}/build/3rdparty/libprocess/libprocess-tests \
      --gtest_filter="FutureTest.After3" --gtest_repeat=1000000 --gtest_break_on_failure
$ ./${MESOS_SRC_ROOT}/build/build/src/mesos-tests
```


Thanks,

Alexander Rojas


Re: Review Request 55576: Fixes `FutureTest.After3` flakiness.

Posted by Alexander Rojas <al...@mesosphere.io>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/55576/
-----------------------------------------------------------

(Updated Feb. 28, 2017, 11:09 a.m.)


Review request for mesos, Benjamin Bannier, Benjamin Hindman, Benjamin Mahler, and Joris Van Remoortere.


Summary (updated)
-----------------

Fixes `FutureTest.After3` flakiness.


Bugs: MESOS-6907
    https://issues.apache.org/jira/browse/MESOS-6907


Repository: mesos


Description (updated)
-------

Adds calls to `Clock::pause()`, `Clock::advance()` and
`Clock::settle()` to `FutureTest.After3` therefore ensuring
that data stored in timer's callbacks is destroyed by the
time `Clock::settle()` returns.

This is possible after a bug fix which caused timer's 
callbacks to not always be deleted before `Clock::settle()`
returned.


Diffs
-----

  3rdparty/libprocess/src/tests/future_tests.cpp 380755f9a2329d548969cfb2332c79aacbf7fff2 

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


Testing
-------

```sh
# Put the machine under stress.
$ stress -c 4 -t 2600 -d 2 -i 2 &
$ ./${MESOS_SRC_ROOT}/build/3rdparty/libprocess/libprocess-tests \
      --gtest_filter="FutureTest.After3" --gtest_repeat=1000000 --gtest_break_on_failure
$ ./${MESOS_SRC_ROOT}/build/build/src/mesos-tests
```


Thanks,

Alexander Rojas


Re: Review Request 55576: Speeds up FutureTest.After3 using clock manipulation utilities.

Posted by Benjamin Mahler <bm...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/55576/#review166997
-----------------------------------------------------------


Ship it!




Patch looks good, but this says "speeds up" but isn't this primarily fixing the flakiness?

It seems to me we need a settle to ensure the timers are cleared, otherwise the future can become ready without the timers having been cleared yet. Should the summary be updated accordingly?

- Benjamin Mahler


On Feb. 27, 2017, 2:35 p.m., Alexander Rojas wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/55576/
> -----------------------------------------------------------
> 
> (Updated Feb. 27, 2017, 2:35 p.m.)
> 
> 
> Review request for mesos, Benjamin Bannier, Benjamin Hindman, Benjamin Mahler, and Joris Van Remoortere.
> 
> 
> Bugs: MESOS-6907
>     https://issues.apache.org/jira/browse/MESOS-6907
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Adds calls to `Clock::pause()`, `Clock::advance()` and
> `Clock::settle()` to `FutureTest.After3` so that the test
> doesn't actively waits for the timers to timeout.
> 
> This is possible since a bug that caused timers callbacks
> to not always be deleted before `Clock::settle()` returned
> was fixed.
> 
> 
> Diffs
> -----
> 
>   3rdparty/libprocess/src/tests/future_tests.cpp 380755f9a2329d548969cfb2332c79aacbf7fff2 
> 
> Diff: https://reviews.apache.org/r/55576/diff/
> 
> 
> Testing
> -------
> 
> ```sh
> # Put the machine under stress.
> $ stress -c 4 -t 2600 -d 2 -i 2 &
> $ ./${MESOS_SRC_ROOT}/build/3rdparty/libprocess/libprocess-tests \
>       --gtest_filter="FutureTest.After3" --gtest_repeat=1000000 --gtest_break_on_failure
> $ ./${MESOS_SRC_ROOT}/build/build/src/mesos-tests
> ```
> 
> 
> Thanks,
> 
> Alexander Rojas
> 
>


Re: Review Request 55576: Speeds up FutureTest.After3 using clock manipulation utilities.

Posted by Mesos Reviewbot <re...@mesos.apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/55576/#review166881
-----------------------------------------------------------



Patch looks great!

Reviews applied: [57093, 55576]

Passed command: export OS='ubuntu:14.04' BUILDTOOL='autotools' COMPILER='gcc' CONFIGURATION='--verbose' ENVIRONMENT='GLOG_v=1 MESOS_VERBOSE=1'; ./support/docker-build.sh

- Mesos Reviewbot


On Feb. 27, 2017, 2:35 p.m., Alexander Rojas wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/55576/
> -----------------------------------------------------------
> 
> (Updated Feb. 27, 2017, 2:35 p.m.)
> 
> 
> Review request for mesos, Benjamin Bannier, Benjamin Hindman, Benjamin Mahler, and Joris Van Remoortere.
> 
> 
> Bugs: MESOS-6907
>     https://issues.apache.org/jira/browse/MESOS-6907
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Adds calls to `Clock::pause()`, `Clock::advance()` and
> `Clock::settle()` to `FutureTest.After3` so that the test
> doesn't actively waits for the timers to timeout.
> 
> This is possible since a bug that caused timers callbacks
> to not always be deleted before `Clock::settle()` returned
> was fixed.
> 
> 
> Diffs
> -----
> 
>   3rdparty/libprocess/src/tests/future_tests.cpp 380755f9a2329d548969cfb2332c79aacbf7fff2 
> 
> Diff: https://reviews.apache.org/r/55576/diff/
> 
> 
> Testing
> -------
> 
> ```sh
> # Put the machine under stress.
> $ stress -c 4 -t 2600 -d 2 -i 2 &
> $ ./${MESOS_SRC_ROOT}/build/3rdparty/libprocess/libprocess-tests \
>       --gtest_filter="FutureTest.After3" --gtest_repeat=1000000 --gtest_break_on_failure
> $ ./${MESOS_SRC_ROOT}/build/build/src/mesos-tests
> ```
> 
> 
> Thanks,
> 
> Alexander Rojas
> 
>