[ 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)