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

Carlo Curino commented on MAPREDUCE-5176:
-----------------------------------------

Interesting point, although @Stateless is a stricter condition that we need. It 
is ok to maintain state as far as it is not semantically required to persist 
across key boundaries (two common cases are: 1) you have state that you reset 
or ignore at every new key group, e.g., aggregate group-by key, and 2) you 
maintain state as an optimization (memoization) but it is not required for 
correctness. So while @Stateless would guarantee "safe to preempt using default 
checkpointing" it is tighter than we need. 

In general, I would expect a user that tags its code to understand the 
@Preemptable semantics which is "if your code does not depend on state to be 
preserved across key boundaries you are good to go, otherwise you should 
carefully override these methods".


                
> Preemptable annotations (to support preemption in MR)
> -----------------------------------------------------
>
>                 Key: MAPREDUCE-5176
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-5176
>             Project: Hadoop Map/Reduce
>          Issue Type: Improvement
>          Components: mrv2
>            Reporter: Carlo Curino
>            Assignee: Carlo Curino
>         Attachments: MAPREDUCE-5176.1.patch, MAPREDUCE-5176.patch
>
>
> Proposing a patch that introduces a new annotation @Preemptable that 
> represents to the framework property of user-supplied classes (e.g., Reducer, 
> OutputCommiter). The intended semantics is that a tagged class is safe to be 
> preempted between invocations. 
> (this is in spirit similar to the Output Contracts of [Nephele/PACT | 
> https://stratosphere.eu/sites/default/files/papers/ComparingMapReduceAndPACTs_11.pdf])

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to