Github user JoshRosen commented on the pull request:

    https://github.com/apache/spark/pull/2337#issuecomment-56281339
  
    @rxin @pwendell Since we have job groups and the ability to cancel all jobs 
running in a job group (`sc.cancelJobGroup()`), then why do we need 
FutureAction?  It looks like the only benefit that it offers over regular Scala 
`Future` is cancellation.
    
    I imagine that many developers would like to be able to fire off an entire 
workflow, potentially comprising multiple actions, monitor its overall 
progress, and cancel the whole thing.  It seems like job groups offer a 
strictly more powerful set of features that allows users to perform 
progress-monitoring and cancellation on entire workflows, not just individual 
actions.
    
    If the motivation for FutureAction is that job groups are inconvenient for 
simple things, then I think we can address that by adding convenience wrappers 
that act like Python context managers and make it easy to run a block of code 
inside of a particular job group.  Or, we could add an API that executes an 
arbitrary user-defined code block using a specified job group and returns a 
cancelable future.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to