[
https://issues.apache.org/jira/browse/LUCENENET-100?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Digy updated LUCENENET-100:
---------------------------
Attachment: RemotingTest.rar
This sample is to demonstrate the bug in remoting of System.IComparable[] in
FieldDoc.cs
> Problem with remoting of IComparable[] in FieldDoc.cs
> -----------------------------------------------------
>
> Key: LUCENENET-100
> URL: https://issues.apache.org/jira/browse/LUCENENET-100
> Project: Lucene.Net
> Issue Type: Bug
> Reporter: Digy
> Priority: Minor
> Attachments: FieldDoc.patch, RemotingTest.rar
>
>
> Hi George,
> There are two problems related with remoting of IComparable[] in FieldDoc.cs
> 1- IComparable[] can not be remoted with BinaryFormatter.
> When trying,the follwing error occurs:
> "Binary stream '99' does not contain a valid BinaryHeader. Possible causes
> are invalid stream or object version change between serialization and
> deserialization."
> [See "Hongwei Shen" bug report in
> http://mail-archives.apache.org/mod_mbox/incubator-lucene-net-dev/200709.mbox/ajax/[EMAIL
> PROTECTED]
> ]
> Sample Code
> ============
> MemoryStream m = new MemoryStream();
> System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
> formatter = new
> System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
> IComparable[] arr = new IComparable[1];
> arr[0] = 123.45;
> formatter.Serialize(m, arr);
> m.Seek(0, SeekOrigin.Begin);
> IComparable[] arr2 = (IComparable[])formatter.Deserialize(m);
> Console.WriteLine(arr2[0].ToString() + " " +
> arr2[0].GetType().ToString());
> Console.ReadLine();
> 2-When it is remoted with SoapFormatter, all items in it are converted
> to string-type (like 123.45f -> "123.45") Therefore
> FieldDocSortedHitQueue.LessThan method fails with "specified cast is no
> valid" when evaluating SortField.SCORE, SortField.DOC, SortField.INT and
> SortField.FLOAT.(At least in my and Michael Garski's case (I know you don't
> get this error)
> http://mail-archives.apache.org/mod_mbox/incubator-lucene-net-dev/200709.mbox/ajax/[EMAIL
> PROTECTED])
> [See LUCENENET-86 and LUCENENET-94]
> Sample Code
> ============
> MemoryStream m = new MemoryStream();
> System.Runtime.Serialization.Formatters.Soap.SoapFormatter
> formatter = new System.Runtime.Serialization.Formatters.Soap.SoapFormatter();
> IComparable[] arr = new IComparable[1];
> arr[0] = 123.45;
> formatter.Serialize(m, arr);
> m.Seek(0, SeekOrigin.Begin);
> IComparable[] arr2 = (IComparable[])formatter.Deserialize(m);
> Console.WriteLine(arr2[0].ToString() + " " +
> arr2[0].GetType().ToString());
> Console.ReadLine();
> To Test this Patch I used TestSort in NUnite test where TestNormalizedScores
> and TestRemoteSort fail
> DIGY
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.