OK, then I don't think it's a Solr problem. I think 5 of your Tomcats are
configured in such a way that they consider ^ to be an illegal character.

There have been recurring problems with Servlet containers being
configured to allow/disallow various characters, and I think that's
what's happening here. But this is totally outside Solr.

Solr, when it successfully distributes a query, sends the query on to one
replica of each shard, and I was wondering if that process wasn't
working correctly somehow, although boosting is so common that it
would be a huge shock since it would have broken almost every
Tomcat installation out there. By sending the query directly to each
node, you've bypassed any forwarding by Solr so it looks like the
problem is before Solr even sees it.

So my guess is that somehow 5 of your servers are configured to
expect a different character than the server that works. I'm afraid
I don't know Tomcat well enough to direct you there, but take a
look here:
https://wiki.apache.org/solr/SolrTomcat

Sorry I can't be more help
Erick

On Wed, Dec 24, 2014 at 1:33 AM, S.L <simpleliving...@gmail.com> wrote:
> 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