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);
   }
 
 

Reply via email to