mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Benjamin Mahler <bmah...@apache.org>
Subject Re: Review Request 52182: Prevented a race when relinking with SSL downgrade enabled.
Date Sat, 24 Sep 2016 00:22:35 GMT

-----------------------------------------------------------
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
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message