lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Commit Tag Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (SOLR-4557) Fix broken CoreContainerTest.testReload
Date Wed, 13 Mar 2013 13:10:14 GMT

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

Commit Tag Bot commented on SOLR-4557:
--------------------------------------

[branch_4x commit] Erick Erickson
http://svn.apache.org/viewvc?view=revision&revision=1455710

Fix for SOLR-4557, 'Fix broken CoreContinerTest.testReload'

                
> Fix broken CoreContainerTest.testReload
> ---------------------------------------
>
>                 Key: SOLR-4557
>                 URL: https://issues.apache.org/jira/browse/SOLR-4557
>             Project: Solr
>          Issue Type: Test
>    Affects Versions: 4.2, 5.0
>            Reporter: Erick Erickson
>            Assignee: Erick Erickson
>             Fix For: 4.3, 5.0
>
>         Attachments: SOLR-4557.patch, SOLR-4557.patch, SOLR-4557_posthshutdown_stack.txt
>
>
> I was chasing down a test failure, and it turns out that CoreContainerTest.testReload
has only succeeded by chance. The test fires up 4 threads that go out and reload the same
core all at once. This caused me to look at properly synchronizing reloading cores pursuant
to SOLR-4196, on the theory that we should serialize loading, unloading and reloading cores;
we shouldn't be doing _any_ of those operations from different threads on the same core at
the same time. It turns out that if you fire up multiple reloads at once without serializing
them, an error is thrown instead of proper reloading occurring, and that's the only reason
the test doesn't hang. The stack trace of the exception is below for reference, but it doesn't
with the code I'll attach to this patch:
> [junit4:junit4]   2> 	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(DefaultMBeanServerInterceptor.java:1095)
> [junit4:junit4]   2> 	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.exclusiveUnregisterMBean(DefaultMBeanServerInterceptor.java:427)
> [junit4:junit4]   2> 	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.unregisterMBean(DefaultMBeanServerInterceptor.java:415)
> [junit4:junit4]   2> 	at com.sun.jmx.mbeanserver.JmxMBeanServer.unregisterMBean(JmxMBeanServer.java:536)
> [junit4:junit4]   2> 	at org.apache.solr.core.JmxMonitoredMap.put(JmxMonitoredMap.java:138)
> [junit4:junit4]   2> 	at org.apache.solr.core.JmxMonitoredMap.put(JmxMonitoredMap.java:51)
> [junit4:junit4]   2> 	at org.apache.solr.core.RequestHandlers.register(RequestHandlers.java:106)
> [junit4:junit4]   2> 	at org.apache.solr.core.RequestHandlers.initHandlersFromConfig(RequestHandlers.java:157)
> [junit4:junit4]   2> 	at org.apache.solr.core.SolrCore.<init>(SolrCore.java:757)
> [junit4:junit4]   2> 	at org.apache.solr.core.SolrCore.reload(SolrCore.java:408)
> [junit4:junit4]   2> 	at org.apache.solr.core.CoreContainer.reload(CoreContainer.java:1076)
> [junit4:junit4]   2> 	at org.apache.solr.core.TestCoreContainer$1TestThread.run(TestCoreContainer.java:90)

--
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: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message