Hey Sean - Cool, maybe I'm misunderstanding the intent of clearing a session 
vs. stopping it. 

The cause of the leak looks to be because of this line here 
https://github.com/apache/spark/blob/master/sql/core/src/main/scala/org/apache/spark/sql/util/QueryExecutionListener.scala#L131.
 The ExecutionListenerBus that's added persists forever on the context's 
listener bus (the SparkContext ListenerBus has an ExecutionListenerBus). I'm 
trying to figure out the place that this cleanup should happen.  

With the current implementation, calling SparkSession.stop will clean up the 
ExecutionListenerBus (since the context itself is stopped), but it's unclear to 
me why terminating one session should terminate the JVM-global context. 
Possible my mental model is off here, but I would expect stopping a session to 
remove all traces of that session, while keeping the context alive, and 
stopping a context would, well, stop the context.

If stopping the session is expected to stop the context, what's the intended 
usage of clearing the active / default session? 

Vinoo

On 4/2/19, 10:57, "Sean Owen" <sro...@gmail.com> wrote:

    What are you expecting there ... that sounds correct? something else
    needs to be closed?
    
    On Tue, Apr 2, 2019 at 9:45 AM Vinoo Ganesh <vgan...@palantir.com> wrote:
    >
    > Hi All -
    >
    >    I’ve been digging into the code and looking into what appears to be a 
memory leak 
(https://urldefense.proofpoint.com/v2/url?u=https-3A__jira.apache.org_jira_browse_SPARK-2D27337&d=DwIFaQ&c=izlc9mHr637UR4lpLEZLFFS3Vn2UXBrZ4tFb6oOnmz8&r=7WzLIMu3WvZwd6AMPatqn1KZW39eI6c_oflAHIy1NUc&m=TjtXLhnSM5M_aKQlD2NFU2wRnXPvtrUbRm-t84gBNlY&s=JUsN7EzGimus0jYxyj47_xHYUDC6KnxieeUBfUKTefk&e=)
 and have noticed something kind of peculiar about the way closing a 
SparkSession is handled. Despite being marked as Closeable, closing/stopping a 
SparkSession simply stops the SparkContext. This changed happened as a result 
of one of the PRs addressing 
https://urldefense.proofpoint.com/v2/url?u=https-3A__jira.apache.org_jira_browse_SPARK-2D15073&d=DwIFaQ&c=izlc9mHr637UR4lpLEZLFFS3Vn2UXBrZ4tFb6oOnmz8&r=7WzLIMu3WvZwd6AMPatqn1KZW39eI6c_oflAHIy1NUc&m=TjtXLhnSM5M_aKQlD2NFU2wRnXPvtrUbRm-t84gBNlY&s=Nd9eBDH-FDdzEn_BVt2nZaNQn6fXA8EfVq5rKGztOUo&e=
 in 
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apache_spark_pull_12873_files-23diff-2Dd91c284798f1c98bf03a31855e26d71cR596&d=DwIFaQ&c=izlc9mHr637UR4lpLEZLFFS3Vn2UXBrZ4tFb6oOnmz8&r=7WzLIMu3WvZwd6AMPatqn1KZW39eI6c_oflAHIy1NUc&m=TjtXLhnSM5M_aKQlD2NFU2wRnXPvtrUbRm-t84gBNlY&s=RM9LrT3Yp2mf1BcbBf1o_m3bcNZdOjznrogBLzUzgeE&e=.
    >
    >
    >
    > I’m trying to understand why this is the intended behavior – anyone have 
any knowledge of why this is the case?
    >
    >
    >
    > Thanks,
    >
    > Vinoo
    


---------------------------------------------------------------------
To unsubscribe e-mail: dev-unsubscr...@spark.apache.org

Reply via email to