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



Patch looks great!

Reviews applied: [47090, 47091]

Passed command: export OS='ubuntu:14.04' CONFIGURATION='--verbose' 
COMPILER='gcc' ENVIRONMENT='GLOG_v=1 MESOS_VERBOSE=1'; ./support/docker_build.sh

- Mesos ReviewBot


On May 8, 2016, 12:45 a.m., Ben Mahler wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47091/
> -----------------------------------------------------------
> 
> (Updated May 8, 2016, 12:45 a.m.)
> 
> 
> Review request for mesos and Anand Mazumdar.
> 
> 
> Bugs: MESOS-4658
>     https://issues.apache.org/jira/browse/MESOS-4658
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Per the details in MESOS-4658, the `http::Connection` abstraction is
> prone to the deadlock of `process::wait`ing on itself. This occurs
> when the `http::internal::ConnectionProcess` exposes a Future on
> which the caller binds a copy of `http::Connection`. When completing
> the Future, the Future clears its callbacks within the execution
> context of the `http::internal::ConnectionProcess`. If the last copy
> of the `http::Connection` was present within one of the callbacks,
> the `http::internal::ConnectionProcess` will wait on itself, leading
> to a deadlock.
> 
> This surfaces a general pattern of having libprocess manage a
> Process when it cannot be guaranteed that the Process will be
> waited on by another execution context.
> 
> 
> Diffs
> -----
> 
>   3rdparty/libprocess/src/http.cpp 48f91d01555e760b1c4fd2cde684168d65f75e57 
> 
> Diff: https://reviews.apache.org/r/47091/diff/
> 
> 
> Testing
> -------
> 
> Removed the hack put in place within the http::get path to validate the fix.
> 
> 
> Thanks,
> 
> Ben Mahler
> 
>

Reply via email to