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


Ship it!




Ship It!

- Benjamin Mahler


On June 23, 2016, 2:07 a.m., Joseph Wu wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/49127/
> -----------------------------------------------------------
> 
> (Updated June 23, 2016, 2:07 a.m.)
> 
> 
> Review request for mesos, Anand Mazumdar, Benjamin Mahler, Artem Harutyunyan, 
> and Joris Van Remoortere.
> 
> 
> Bugs: MESOS-5691
>     https://issues.apache.org/jira/browse/MESOS-5691
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> When an SSL-enabled Mesos actor attempts to link, it will open an SSL
> socket first.  If this fails, and downgrading to non-SSL is enabled, 
> the Mesos actor will create a "Poll" socket instead.
> 
> In this code path, we explicitly avoid calling `SocketManager::close`
> as "closing" a link will also trigger `ExitedEvents`.  Instead, the
> downgrade codepath tries to "swap" the `SocketManager`s state from the
> old SSL socket, to the new Poll socket via `swap_implementing_socket`.
> 
> `swap_implementing_socket` leaks a `Socket` object, which is a 
> reference-counted wrapper for an FD.  Besides the memory leak, leaking 
> the `Socket` means that the reference count for the old SSL socket 
> will always be above zero.  And we only `close` the socket when the
> reference count reaches zero.
> 
> 
> Diffs
> -----
> 
>   3rdparty/libprocess/src/process.cpp 
> 4a9b1ff51da5de000d4d788372bb0344907cb8d5 
> 
> Diff: https://reviews.apache.org/r/49127/diff/
> 
> 
> Testing
> -------
> 
> Performed repro steps in MESOS-5691.  Confirmed the absense of sockets in 
> `CLOSE_WAIT`.
> 
> 
> Thanks,
> 
> Joseph Wu
> 
>

Reply via email to