[
https://issues.apache.org/jira/browse/SOLR-4285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13553605#comment-13553605
]
Markus Jelsma commented on SOLR-4285:
-------------------------------------
I've found another curious case where function query is completely mangled:
{code}
2013-01-09 22:46:26,426 ERROR [solr.core.SolrCore] - [http-8080-exec-15] - :
java.lang.NumberFormatException: For input string: "1000/1000"
at
sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1222)
at java.lang.Float.parseFloat(Float.java:422)
at
org.apache.solr.search.FunctionQParser.parseFloat(FunctionQParser.java:133)
at
org.apache.solr.search.ValueSourceParser$9.parse(ValueSourceParser.java:156)
at
org.apache.solr.search.FunctionQParser.parseValueSource(FunctionQParser.java:354)
at org.apache.solr.search.FunctionQParser.parse(FunctionQParser.java:70)
at org.apache.solr.search.QParser.getQuery(QParser.java:143)
at
org.apache.solr.search.ExtendedDismaxQParser.parse(ExtendedDismaxQParserPlugin.java:415)
at org.apache.solr.search.QParser.getQuery(QParser.java:143)
at
org.apache.solr.handler.component.QueryComponent.prepare(QueryComponent.java:118)
at
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:185)
at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1750)
at
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:455)
at
io.openindex.solr.servlet.HttpResponseSolrDispatchFilter.doFilter(HttpResponseSolrDispatchFilter.java:220)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at
org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:889)
at
org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:744)
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2274)
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)
2013-01-09 22:46:26,430 INFO [solr.core.SolrCore] - [http-8080-exec-15] - :
[shard_b] webapp=/solr path=/select
params={facet=false&tie=0.35&spellcheck.q=test&spellcheck.q=test&q.alt=*:*&facet.method=enum&ssi=5b4fc43933c03c4f&ssi=5b4fc43933c03c4f&fl=md_*+title+id+type+subcollection+host+cat+date+size+lang+image&bq=type:"text/html"^4.0&NOW=1357771586406&hl.simple.post=</em>&facet.field={!ex%3Dtype}type&facet.field={!ex%3Dhost}host&facet.field={!ex%3Dcat}cat&facet.field={!ex%3Dlang}lang&hl.fragsize=192&spellcheck.extendedResults=true&f.host.facet.method=fc&hl.fl=content&json.nl=map&spellcheck.collate=true&wt=javabin&rows=10&defType=edismax&pf=content&hl.snippets=1&hl.maxAlternateFieldLength=192&facet.sort=count&hl.alternateField=content&boost=recip(ms(NOW/DAY,date),3.16e-7,1000/1000)&spellcheck=false&spellcheck.maxCollationTries=2&facet.limit=8&hl.simple.pre=<em>&distrib=false&hl=true&shards.tolerant=true&version=2&omitHeader=true&shard.url=idx2:8080/solr/shard_b/|idx3:8080/solr/shard_b/&spellcheck.count=1&qs=30&mm=2<-1+5<-2+6<90%25&facet.mincount=1&uf=-*&ids=http://www....html&qf=content^1.6+title^6.4+url^1.8+h1^4.8+h2^2.3&hl.useFastVectorHighlighter=true&q=test&q=test&isShard=true&ps=50}
status=500 QTime=5
2013-01-09 22:46:26,430 ERROR [solr.servlet.SolrDispatchFilter] -
[http-8080-exec-15] - : null:java.lang.NumberFormatException: For input string:
"1000/1000"
at
sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1222)
at java.lang.Float.parseFloat(Float.java:422)
at
org.apache.solr.search.FunctionQParser.parseFloat(FunctionQParser.java:133)
at
org.apache.solr.search.ValueSourceParser$9.parse(ValueSourceParser.java:156)
at
org.apache.solr.search.FunctionQParser.parseValueSource(FunctionQParser.java:354)
at org.apache.solr.search.FunctionQParser.parse(FunctionQParser.java:70)
at org.apache.solr.search.QParser.getQuery(QParser.java:143)
at
org.apache.solr.search.ExtendedDismaxQParser.parse(ExtendedDismaxQParserPlugin.java:415)
at org.apache.solr.search.QParser.getQuery(QParser.java:143)
at
org.apache.solr.handler.component.QueryComponent.prepare(QueryComponent.java:118)
at
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:185)
at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1750)
at
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:455)
at
io.openindex.solr.servlet.HttpResponseSolrDispatchFilter.doFilter(HttpResponseSolrDispatchFilter.java:220)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at
org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:889)
at
org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:744)
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2274)
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)
{code}
> Solr mangles distributed query parameters
> -----------------------------------------
>
> Key: SOLR-4285
> URL: https://issues.apache.org/jira/browse/SOLR-4285
> Project: Solr
> Issue Type: Bug
> Components: SolrCloud
> Affects Versions: 5.0
> Environment: trunk check outs between august 2012 and january 2013
> using Tomcat6 and Java6.
> Reporter: Markus Jelsma
> Priority: Critical
> Fix For: 5.0
>
>
> Using Siege to load test a cluster via a load balancer we sometimes see the
> forwarded query strings being mangled and causing an error. The problem
> mainly manifests in a function query parameter and the host__terms parameter.
> It doesn't seem to be an issue of concurrency because it also happens when
> load testing with a single thread.
> function query parameter causing an error:
> {code}
> 2012-12-12 11:11:45,527 ERROR [solr.core.SolrCore] - [http-8080-exec-16] - :
> org.apache.solr.common.SolrException: org.apache.solr.search.SyntaxError:
> Expected ',' at position 55 in
> 'if(exists(date),max(recip(ms(NOW/DAY,date),3.17e-8,143
> .9),.8),.7)'
> at
> org.apache.solr.handler.component.QueryComponent.prepare(QueryComponent.java:154)
> ...
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:662)
> Caused by: org.apache.solr.search.SyntaxError: Expected ',' at position 55 in
> 'if(exists(date),max(recip(ms(NOW/DAY,date),3.17e-8,143
> .9),.8),.7)'
> {code}
> The above error is somewhat older but for some reason the comma in the
> edismax boost parameter is replaced by a newline.
> host__terms parameter causing an error:
> {code}
> 2013-01-08 12:09:08,902 ERROR [handler.component.FacetComponent] -
> [http-8080-exec-13] - : Unexpected term returned for facet refining. key=host
> term='dafenwout.domain.ext^daisybel.domain.ext'
> request
> params=spellcheck=false&facet=true&sort=score+desc.....&facet.field=%7B%21terms%3D%24host__terms+ex%3Dhost%7Dhost&host__terms=....daanjobbe.domain.ext%2Cdaank.domain.ext%2Cdafenwout.domain.ext%2Cdaisybel.domain.ext%2Cdaniellehooijmans.domain.ext...koenleurs.domain.ext
> toRefine=[Ljava.util.List;@5b48447f
>
> response={....daanjobbe.domain.ext=0,daank.domain.ext=0,dafenwout.domain.ext^daisybel.domain.ext=0,daniellehooijmans.domain.ext=0...koenleurs.domain.ext=0}
> {code}
> I've shortened the above error significantly, it was about 20kB. It's the
> carret symbol causing the issue. For some reason the logged request does not
> contain the carret symbol.
> Both issues are very elusive and hard to reproduce but in our case will
> appear if we send queries long enough, 50k, 100k queries.
> Original thread:
> http://lucene.472066.n3.nabble.com/SolrCloud-breaks-distributed-query-strings-td4026314.html
--
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]