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