[
https://issues.apache.org/jira/browse/LUCENE-5787?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14041726#comment-14041726
]
Dawid Weiss commented on LUCENE-5787:
-------------------------------------
Synthetic fields are also used to pass final variables to the context of an
anonymous inner class; not that I envision such constructs to be used as a test
case from Java level, but if somebody wants to use a scripting language then
who knows what gets passed (and how).
I think we should keep it -- if we hit something absurd we can always filter it
away, but before we do who knows what's lurking out there.
> LuceneTestCase static leak checker interferes with Groovy unit tests
> --------------------------------------------------------------------
>
> Key: LUCENE-5787
> URL: https://issues.apache.org/jira/browse/LUCENE-5787
> Project: Lucene - Core
> Issue Type: Bug
> Affects Versions: 4.7, 4.8.1
> Environment: Maven 3.0.5
> JUnit 4.11
> Reporter: John Gibson
> Assignee: Dawid Weiss
>
> {{LuceneTestCase}}'s static memory leak checker can break Groovy subclasses.
> Specifically, Groovy classes have a synthetic static member variable of type
> {{org.codehaus.groovy.reflection.ClassInfo}}. If this variable grows too
> large then LTC will fail the test. Because the variable is added by the
> Groovy runtime instead of by the developer there is no way for the developer
> to clear the field themselves.
> Also note that the static leak checker does not ignore memory held by soft or
> weak references. These should be ignored because the memory retained by such
> fields will be reclaimed instead of triggering OutOfMemoryErrors.
> Note that because LTC is a base class for Solr's testing support classes this
> also affects {{SolrTestCaseJ4}} and {{AbstractSolrTestCase}}.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]