You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mesos.apache.org by Jie Yu <yu...@gmail.com> on 2012/07/17 03:48:42 UTC

Review Request: Fixed a bug in SocketManager::next(int s) that will cause an assertion failure in slave.

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

Review request for mesos, Benjamin Hindman and Vinod Kone.


Description
-------

The bug is reported at here:
https://issues.apache.org/jira/browse/MESOS-220

The cause of this bug is that we cannot assume the Socket handle s exists in SocketManager::next. Because it is likely that s has already been closed by socket_manager->close(s). For example, process::recv_data will get called asynchronously if the remotely linked process exits. In that case, since the physical socket is broken, process::recv_data will remove the Socket handle from sockets in SocketManager.


Diffs
-----

  third_party/libprocess/src/process.cpp b560b7c 

Diff: https://reviews.apache.org/r/5995/diff/


Testing
-------

make check.


Thanks,

Jie Yu


Re: Review Request: Fixed a bug in SocketManager::next(int s) that will cause an assertion failure in slave.

Posted by Benjamin Hindman <be...@berkeley.edu>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/5995/#review9307
-----------------------------------------------------------

Ship it!


Ship It!

- Benjamin Hindman


On July 17, 2012, 1:48 a.m., Jie Yu wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/5995/
> -----------------------------------------------------------
> 
> (Updated July 17, 2012, 1:48 a.m.)
> 
> 
> Review request for mesos, Benjamin Hindman and Vinod Kone.
> 
> 
> Description
> -------
> 
> The bug is reported at here:
> https://issues.apache.org/jira/browse/MESOS-220
> 
> The cause of this bug is that we cannot assume the Socket handle s exists in SocketManager::next. Because it is likely that s has already been closed by socket_manager->close(s). For example, process::recv_data will get called asynchronously if the remotely linked process exits. In that case, since the physical socket is broken, process::recv_data will remove the Socket handle from sockets in SocketManager.
> 
> 
> Diffs
> -----
> 
>   third_party/libprocess/src/process.cpp b560b7c 
> 
> Diff: https://reviews.apache.org/r/5995/diff/
> 
> 
> Testing
> -------
> 
> make check.
> 
> 
> Thanks,
> 
> Jie Yu
> 
>