[ https://issues.apache.org/jira/browse/CALCITE-2717?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16704927#comment-16704927 ]
Julian Hyde commented on CALCITE-2717: -------------------------------------- I'm surprised. I thought soft references won't prevent anything from being garbage collected; if it's not being garbage collected, it's because there is some other reference to it outside of the cache. Look for documentation on how to use a guava cache to intern values. > Cached traits in RelTraitDef's canonicalMap can't be garbage-collected > ----------------------------------------------------------------------- > > Key: CALCITE-2717 > URL: https://issues.apache.org/jira/browse/CALCITE-2717 > Project: Calcite > Issue Type: Bug > Components: core > Reporter: Haisheng Yuan > Assignee: Julian Hyde > Priority: Major > > Softly-referenced objects will be garbage-collected in a globally > least-recently-used manner, in response to memory demand. Even though > canonicalMap's value is soft referenced, key is strong referenced, key and > value are referencing the same object. So traits in the cache will never be > garbage-collected, which may cause OOM if we have tons of different traits. -- This message was sent by Atlassian JIRA (v7.6.3#76005)