[ 
https://issues.apache.org/jira/browse/SOLR-5022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13703245#comment-13703245
 ] 

Uwe Schindler edited comment on SOLR-5022 at 7/9/13 1:20 PM:
-------------------------------------------------------------

Maybe I know, why the permgen issues do not happen for all of us! The reason is:

- Something seems to eat permgen by interning strings! Those interned strings 
are never freed until the JVM dies.
- If you run with many CPUs, the test runner runs tests in multiple parallel 
JVMs, so every JVMs runs less tests.

...the Jenkins server on MacOSX runs with one JVM only (because the virtual box 
has only 2 virtual CPUs). So all tests have to share the permgen. Windows 
always passes because no hadoop used. And linux fails more seldom (2 parallel 
JVMs). On FreeBSD we also don't run hadoop tests.

We have to find out: Something seems to eat all permgen, not by loading 
classes, but by interning strings. And that’s the issue here. My idea would be: 
I will run forbidden-apis on all JAR files of Solr that were added and will 
forbid {{String#intern()}} signature. This should show us very fast, who 
interns strings and we can open bug reports or hot-patch those jar files.

                
      was (Author: thetaphi):
    Maybe I know, why the permgen issues do not happen for all of us! The 
reason is:

- Something seems to eat permeg by interning strings! Those interned strings 
are never freed until the JVM dies.
- If you run with many CPUs, the test runner runs tests in multiple parallel 
JVMs, so every JVMs runs less tests.

...the Jenkins server on MacOSX runs with one JVM only (because the virtual box 
has only 2 virtual CPUs). So all tests have to share the permgen. Windows 
always passes because no hadoop used. And linux fails more seldom (2 parallel 
JVMs). On FreeBSD we also don't run hadoop tests.

We have to find out: Something seems to eat all permgen, not by loading 
classes, but by interning strings. And that’s the issue here. My idea would be: 
I will run forbidden-apis on all JAR files of Solr that were added and will 
forbid {{String#intern()}} signature. This should show us very fast, who 
interns strings and we can open bug reports or hot-patch those jar files.

                  
> PermGen exhausted test failures on Jenkins.
> -------------------------------------------
>
>                 Key: SOLR-5022
>                 URL: https://issues.apache.org/jira/browse/SOLR-5022
>             Project: Solr
>          Issue Type: Test
>          Components: Tests
>            Reporter: Mark Miller
>            Priority: Blocker
>             Fix For: 5.0, 4.4
>
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to