mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ben Mahler <>
Subject Re: Review Request 47091: Made http::internal::ConnectionProcess a managed Process.
Date Sun, 08 May 2016 00:45:29 GMT

This is an automatically generated e-mail. To reply, visit:

(Updated May 8, 2016, 12:45 a.m.)

Review request for mesos and Anand Mazumdar.


Removed the accidental dependency.

Bugs: MESOS-4658

Repository: mesos


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.


  3rdparty/libprocess/src/http.cpp 48f91d01555e760b1c4fd2cde684168d65f75e57 



Removed the hack put in place within the http::get path to validate the fix.


Ben Mahler

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message