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

Mark Miller commented on SOLR-5592:
-----------------------------------

Stack traces from Solr 4.4 with some backports on it. It is deadlocked in 
getSearcher.

{noformat}
"coreLoadExecutor-4-thread-1" prio=10 tid=0x00007fd0a84cc000 nid=0x5991 in 
Object.wait() [0x00007fd0ac9e2000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000000d0772c60> (a java.lang.Object)
        at java.lang.Object.wait(Object.java:485)
        at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1596)
        - locked <0x00000000d0772c60> (a java.lang.Object)
        at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1405)
        at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1340)
        at 
org.apache.solr.handler.ReplicationHandler.getIndexVersion(ReplicationHandler.java:546)
        at 
org.apache.solr.handler.ReplicationHandler.getStatistics(ReplicationHandler.java:563)
        at 
org.apache.solr.core.JmxMonitoredMap$SolrDynamicMBean.getMBeanInfo(JmxMonitoredMap.java:231)
        at 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getNewMBeanClassName(DefaultMBeanServerInterceptor.java:321)
        at 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:307)
        at 
com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:482)
        at org.apache.solr.core.JmxMonitoredMap.put(JmxMonitoredMap.java:140)
        at org.apache.solr.core.JmxMonitoredMap.put(JmxMonitoredMap.java:51)
        at 
org.apache.solr.core.SolrResourceLoader.inform(SolrResourceLoader.java:647)
        at org.apache.solr.core.SolrCore.<init>(SolrCore.java:855)
        at org.apache.solr.core.SolrCore.<init>(SolrCore.java:634)
        at org.apache.solr.core.ZkContainer.createFromZk(ZkContainer.java:270)
        at org.apache.solr.core.CoreContainer.create(CoreContainer.java:678)
        at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:387)
        at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:379)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)

"searcherExecutor-5-thread-1" prio=10 tid=0x00007fd098138800 nid=0x599a in 
Object.wait() [0x00007fd073ffb000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000000d0772c60> (a java.lang.Object)
        at java.lang.Object.wait(Object.java:485)
        at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1596)
        - locked <0x00000000d0772c60> (a java.lang.Object)
        at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1405)
        at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1340)
        at 
org.apache.solr.request.SolrQueryRequestBase.getSearcher(SolrQueryRequestBase.java:96)
        at 
org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:237)
        at 
org.apache.solr.spelling.SpellCheckCollator.collate(SpellCheckCollator.java:146)
        at 
org.apache.solr.handler.component.SpellCheckComponent.addCollationsToResponse(SpellCheckComponent.java:229)
        at 
org.apache.solr.handler.component.SpellCheckComponent.process(SpellCheckComponent.java:196)
        at 
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:208)
        at 
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
        at org.apache.solr.core.SolrCore.execute(SolrCore.java:1909)
        at 
org.apache.solr.core.QuerySenderListener.newSearcher(QuerySenderListener.java:64)
        at org.apache.solr.core.SolrCore$5.call(SolrCore.java:1698)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)

> Possible deadlock on startup if using warming queries and certain components 
> and jmx.
> -------------------------------------------------------------------------------------
>
>                 Key: SOLR-5592
>                 URL: https://issues.apache.org/jira/browse/SOLR-5592
>             Project: Solr
>          Issue Type: Bug
>            Reporter: Mark Miller
>            Assignee: Mark Miller
>             Fix For: 5.0, 4.7, 4.6.1
>
>
> Seeing the case with a spellcheck component.
> We attempt to register JMX properties after we open the first searcher in 
> core init, but we can still have a race for the first searcher open because 
> first we call getSearcher and it can trigger concurrent warming queries that 
> can trigger components that call getSearcher.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

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

Reply via email to