[
https://issues.apache.org/jira/browse/MESOS-7694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16966905#comment-16966905
]
Benjamin Mahler commented on MESOS-7694:
----------------------------------------
[~xujyan] thanks, yeah I think it would be consistent with the current discard
semantics (i.e. implicit discard handling as done with {{Future::then}}) for
the loop to stop itself when a discard is requested. It also means that much
like {{Future::then}} stopping the chain, any code needs to handle the case
where if an iteration value is produced, it is no longer guaranteed to be
processed by the body. I'm still a bit torn on this type of implicit discard
handling, since it's quite easy to get bugs with it vs only having explicit
server handling of discards, but it is currently the approach that
{{Future::then}} takes: MESOS-8448.
> Discarding process::loop doesn't stop the loop
> ----------------------------------------------
>
> Key: MESOS-7694
> URL: https://issues.apache.org/jira/browse/MESOS-7694
> Project: Mesos
> Issue Type: Bug
> Components: libprocess
> Reporter: Yan Xu
> Priority: Major
>
> When a loop's returned future is discarded, the loop would attempt to stop
> itself from progressing by propagating the discard to the future that
> {{iteration}} or {{body}} are blocked on. However for cases such as the run
> is dispatched and pending, or {{iteration}} or {{body}} are not blocked at
> all, discarding the loop doesn't stop it.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)