-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28838/
-----------------------------------------------------------
(Updated Dec. 9, 2014, 8:49 p.m.)
Review request for mesos, Benjamin Hindman, Jie Yu, and Joris Van Remoortere.
Changes
-------
--> Use unordered collections (from stout for now), removed my TODO for this.
--> Switched the names of linkees and linkers for clarity.
--> Minor cleanups from jie's review.
Bugs: MESOS-2182
https://issues.apache.org/jira/browse/MESOS-2182
Repository: mesos-git
Description
-------
See MESOS-2182.
The iteration over the links is expensive _and_ occurs within the
SocketManager's critical section, which we think is having some bad effects
blocking other calls (see the comments in the ticket).
This change updates the socket manager to keep a bi-directional mapping between
the "linkers" and the "linkees", which means that we now only look at the
relevant information when a node/process exits.
Note that I did double lookups on the maps, this was because we do this heavily
in libprocess already. I had originally written out the code using .find() to
avoid the double lookups, but it became next to impossible to read. Let's
micro-optimize later, this is a major improvement as it is. :)
I tried to keep the additional complexity in check, let me know if there are
any suggestions to make it easier!
Diffs (updated)
-----
3rdparty/libprocess/src/process.cpp b87ac2206548815bc992c955252567c131fe6a47
Diff: https://reviews.apache.org/r/28838/diff/
Testing
-------
make check
Manually started a master and slave across machines, to ensure exit
notifications were sent correctly.
Thanks,
Ben Mahler