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

(Updated Feb. 20, 2017, 2:41 p.m.)


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


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


Repository: mesos


Description (updated)
-------

Fixed a flakiness in `FutureTest.After3` caused by the way
libprocess processes timers.

Timers are not clear before setting `clock::settle` to 
`false`, which make cause a race condition for callers which
expect timers' thunks to be destroyed after the timer is
called and the clock is settled.

The issue is addressed by explicitly calling 
`std::list<T>::clear()` on the `timedout` timer's list
once the timers are executed.


Diffs (updated)
-----

  3rdparty/libprocess/src/clock.cpp 6116c82377b1c2f33c5f4bc14890d35f34cc973d 
  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

Reply via email to