[ 
https://issues.apache.org/jira/browse/SOLR-4300?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Steve Rowe reopened SOLR-4300:
------------------------------

      Assignee: Steve Rowe  (was: Erick Erickson)

Jenkins is unhappy:

{noformat}
Build: http://jenkins.thetaphi.de/job/Lucene-Solr-trunk-MacOSX/92/
Java: 64bit/jdk1.7.0 -XX:+UseSerialGC

1 tests failed.
FAILED:  junit.framework.TestSuite.org.apache.solr.core.TestLazyCores

Error Message:
Clean up static fields (in @AfterClass?), your test seems to hang on to 
approximately 13,549,312 bytes (threshold is 10,485,760). Field reference sizes 
(counted individually):   - 14,228,288 bytes, static java.util.List 
org.apache.solr.core.TestLazyCores._theCores   - 720 bytes, private static 
java.lang.String[] org.apache.solr.core.TestLazyCores._necessaryConfs   - 280 
bytes, public static org.junit.rules.TestRule 
org.apache.solr.SolrTestCaseJ4.solrClassRules   - 240 bytes, protected static 
java.lang.String org.apache.solr.SolrTestCaseJ4.testSolrHome   - 128 bytes, 
private static java.lang.String org.apache.solr.SolrTestCaseJ4.factoryProp   - 
64 bytes, private static java.lang.String 
org.apache.solr.SolrTestCaseJ4.coreName

Stack Trace:
junit.framework.AssertionFailedError: Clean up static fields (in @AfterClass?), 
your test seems to hang on to approximately 13,549,312 bytes (threshold is 
10,485,760). Field reference sizes (counted individually):
 - 14,228,288 bytes, static java.util.List 
org.apache.solr.core.TestLazyCores._theCores
...
{noformat}

I can reproduce this on my Mac.

After applying the patch below converting the static field {{_theCores}} into a 
local variable of the only method it's used in, I was able to successfully run 
{{ant test -Dtestcase=TestLazyCores -Dtests.dups=100}}:

{code:java}
Index: solr/core/src/test/org/apache/solr/core/TestLazyCores.java
===================================================================
--- solr/core/src/test/org/apache/solr/core/TestLazyCores.java  (revision 
1433815)
+++ solr/core/src/test/org/apache/solr/core/TestLazyCores.java  (working copy)
@@ -248,10 +248,10 @@
     }
   }
 
-  static List<SolrCore> _theCores = new ArrayList<SolrCore>();
   // Test case for SOLR-4300
   @Test
   public void testRace() throws Exception {
+    final List<SolrCore> _theCores = new ArrayList<SolrCore>();
     final CoreContainer cc = init();
     try {
{code}

I'll commit this shortly.
                
> Possible race condition in CoreContainer.getCore() when lazily loading cores.
> -----------------------------------------------------------------------------
>
>                 Key: SOLR-4300
>                 URL: https://issues.apache.org/jira/browse/SOLR-4300
>             Project: Solr
>          Issue Type: Bug
>    Affects Versions: 4.1, 5.0
>            Reporter: Erick Erickson
>            Assignee: Steve Rowe
>            Priority: Blocker
>             Fix For: 4.1, 5.0
>
>         Attachments: SOLR-4300.patch
>
>
> Yonik pointed out in SOLR-1028 that there is a possible race condition here, 
> he's right not to my surprise. Calling it a "blocker" for now so we make a 
> decision on it rather than let it fall through the cracks. I should be able 
> to get a patch up tonight (Sunday).
> That said, there's potential here to introduce deadlocks, is it worth rushing 
> into 4.1?

--
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