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