Joseph Wu created MESOS-6234:
--------------------------------

             Summary: 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: 1.0.0, 0.28.3
            Reporter: Joseph Wu
            Assignee: Joseph Wu
             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)

Reply via email to