You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by vivek sar <vi...@gmail.com> on 2009/04/10 02:01:32 UTC
Question on Solr Distributed Search
Hi,
I've another thread on multi-core distributed search, but just
wanted to put a simple question here on distributed search to get some
response. I've a search query,
http://etsx19.co.com:8080/solr/20090409_9/select?q=usa -
returns with 10 result
now if I add "shards" parameter to it,
http://etsx19.co.com:8080/solr/20090409_9/select?shards=etsx19.co.com:8080/solr/20090409_9&q=usa
- this fails with
org.apache.solr.client.solrj.SolrServerException:
java.net.SocketException: Connection reset
org.apache.solr.common.SolrException:
org.apache.solr.client.solrj.SolrServerException:
java.net.SocketException: Connection reset at
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:282)
at
..
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:637)
Caused by: org.apache.solr.client.solrj.SolrServerException:
java.net.SocketException: Connection reset
at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:473)
at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:242)
at org.apache.solr.handler.component.HttpCommComponent$1.call(SearchHandler.java:422)
..
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:168)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78)
at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106)
at org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1116)
at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.readLine(MultiThreadedHttpConnectionManager.java:1413)
at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1973)
at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1735)
Attached is my solrconfig.xml. Do I need a special RequestHandler for
sharding? I haven't been able to make any distributed search
successfully. Any help is appreciated.
Note: I'm indexing using Solrj - not sure if that makes any difference
to the search part.
Thanks,
-vivek
Re: Question on Solr Distributed Search
Posted by vivek sar <vi...@gmail.com>.
yes - it's all new indexes. I can search them individually, but adding
"shards" throws "Connection Reset" error. Is there any way I can debug
this or any other pointers?
-vivek
On Fri, Apr 10, 2009 at 4:49 AM, Shalin Shekhar Mangar
<sh...@gmail.com> wrote:
> On Fri, Apr 10, 2009 at 7:50 AM, vivek sar <vi...@gmail.com> wrote:
>
>> Just an update. I changed the schema to store the unique id field, but
>> I still get the connection reset exception. I did notice that if there
>> is no data in the core then it returns the 0 result (no exception),
>> but if there is data and you search using "shards" parameter I get the
>> connection reset exception. Can anyone provide some tip on where can I
>> look for this problem?
>>
>>
> Did you re-index after changing the field to stored?
> --
> Regards,
> Shalin Shekhar Mangar.
>
Re: Question on Solr Distributed Search
Posted by Shalin Shekhar Mangar <sh...@gmail.com>.
On Fri, Apr 10, 2009 at 7:50 AM, vivek sar <vi...@gmail.com> wrote:
> Just an update. I changed the schema to store the unique id field, but
> I still get the connection reset exception. I did notice that if there
> is no data in the core then it returns the 0 result (no exception),
> but if there is data and you search using "shards" parameter I get the
> connection reset exception. Can anyone provide some tip on where can I
> look for this problem?
>
>
Did you re-index after changing the field to stored?
--
Regards,
Shalin Shekhar Mangar.
Re: Question on Solr Distributed Search
Posted by vivek sar <vi...@gmail.com>.
Just an update. I changed the schema to store the unique id field, but
I still get the connection reset exception. I did notice that if there
is no data in the core then it returns the 0 result (no exception),
but if there is data and you search using "shards" parameter I get the
connection reset exception. Can anyone provide some tip on where can I
look for this problem?
Apr 10, 2009 3:16:04 AM org.apache.solr.common.SolrException log
SEVERE: org.apache.solr.common.SolrException:
org.apache.solr.client.solrj.SolrServerException:
java.net.SocketException: Connection reset
at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:282)
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1333)
at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:303)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:232)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:637)
Caused by: org.apache.solr.client.solrj.SolrServerException:
java.net.SocketException: Connection reset
at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:473)
at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:242)
at org.apache.solr.handler.component.HttpCommComponent$1.call(SearchHandler.java:422)
at org.apache.solr.handler.component.HttpCommComponent$1.call(SearchHandler.java:395)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
... 1 more
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:168)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78)
at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106)
at org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1116)
at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.readLine(MultiThreadedHttpConnectionManager.java:1413)
at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1973)
at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1735)
at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1098)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
On Thu, Apr 9, 2009 at 6:51 PM, vivek sar <vi...@gmail.com> wrote:
> I think the reason behind the "connection reset" is. Looking at the
> code it points to QueryComponent.mergeIds()
>
> resultIds.put(shardDoc.id.toString(), shardDoc);
>
> looks like the doc unique id is returning null. I'm not sure how is it
> possible as its a required field. Right my unique id is not stored
> (only indexed) - does it has to be stored for distributed search?
>
> HTTP Status 500 - null java.lang.NullPointerException at
> org.apache.solr.handler.component.QueryComponent.mergeIds(QueryComponent.java:432)
> at org.apache.solr.handler.component.QueryComponent.handleResponses(QueryComponent.java:276)
> at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:290)
> at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
> at org.apache.solr.core.SolrCore.execute(SolrCore.java:1333) at
> org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:303)
> at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:232)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> at java.lang.Thread.run(Thread.java:637)
>
> On Thu, Apr 9, 2009 at 5:01 PM, vivek sar <vi...@gmail.com> wrote:
>> Hi,
>>
>> I've another thread on multi-core distributed search, but just
>> wanted to put a simple question here on distributed search to get some
>> response. I've a search query,
>>
>> http://etsx19.co.com:8080/solr/20090409_9/select?q=usa -
>> returns with 10 result
>>
>> now if I add "shards" parameter to it,
>>
>> http://etsx19.co.com:8080/solr/20090409_9/select?shards=etsx19.co.com:8080/solr/20090409_9&q=usa
>> - this fails with
>>
>> org.apache.solr.client.solrj.SolrServerException:
>> java.net.SocketException: Connection reset
>> org.apache.solr.common.SolrException:
>> org.apache.solr.client.solrj.SolrServerException:
>> java.net.SocketException: Connection reset at
>> org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:282)
>> at
>> ..
>> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
>> at java.lang.Thread.run(Thread.java:637)
>> Caused by: org.apache.solr.client.solrj.SolrServerException:
>> java.net.SocketException: Connection reset
>> at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:473)
>> at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:242)
>> at org.apache.solr.handler.component.HttpCommComponent$1.call(SearchHandler.java:422)
>> ..
>> Caused by: java.net.SocketException: Connection reset
>> at java.net.SocketInputStream.read(SocketInputStream.java:168)
>> at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
>> at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
>> at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78)
>> at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106)
>> at org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1116)
>> at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.readLine(MultiThreadedHttpConnectionManager.java:1413)
>> at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1973)
>> at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1735)
>>
>> Attached is my solrconfig.xml. Do I need a special RequestHandler for
>> sharding? I haven't been able to make any distributed search
>> successfully. Any help is appreciated.
>>
>> Note: I'm indexing using Solrj - not sure if that makes any difference
>> to the search part.
>>
>> Thanks,
>> -vivek
>>
>
Re: Question on Solr Distributed Search
Posted by vivek sar <vi...@gmail.com>.
I think the reason behind the "connection reset" is. Looking at the
code it points to QueryComponent.mergeIds()
resultIds.put(shardDoc.id.toString(), shardDoc);
looks like the doc unique id is returning null. I'm not sure how is it
possible as its a required field. Right my unique id is not stored
(only indexed) - does it has to be stored for distributed search?
HTTP Status 500 - null java.lang.NullPointerException at
org.apache.solr.handler.component.QueryComponent.mergeIds(QueryComponent.java:432)
at org.apache.solr.handler.component.QueryComponent.handleResponses(QueryComponent.java:276)
at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:290)
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1333) at
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:303)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:232)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:637)
On Thu, Apr 9, 2009 at 5:01 PM, vivek sar <vi...@gmail.com> wrote:
> Hi,
>
> I've another thread on multi-core distributed search, but just
> wanted to put a simple question here on distributed search to get some
> response. I've a search query,
>
> http://etsx19.co.com:8080/solr/20090409_9/select?q=usa -
> returns with 10 result
>
> now if I add "shards" parameter to it,
>
> http://etsx19.co.com:8080/solr/20090409_9/select?shards=etsx19.co.com:8080/solr/20090409_9&q=usa
> - this fails with
>
> org.apache.solr.client.solrj.SolrServerException:
> java.net.SocketException: Connection reset
> org.apache.solr.common.SolrException:
> org.apache.solr.client.solrj.SolrServerException:
> java.net.SocketException: Connection reset at
> org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:282)
> at
> ..
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> at java.lang.Thread.run(Thread.java:637)
> Caused by: org.apache.solr.client.solrj.SolrServerException:
> java.net.SocketException: Connection reset
> at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:473)
> at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:242)
> at org.apache.solr.handler.component.HttpCommComponent$1.call(SearchHandler.java:422)
> ..
> Caused by: java.net.SocketException: Connection reset
> at java.net.SocketInputStream.read(SocketInputStream.java:168)
> at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
> at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
> at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78)
> at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106)
> at org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1116)
> at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.readLine(MultiThreadedHttpConnectionManager.java:1413)
> at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1973)
> at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1735)
>
> Attached is my solrconfig.xml. Do I need a special RequestHandler for
> sharding? I haven't been able to make any distributed search
> successfully. Any help is appreciated.
>
> Note: I'm indexing using Solrj - not sure if that makes any difference
> to the search part.
>
> Thanks,
> -vivek
>