[ https://issues.apache.org/jira/browse/SOLR-5386?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Chris M. Hostetter updated SOLR-5386: ------------------------------------- Attachment: SOLR-5386-1.patch Status: Reopened (was: Reopened) I audited all of the usages of {{LocalSolrQueryRequest}}... * several i switched to use the new {{subRequest}} helper * many are situations that don't have an "original" request (recovery or other background admin actions) or apply to "cross core" situations * in one case -- {{CollapsingQParserPlugin}} i _wanted_ to use {{subRequest}}, but the way the code is organized, the place that the {{LocalSolrQueryRequest}} is created doesn't have access to the original request -- but it does have access to the original {{SolrIndexSearcher}} * I also realized that the "make an anonymous subclass of {{LocalSolrQueryRequest}} using an explicitly known {{SolrIndexSearcher}}" pattern that exists in {{QuerySenderListener}} was copy pasted in {{SolrIndexSearcher}} So I: * added another (static) helper to {{SolrQueryRequest}} that can create a new {{SolrQueryRequest}} from an existing {{SolrIndexSearcher}} ** used this in {{CollapsingQParserPlugin}} as well * fleshed out all the (nocommit) javadocs I think this is good to go > firstSearcher warming can deadlock on queries that use LocalSolrQueryRequest > internally -- notably spellcheck.maxCollationTries > ------------------------------------------------------------------------------------------------------------------------------- > > Key: SOLR-5386 > URL: https://issues.apache.org/jira/browse/SOLR-5386 > Project: Solr > Issue Type: Bug > Components: spellchecker > Affects Versions: 4.5, 4.4 > Reporter: Jeroen Steggink > Assignee: Chris M. Hostetter > Priority: Major > Labels: collate, maxCollationTries, spellcheck > Attachments: SOLR-5386-1.patch, SOLR-5386.patch, > Solr5386SpellCheckerHangThreadDump.txt, threaddump.log > > > > Any Solr search related code that uses {{LocalSolrQueryRequest}} to create a > "sub request" (notably spellcheck with {{maxCollationTries}}) can cause > deadlock on core load if it is used in a {{firstSearcher}} warming query, > because {{LocalSolrQueryRequest}} (via inheritance from > {{SolrQueryRequestBase}} ) attempts to get the latest registered searcher > from the {{SolrCore}} -- but this will block until the {{firstSearcher}} is > registered, creating a deadlock loop. > {panel:title=Original Bug Report} > When spellcheck.maxCollationTries is set (>0) Solr hangs in combination with > that requestHandler set to default="true". > When I make another requestHandler default, one without the > maxCollationTries, all requestHandlers work just fine. > {panel} > -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org For additional commands, e-mail: issues-h...@solr.apache.org