Github user mridulm commented on a diff in the pull request:

    https://github.com/apache/spark/pull/16576#discussion_r96114262
  
    --- Diff: core/src/main/scala/org/apache/spark/rdd/RDD.scala ---
    @@ -1539,6 +1539,13 @@ abstract class RDD[T: ClassTag](
         // NOTE: we use a global lock here due to complexities downstream with 
ensuring
         // children RDD partitions point to the correct parent partitions. In 
the future
         // we should revisit this consideration.
    +    if (doCheckpointCalled) {
    +      throw new SparkException("Because job has been executed on this RDD, 
checkpoint won't work")
    +    }
    --- End diff --
    
    I see what you mean, if I am not wrong, are you trying to deal with 
something like this ?
    
    '''
    val rdd1 = ...
    val rdd2 = rdd1.filter()
    val rdd3 = rdd2.map()
    
    rdd1.checkpoint() 
    rdd3.count()
    
    rdd2.checkpoint()
    rdd3.count()
    '''
    
    The latter will not cause rdd2 to get checkpointed since the earlier 
checkpoint already marked doCheckpointCalled = true ?
    
    
    If yes, then it is an interesting case which might not have been considered 
- but I could be wrong.
    +CC @mateiz which wrote the memorization of checkpoint ...



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