hi Grégoire, I could not find an obvious problem . This is expected if the response is not written by BinaryResponseWriter . Could you apply the attached patch and see if you get the same error? . This patch is not a solution. It is just to diagnose the problem. --Noble
On Thu, May 29, 2008 at 3:39 AM, Grégoire Neuville <[EMAIL PROTECTED]> wrote: > Hi, > > I've tried several times to put solr distributed search capabilities at work > but failed each time : the ant building of solr-1.3's trunk doesn't bring > any errros, but after deploying the obtained war in tomcat and trying a > request on solr with the 'shards' parameter on, I keep on getting this cast > exception (see below). > > Did I miss something during the building ? Must I apply a patch on the trunk > version ? > > Thanks a lot for your answers. > -- > Grégoire > > *java.lang.ClassCastException: java.lang.String > org.apache.solr.common.SolrException: java.lang.ClassCastException: > java.lang.String at > org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:242) > at > org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:125) > at org.apache.solr.core.SolrCore.execute(SolrCore.java:965) at > org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:338) > at > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:272) > 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:175) > 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:263) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584) > at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) > at java.lang.Thread.run(Thread.java:595) Caused by: > java.lang.ClassCastException: java.lang.String at > org.apache.solr.common.util.NamedListCodec.unmarshal(NamedListCodec.java:86) > at > org.apache.solr.client.solrj.impl.BinaryResponseParser.processResponse(BinaryResponseParser.java:35) > at > org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:350) > at > org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:152) > at > org.apache.solr.handler.component.HttpCommComponent$1.call(SearchHandler.java:368) > at > org.apache.solr.handler.component.HttpCommComponent$1.call(SearchHandler.java:343) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) at > java.util.concurrent.FutureTask.run(FutureTask.java:123) at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) > ... 1 more* > -- --Noble Paul
Index: src/java/org/apache/solr/common/util/FastInputStream.java =================================================================== --- src/java/org/apache/solr/common/util/FastInputStream.java (revision 660433) +++ src/java/org/apache/solr/common/util/FastInputStream.java (working copy) @@ -208,4 +208,8 @@ public String readUTF() throws IOException { return new DataInputStream(this).readUTF(); } + + public String toString() { + return new String(buf); + } } Index: src/java/org/apache/solr/common/util/NamedListCodec.java =================================================================== --- src/java/org/apache/solr/common/util/NamedListCodec.java (revision 660433) +++ src/java/org/apache/solr/common/util/NamedListCodec.java (working copy) @@ -18,6 +18,7 @@ import org.apache.solr.common.SolrDocument; import org.apache.solr.common.SolrDocumentList; +import org.apache.solr.common.SolrException; import java.io.*; import java.util.*; @@ -83,7 +84,8 @@ public NamedList unmarshal(InputStream is) throws IOException { FastInputStream dis = FastInputStream.wrap(is); byte version = dis.readByte(); - return (NamedList)readVal(dis); + if(version != VERSION) throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "Invalid response : "+ dis); + return (NamedList)readVal(dis); }