[ https://issues.apache.org/jira/browse/TOREE-374?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15856880#comment-15856880 ]
Jakob Odersky edited comment on TOREE-374 at 2/7/17 9:57 PM: ------------------------------------------------------------- Thanks for the reproduction steps, [~dtaieb]. The reason why results aren't garbage collected is due to the way the Scala REPL represents evaluated expressions. This is true for both in the standard object-wrapped repl as well as the class based one used by Toree. Unfortunately I can't think of an easy fix that we could quickly get into upstream. How severe is this bug in a typical use-case? Are cells re-evaluated enough without a kernel restart, for it to become a problem? [~mariusvniekerk] do you know if/how zeppelin has worked around this? was (Author: jodersky): Thanks for the reproduction steps, [~dtaieb]. The reason why results aren't garbage collected is due to the way the Scala REPL represents evaluated expressions. This is true for both in the standard object-wrapped repl as well as the class based one used by Toree. Unfortunately I can't think of an easy fix that we could quickly get into upstream. How severe is this bug in a typical use-case? Are cells reevaluated enough without a kernel restart for it to become a problem? [~mariusvniekerk] do you know if/how zeppelin has worked around this? > 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)