----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/52182/#review150272 -----------------------------------------------------------
Ship it! 3rdparty/libprocess/src/process.cpp (lines 1466 - 1467) <https://reviews.apache.org/r/52182/#comment218163> Something like? In this case, we simply stop here and allow the latest created socket to continue. Defer might suggest process::defer to some. - Benjamin Mahler On Sept. 23, 2016, 9:49 p.m., Joseph Wu wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/52182/ > ----------------------------------------------------------- > > (Updated Sept. 23, 2016, 9:49 p.m.) > > > 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 > >
