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 >