lucenenet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hongwei Shen" <hs...@geosign.com>
Subject RE: Serialization exception for distributed Lucene index
Date Wed, 12 Sep 2007 21:28:57 GMT
No, the configuration problem is ruled out. As I said, the first method
that without Sort parameter works fine. The difference between the two
methods are that the return types are different.

I suspect that something wrong with the SortField or TopFieldDocs. It is
like some type is not consistent in serialization and de-serilization, a
good example is IComaprable type, it maybe float or integer or any type
that implemented IComparable.

Thanks for the quick response although.  

-----Original Message-----
From: DIGY [mailto:digydigy@gmail.com] 
Sent: 2007-09-12 17:18
To: lucene-net-dev@incubator.apache.org
Subject: RE: Serialization exception for distributed Lucene index 

Hi,

Do you use custom sinks(encryption, compression etc.) or
callbacks(events)?
This type of exceptions often stem from misconfigured remoting
applications.

DIGY 


-----Original Message-----
From: Hongwei Shen [mailto:hshen@geosign.com] 
Sent: Wednesday, September 12, 2007 11:49 PM
To: lucene-net-dev@incubator.apache.org
Subject: Serialization exception for distributed Lucene index 

We are using distributed Lucene.net and we have Master Index Server
which takes responsibility of distributing the index searching to
multiple Index Servers by calling the remote method Search(...) of the
Index Server. It is when the Master Server de-serializing the response
message from the Index Server, we got the following
SerializationException. 

 

The Search method is overloaded:

 

TopDocs docs = searchable.Search(weight, filter, nDocs);

TopFieldDocs fDocs = searchable.Search(weight, filter, nDocs, sort);

 

TopDocs is the parent class of TopFieldDocs. The difference is that the
second method takes an extra parameters of type Sort and returns the
child type TopFieldDocs of TopDocs. The first method works properly.
Tracing shows that result on the IndexServer is properly generated for
the second method.

 

Any one knows the issue or how to debug the issue? 

 

System.Runtime.Serialization.SerializationException: Binary stream '99'
does not contain a valid BinaryHeader. Possible causes are invalid
stream or object version change between serialization and
deserialization.

 

Server stack trace: 

   at
System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run()

   at
System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(
HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean
isCrossAppDomain, IMethodCallMessage methodCallMessage)

   at
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deseriali
ze(Stream serializationStream, HeaderHandler handler, Boolean fCheck,
Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)

   at
System.Runtime.Remoting.Channels.CoreChannel.DeserializeBinaryResponseMe
ssage(Stream inputStream, IMethodCallMessage reqMsg, Boolean
bStrictBinding)

   at
System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMe
ssage(IMessage msg)

 

Exception rethrown at [0]: 

   at
System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage
reqMsg, IMessage retMsg)

   at
System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&
msgData, Int32 type)

   at Lucene.Net.Search.Searchable.Search(Weight weight, Filter filter,
Int32 n, Sort sort)

   at Lucene.Net.Search.MultiSearcherThread.Run() in
C:\Dev\TrueLocal\TrueLocal.Lucene.Net-2.0.0\Search\ParallelMultiSearcher
.cs:line 278

 

 



Mime
View raw message