-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/52182/
-----------------------------------------------------------
Review request for mesos, Benjamin Mahler, Artem Harutyunyan, and Joris Van
Remoortere.
Bugs: MESOS-6233
https://issues.apache.org/jira/browse/MESOS-6233
Repository: mesos
Description
-------
If there are two or more actors, on the same OS process, that try to
relink at the same time, there is a potential CHECK failure when SSL
downgrade is also enabled. The following interleaving is problematic:
| Actor A | Actor B |
|---------------------------------+---------------------------------|
| Starts to relink. | Starts to relink. |
| Creates socket A. | |
| Replaces link with Socket A. | |
| Tries to connect with Socket A. | |
| | Creates socket B. |
| Connection fails due to SSL. | Replaces link with Socket B. |
| Attempts to downgrade. | |
| Tries to replace link. | |
The last step in the interleaving fails because we assert that the
socket we are swapping out exists in the `SocketManager`s state.
Diffs
-----
3rdparty/libprocess/src/process.cpp 02a192529e53479d5a163fa6a20873674b51ee2c
Diff: https://reviews.apache.org/r/52182/diff/
Testing
-------
See next review.
Thanks,
Joseph Wu