-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/44989/#review124395
-----------------------------------------------------------
src/tests/resource_offers_tests.cpp (line 77)
<https://reviews.apache.org/r/44989/#comment186925>
Not yours, but do we actually need 10 agents here? I guess this also contributed to the
slowdown mentioned.
src/tests/resource_offers_tests.cpp (line 102)
<https://reviews.apache.org/r/44989/#comment186926>
Aren't you missing a Clock::settle() here?
- Joerg Schad
On March 18, 2016, 6:55 p.m., Greg Mann wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/44989/
> -----------------------------------------------------------
>
> (Updated March 18, 2016, 6:55 p.m.)
>
>
> Review request for mesos, Adam B and Joerg Schad.
>
>
> Bugs: MESOS-4849
> https://issues.apache.org/jira/browse/MESOS-4849
>
>
> Repository: mesos
>
>
> Description
> -------
>
> Fixed a race in the resource offers tests.
>
> Adding HTTP credentials to `StartSlave` in 'src/tests/mesos.cpp' has exposed a race condition
in ResourceOffersTest.ResourceOfferWithMultipleSlaves. The test quickly runs `StartSlave`
10 times to create 10 agents. Under the covers, `StartSlave` writes data to disk, and it seems
that with the additional data being written to disk for HTTP credentials, the filesystem operations
for one `StartSlave` call were not completing before the next call.
>
> By settling the clock in between each invocation of `StartSlave`, this patch fixes the
race. The test is slower, but it is now reliable. Running the test 3 times, the old implementation
gives an average runtime of 265ms, while the new one runs in an average of 359ms.
>
>
> Diffs
> -----
>
> src/tests/resource_offers_tests.cpp 1cf292ee7931207596f8f06677386bef5965ef15
>
> Diff: https://reviews.apache.org/r/44989/diff/
>
>
> Testing
> -------
>
> `GTEST_FILTER="ResourceOffersTest.ResourceOfferWithMultipleSlaves" bin/mesos-tests.sh
--gtest_repeat=1000 --gtest_break_on_failure=1` was used to test on both OSX and Ubuntu 14.04.
>
>
> Thanks,
>
> Greg Mann
>
>
|