[ https://issues.apache.org/jira/browse/LUCENE-5254?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13784070#comment-13784070 ]
Simon Willnauer commented on LUCENE-5254: ----------------------------------------- +1 to use the core key only. I checked what ES does with it and we always pull the core key here anyways. > SegmentCoreReader's "owner" reference back to the first SegmentReader causes > leaks > ---------------------------------------------------------------------------------- > > Key: LUCENE-5254 > URL: https://issues.apache.org/jira/browse/LUCENE-5254 > Project: Lucene - Core > Issue Type: Bug > Affects Versions: 5.0, 4.6 > Reporter: Michael McCandless > > Spinoff from LUCENE-5248, where Shai discovered this ... > SegmentCoreReaders has a SegmentReader owner member, that points to the > first SegmentReader that was opened. When that SR is reopened to SR2, > e.g. because new deletes or NDV updates happened, the same SCR is > shared. > But, even if you close SR1, any thing it points to cannot be GCd > because SCR is pointing to it. > I think the big things are liveDocs and the NDV update maps; Shai is > going to fix the latter in LUCENE-5248, so this issue should fix > liveDocs. > The simplest fix is to make liveDocs not final and null it out in > doClose ... but that's sort of fragile (what if we add other members > in the future and forget to null them on close?). I think it'd be better to > eliminate the owner reference; it's only used so we can evict > FieldCache entry once the core is closed. Maybe we can just store the > coreCacheKey instead? -- This message was sent by Atlassian JIRA (v6.1#6144) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org