-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/40935/
-----------------------------------------------------------
(Updated Dec. 4, 2015, 12:17 a.m.)
Review request for mesos, Joris Van Remoortere and Joseph Wu.
Changes
-------
Fix another instance of the `send(); Clock::settle();` pattern in the same test.
Bugs: MESOS-4059
https://issues.apache.org/jira/browse/MESOS-4059
Repository: mesos
Description
-------
There were two problems:
(1) After launching two tasks, we assumed that we would see TASK_RUNNING updates
for the tasks in the same order they were launched. This is not guaranteed,
so adjust the test to handle TASK_RUNNING updates in the order they are
received.
(2) The test used this pattern:
Mesos m;
Call c;
m.send(c);
Clock::settle();
// Trigger a new batch allocation that reflects the call
Clock::advance();
However, this is actually unsafe (see MESOS-3760): the send() call might not
have reached the master by the time `Clock::settle()` happens. This was
fixed by blocking using `FUTURE_DISPATCH` on the downstream logic in the
allocator that is invoked to handle the delivered event.
Diffs (updated)
-----
src/tests/master_maintenance_tests.cpp
00900561a1b8dd03a7a2f3d60a036b4beb920aa1
Diff: https://reviews.apache.org/r/40935/diff/
Testing
-------
./src/mesos-tests --gtest_filter="MasterMaintenanceTest.InverseOffersFilters"
--gtest_repeat=2000 # on OSX
./src/mesos-tests --gtest_filter="MasterMaintenanceTest.InverseOffersFilters"
--gtest_repeat=100 # on Ubuntu Wily (slow VM)
Thanks,
Neil Conway