Hi Digy, and Doug

I have done a code review on the patches that were delivered to the trunk,
and I have some questions:

* DocumentsWriter.cs
- What is ReadToEnd()?  I don't see it being used from anywhere, and it
doesn't exists in the Java version of Lucene.  Lets remove it please.

* FSDirectory.cs
- The constructor FSIndexInput() and FSIndexOutput() have a loop which try
to create a Descriptor / BinaryWriter object.  This loop has a try / catch
and loops 10 times before it gives up.  There is no such logic in the Java
version of Lucene; why was this added to Lucene.Net?  Why 10 times but not
5, 2, 100?  This bothers me since it may be hiding a real port issue.  If
this loop is a must, due to the way .NET works, a comment is required to
explain the divergence.

* TestStressIndexing2.cs
- In IndexSerial(), there is a comment that reads "nonono - can't do this
..." and then the line fields.Sort(fieldNameComparator) is commented out,
why?  This is not the case for Java; in Java it's sorted by calling
Collections.sort(fields, fieldNameComparator).
- In VerifyEquals(), some new C# only code is added (for debugging?)  It's
best to avoid such extra code to help reduce delta(s) when working on new
port.

I don't know which patch introduced the above, still I consider them
divergence from the Java code and should be fixed.

Regards,

-- George

Reply via email to