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

Review request for mesos and Vinod Kone.


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


Repository: mesos


Description
-------

This change fixes the flakiness in this test. The issue was a race between the 
`connected` callback being called before we did `process::spawn` to start the 
process.

The details of the race that lead to the failure are as follows:
- We started the executor library inside the constructor of `TestExecutor`. The 
callback function did `process::defer(self(), &Self::connected)`
- The `connected` callback can be invoked by the Executor library before we got 
a chance to actually invoke `process::spawn` on the `TestExecutor` process 
itself. This in can turn lead to the `dispatch` being silently dropped.
https://github.com/apache/mesos/blob/master/3rdparty/libprocess/src/process.cpp#L2456

This change now starts the library inside the `initialize` function that is 
gurranteed to be called after `process::spawn` is invoked.


Diffs
-----

  src/examples/test_http_executor.cpp 4916e0ebb7215d911556561a8560d78a1192001c 

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


Testing
-------

make check + The flakiness is really easy to reproduce under load:

- Run the tests with `stress --cpu 4 --timeout 120` running in the background.


Thanks,

Anand Mazumdar

Reply via email to