Markus Jelsma created SOLR-4285: ----------------------------------- Summary: 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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org