[ https://issues.apache.org/jira/browse/SOLR-5971?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15018192#comment-15018192 ]
Ishan Chattopadhyaya edited comment on SOLR-5971 at 11/20/15 4:00 PM: ---------------------------------------------------------------------- I couldn't think of the right place to put this. "RequestUtil" sounded the least wrong place to put this in (but the json part seemed bad). I was also thinking of ClientUtils (which is in a solrj package), because there is a very functionally similar method there by the same name already. Maybe I should've kept it in HttpSolrCall itself. I'll raise a patch to put this in HttpSolrCall. Does it sound fine? was (Author: ichattopadhyaya): I couldn't think of the right place to put this. "RequestUtil" sounded the least wrong place to put this in (but the json part seemed bad). I was also thinking of ClientUtils (which is in a solrj package), because there is an very functionally similar method there by the same name already. Maybe I should've kept it in HttpSolrCall itself. I'll raise a patch to put this in HttpSolrCall. Does it sound fine? > 'Illegal character in query' when proxying request > -------------------------------------------------- > > Key: SOLR-5971 > URL: https://issues.apache.org/jira/browse/SOLR-5971 > Project: Solr > Issue Type: Bug > Components: SolrCloud > Affects Versions: 4.7.1 > Environment: Debian Wheezy, Java(TM) SE Runtime Environment (build > 1.6.0_26-b03) > Reporter: Eric Bus > Priority: Blocker > Labels: characters, exception, invalid, proxy, query, solrcloud > Fix For: 5.5, 6.0 > > Attachments: SOLR-5971.patch, SOLR-5971.patch, SOLR-5971.patch, > SOLR-5971.patch > > > My cluster contains 3 Solr instances. I have a collection consisting of one > shard with 2 replica's. So one node in the cluster does not have a replicate > of the shard. > The following query works when I query one of the two replica nodes: > http://X.X.X.X:8080/solr/collection/select/?facet=true&facet.field={!ex%3Dfilters,filter1340+key%3Dfacet1340Values}string_months_month&facet=true&q=*:* > But when I query the node without the replica, I get; > {msg=Illegal character in query at index 78: > http://X.X.X.X:8080/solr/collection/select/?facet=true&facet.field={!ex%3Dfilters,filter1340+key%3Dfacet1340Values}string_months_month&facet=true&q=*:*,trace=java.lang.IllegalArgumentException > at java.net.URI.create(URI.java:842) > at org.apache.http.client.methods.HttpGet.<init>(HttpGet.java:69) > at > org.apache.solr.servlet.SolrDispatchFilter.remoteQuery(SolrDispatchFilter.java:527) > at > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:340) > at > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:217) > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419) > at > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455) > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) > at > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557) > at > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) > at > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075) > at > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384) > at > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) > at > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009) > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) > at > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255) > at > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154) > at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) > at org.eclipse.jetty.server.Server.handle(Server.java:368) > at > org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) > at > org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53) > at > org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:942) > at > org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1004) > at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640) > at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) > at > org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72) > at > org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264) > at > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) > at > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) > at java.lang.Thread.run(Thread.java:662) > Without the facet.field attribute, it works fine on all the nodes. > Is this some kind of double escaping when proxying the request? -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org