You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Markus Jelsma (JIRA)" <ji...@apache.org> on 2013/01/08 13:36:12 UTC
[jira] [Created] (SOLR-4285) Solr mangles distributed query
parameters
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-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org