Erik,

The scenario 1, that you have listed is what seems to be the case.

When I add distrib=false to query each one of the 6 servers only 1 of them
returns results (partial) and the rest of them give the illegal character
error .

I have not set up any special logging I do not see any info in the
catalina.out but in a file called localhost_access_log.2014-12-24.txt in
tomcat/logs directory, I see the following logging message when the invalid
character error occurs.

[24/Dec/2014:09:25:54 +0000] "GET
/solr/dyCollection1_shard2_replica1/xxxxxxxx?fl=*,score&q=canon+pixma+printer&sort=score+desc,productNameLength%20asc&wt=json&indent=true&rows=100&defType=edismax&qf=productName&mm=2&pf=productName&ps=1&pf2=productName&pf3=productName&stopwords=true&lowercaseOperators=true&bq=hasThumbnailImage:true^2.0&distrib=false
HTTP/1.1" 500 7781

I am using Tomcat 7.0.42 and SolrCloud 4.10.1 and the Oracle JDK .

java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)

Thanks.

On Tue, Dec 23, 2014 at 11:46 AM, Erick Erickson <erickerick...@gmail.com>
wrote:

> Hmmm, so you are you pinging the servers directly, right?
> Here's a couple of things to try:
> 1> add &distrib=false to the query and try each of the 6 servers.
> What I'm wondering is if this is happening on the sub-query sent
> out or on the primary server. Adding &distrib=false will just execute
> on the node you're sending it to, and will NOT send sub-queries out
> to any other node so you'll get partial results back.
>
> If one server continues to work but the other 5 fail, then your servlet
> container is probably not set up with the right character sets. Although
> why that would manifest itself on the ^ character mystifies me.
>
> 2> Let's assume that all 6 servers handle the raw query. Next thing that
> would be really helpful is to see the sub-queries. Take &distrib=false
> off and tail the logs on all the servers. What we're looking for here is
> whether the sub-queries even make it to Solr or whether the problem
> is in your container.
>
> 3> If the sub-queries do NOT make it to the Solr logs, what is the query
> that the container sees? Is it recognizable or has Solr somehow munged
> the sub-query?
>
> What is your environment like? Tomcat? Jetty? Other? What JVM
> etc?
>
> Best,
> Erick
>
> On Tue, Dec 23, 2014 at 3:23 AM, S.L <simpleliving...@gmail.com> wrote:
> > Hi All,
> >
> > I am using SolrCloud 4.10.1 and I have 3 shards with replication factor
> of
> > 2 , i.e is 6 nodes altogether.
> >
> > When I query the server1 out of 6 nodes in the cluster with the below
> query
> > , it works fine , but any other node in the cluster when queried with the
> > same query results in a *HTTP Status 500 - {msg=Illegal character in
> query
> > at index 181:*
> > error.
> >
> > The character at index 181 is the boost character ^. I have see a Jira
> > SOLR-5971 <https://issues.apache.org/jira/browse/SOLR-5971> for a
> similar
> > issue , how can I overcome this issue.
> >
> > The query I use is below. Thanks in Advance!
> >
> >
> http://xxxxxx2.xxxxxxxx.com:8081/solr/dyCollection1_shard2_replica1/xxxxxxxx?q=xxxxx+xxxxx+xxxxxx&sort=score+desc&wt=json&indent=true&debugQuery=true&defType=edismax&qf=productName
> >
> ^1.5+productDescription&mm=1&pf=productName+productDescription&ps=1&pf2=productName+productDescription&pf3=productName+productDescription&stopwords=true&lowercaseOperators=true
>

Reply via email to