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

    https://github.com/apache/spark/pull/21018#discussion_r180777891
  
    --- Diff: 
sql/core/src/main/scala/org/apache/spark/sql/execution/CacheManager.scala ---
    @@ -119,26 +119,60 @@ class CacheManager extends Logging {
         while (it.hasNext) {
           val cd = it.next()
           if (cd.plan.find(_.sameResult(plan)).isDefined) {
    -        cd.cachedRepresentation.cachedColumnBuffers.unpersist(blocking)
    +        cd.cachedRepresentation.clearCache(blocking)
             it.remove()
           }
         }
       }
     
    +  /**
    +   * Materialize the cache that refers to the given physical plan.
    --- End diff --
    
    The current approach of this pr is; `cache()` just registers an entry 
without building a `RDD` in `CacheManager` and then `InMemoryTableScanExec` 
re-registers an entry to build (materialize) a `RDD` in `CacheManager`. So, I 
added this function for  `InMemoryTableScanExec`  to re-register these entries 
in  `CacheManager`. But, I don't think this is the best, so I'd like to have 
any suggestion.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to