You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@toree.apache.org by "Marius Van Niekerk (JIRA)" <ji...@apache.org> on 2017/02/06 20:17:41 UTC
[jira] [Commented] (TOREE-374) Variables declared on the Notebook
are not garbage collected
[ https://issues.apache.org/jira/browse/TOREE-374?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15854673#comment-15854673 ]
Marius Van Niekerk commented on TOREE-374:
------------------------------------------
So this is largely due to how the scala repl works. Each complete block of code that is evaluated corresponds to a class that gets created. There isn't a particularly simple way to denote that a particular cell / code block is no longer needed.
For long running notebooks users should use the comm api rather than reexecuting cells.
> 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)