[
https://issues.apache.org/jira/browse/SOLR-1427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Hoss Man updated SOLR-1427:
---------------------------
Attachment: SOLR-1427.afterlatch.patch
The more I think about it, and the more I look at the threaddumps from people
reporting a problem after this patch...
http://www.nabble.com/Latest-trunk--locks-execution-thread-in-SolrCore.getSearcher%28%29-to25483788.html#a25496516
...the more certain i am that my previous guess was correct.
Some background...
* SolrCore.getSearcher() explicitly says it can't be called during
SolrCoreAware.inform(SolrCore) ... there is a "latch" that blocks getSearcher
arround the inform calls.
* ReplicationHandler implements SolrCoreAware, and obey's this contract but
stores a permanent reference to the core.
* ReplicationHandler.getStatistics uses that core to call getSearcher()
Now here's where our problem comes from...
* the previous patch resulted in SOlrResoureceLoader adding SOlrMBeans into
the infoRegsitry map (which could be a JmxMonitoredMap) during the "latch" that
causes blocks on getSearcher
* JmxMonitoredMap.put registeres the MBeans with the JMX server.
* based on the threaddumps provided there are evidently _some_ JMX
implementations in which JmxMBeanServer.registerMBean blocks until
rDynamicMBean.getMBeanInfo returns.
* In a SolrDynamicMBean.getMBeanInfo this method calls getStatistics
... hence the problem.
I'm attaching a patch that is essentially a "redo" of what Yonik reverted, but
it moves the line adding items to the infoRegistry until after the latch has
been released.
I'd appreciate it if anyone who was able to reproduce the problem that caused
the revert could try this patch (with JMX turned on as it is in the example
solrconfig.xml)
> SearchComponents aren't listed on registry.jsp
> ----------------------------------------------
>
> Key: SOLR-1427
> URL: https://issues.apache.org/jira/browse/SOLR-1427
> Project: Solr
> Issue Type: Bug
> Reporter: Hoss Man
> Assignee: Grant Ingersoll
> Priority: Minor
> Fix For: 1.4
>
> Attachments: SOLR-1427.afterlatch.patch, SOLR-1427.patch,
> SOLR-1427.patch, SOLR-1427.patch
>
>
> SearchComponent implements SolrInfoMBean using getCategory() of "OTHER" but
> they aren't listed on the registry.jsp display of loaded plugins.
> This may be a one-of-glitch because of the way SearchComponents get loaded,
> or it may indicate some other problem with the infoRegistry.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.