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: [email protected]
For additional commands, e-mail: [email protected]