You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Alexander Rojas (JIRA)" <ji...@apache.org> on 2015/11/20 15:39:11 UTC

[jira] [Commented] (MESOS-2307) Add a Future state for gone processes

    [ https://issues.apache.org/jira/browse/MESOS-2307?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15018097#comment-15018097 ] 

Alexander Rojas commented on MESOS-2307:
----------------------------------------

This behavior is known in literature as breaking a promise. In fact, C++ 11 futures will set the future to the [{{std::future_exception}}|http://www.cplusplus.com/reference/future/future_error/?kw=future_error] with code [{{broken_promise}}|http://www.cplusplus.com/reference/future/future_errc/] if they run in this situation.

I feel that is akin to failing our futures when the futures are being destroyed and not set. I have a small patch which fixes the issue, but there is a comment there which I am not sure about, so once it is clear I will publish it.

> Add a Future state for gone processes
> -------------------------------------
>
>                 Key: MESOS-2307
>                 URL: https://issues.apache.org/jira/browse/MESOS-2307
>             Project: Mesos
>          Issue Type: Bug
>          Components: libprocess
>            Reporter: Alexander Rukletsov
>
> If the libprocess process is terminated, we can still dispatch calls to it as long as we have a {{UPID}}. In this case the future will be pending forever. Instead, it would be better to introduce a separate state for such case, e.g. {{Disconnected}}, {{Abandoned}}.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)