You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Wang Cheng (JIRA)" <ji...@apache.org> on 2018/01/08 07:16:00 UTC
[jira] [Created] (SPARK-22988) Why does dataset's unpersist clear
all the caches have the same logical plan?
Wang Cheng created SPARK-22988:
----------------------------------
Summary: Why does dataset's unpersist clear all the caches have the same logical plan?
Key: SPARK-22988
URL: https://issues.apache.org/jira/browse/SPARK-22988
Project: Spark
Issue Type: Question
Components: Spark Core
Affects Versions: 2.1.1
Reporter: Wang Cheng
Priority: Minor
When I do followings:
dataset A = some dataset
A.persist
dataset B = A.doSomthing
dataset C = A.doSomthing
C.persist
A.unpersist
I found C's cache is removed too, since following code:
def uncacheQuery(spark: SparkSession, plan: LogicalPlan, blocking: Boolean): Unit = writeLock {
val it = cachedData.iterator()
while (it.hasNext) {
val cd = it.next()
if (cd.plan.find(_.sameResult(plan)).isDefined) {
cd.cachedRepresentation.cachedColumnBuffers.unpersist(blocking)
it.remove()
}
}
}
It removes the data caches contains the some logical plan, should it only remove the cache whose dataset calls unpersist method?
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org