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

Gino Bustelo commented on TOREE-374:
------------------------------------

I'm not a JVM expert, but [~dtaieb], you need to consider that you are not in a 
normal execution environment. Those steps are not taking place in a single 
class... each time you execute a cell, there is a class that is generated that 
imports the previous classes from a previous cell. You basically get a 
hierarchy of nested classes. There might be side effects to that.

[~jodersky] brings a good point. Try that set of calls in the scala repl and 
lets compare.

> Variables declared on the Notebook are not garbage collected
> ------------------------------------------------------------
>
>                 Key: TOREE-374
>                 URL: https://issues.apache.org/jira/browse/TOREE-374
>             Project: TOREE
>          Issue Type: Bug
>    Affects Versions: 0.1.0
>            Reporter: David Taieb
>
> I'm not sure if it's a bug or a limitation of the underlying scala REPL.
> As part of supporting PixieDust (https://github.com/ibm-cds-labs/pixiedust) 
> auto-visualization feature within Scala gateway, I have implemented a weak 
> hashmap that tracks objects declared on the Scala REPL. However, I have found 
> that objects are not correctly gc'ed when the object is declared in a cell 
> with a val or var keyword and then the cell is ran again. One would expect 
> that the original object has no more references and should be gc'ed but it's 
> not. 
> However, when the object is declare with var keyword and then set to null in 
> another cell, then it is correctly gc'ed.
> I'm concerned that users who run the same cell multiple times would 
> unwittingly have memory leaks which can eventually lead to OOM errors.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to