Hi Hoss,

> ...why is SolrRequestParsers 51 MB ?

> Instances of this class shouldn't by fluctuating in size, it doesn't
> maintain any mutable state -- so WTF?

You can try to debug it if you add an afterclass hook and dump the
"size tree" using, for example:
https://github.com/dweiss/java-sizeof/blob/master/src/main/java/com/carrotsearch/sizeof/ObjectTree.java

Typically what is happening is that there's a static field that holds
references to loggers, these in turn hold references to threads, these
to thread locals etc. Depends on the JVM and settings, really. I
assumed a class should nullify its static references after it's done
so an @AfterClass hook should be probably appropriate. Otherwise we
would miss statically allocated stuff and this can contribute to the
overall memory use.

> Don't get me wrong: RegexBoostProcessorTest should probably have an
> @AfterClass to null this out -- but i'm concerned that either:

Exactly.

> a) something has changed allowing SolrRequestParsers instances to now
> grow w/o bound
>
> b) something has changed to break the size detection code in the test
> framework.

(b) is unlikely. Dump the allocation tree and see what's the major
contributor to the size.

D.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to