You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Joseph Wu (JIRA)" <ji...@apache.org> on 2016/09/24 00:13:20 UTC

[jira] [Comment Edited] (MESOS-6234) Potential socket leak during Zookeeper network changes

    [ https://issues.apache.org/jira/browse/MESOS-6234?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15517678#comment-15517678 ] 

Joseph Wu edited comment on MESOS-6234 at 9/24/16 12:12 AM:
------------------------------------------------------------

| https://reviews.apache.org/r/52181/ | Prevent relinking races -> leaks |


was (Author: kaysoky):
| https://reviews.apache.org/r/52180/ | Fix edge case of {{link}} + {{ExitedEvent}} |
| https://reviews.apache.org/r/52181/ | Prevent relinking races -> leaks |

> Potential socket leak during Zookeeper network changes
> ------------------------------------------------------
>
>                 Key: MESOS-6234
>                 URL: https://issues.apache.org/jira/browse/MESOS-6234
>             Project: Mesos
>          Issue Type: Bug
>          Components: libprocess
>    Affects Versions: 0.28.3, 1.0.0
>            Reporter: Joseph Wu
>            Assignee: Joseph Wu
>              Labels: libprocess, mesosphere
>             Fix For: 0.28.3, 1.1.0, 1.0.2
>
>
> There is a potential leak when using the version of {{link}} with {{RemoteConnection::RECONNECT}}.  This was originally implemented to refresh links during master recovery. 
> The leak occurs here:
> https://github.com/apache/mesos/blob/5e23edd513caec51ce3e94b3d785d714052525e8/3rdparty/libprocess/src/process.cpp#L1592-L1597
> ^ The comment here is not correct, as that is *not* the last reference to the {{existing}} socket.
> At this point, the {{existing}} socket may be a perfectly valid link.  Valid links will all have a reference inside a callback loop created here:
> https://github.com/apache/mesos/blob/5e23edd513caec51ce3e94b3d785d714052525e8/3rdparty/libprocess/src/process.cpp#L1503-L1509
> -----
> We need to stop the callback loop but prevent any resulting {{ExitedEvents}} from being sent due to stopping the callback loop.  This means discarding the callback loop's future after we have called {{swap_implementing_socket}}.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)