lucenenet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Itamar Syn-Hershko <ita...@code972.com>
Subject Lucene.NET 4.8.0 status update
Date Fri, 08 Aug 2014 03:34:02 GMT
Hi all.

I've been working on the 4.8 branch to try and stabilize it so it can be
the base for our next release. There's still plenty to do, but I was able
to make decent progress.

This thread will be used for me to report progress and hopefully get some
more people involved.

My branch is here:
https://github.com/synhershko/lucene.net/tree/Lucene.Net_4.8.0

Out of about 2300 tests currently, there are about 600 failing tests and
the rest are green. At least 300 of the failing tests are due to missing
codecs (some codecs haven't been ported yet). The rest of the failures can
be largely categorized as below.

1. The missing codecs need to be ported (into a separate assembly). There
isn't too much of code to port and work is pretty much self contained.
However completing this will make about 300 tests green.
The code to port is here:
https://github.com/apache/lucene-solr/tree/lucene_solr_4_8_0/lucene/codecs/src/java/org/apache/lucene/codecs

2. Compressed fields implementation is largely broken. Quite a few test are
red and I'm pretty sure the fix is quite simple, just a faulty
implementation to quickly re-write.

3. Many, many tests are very slow or even deadlocking because of threading
issues. Culprits are both IndexWriter and FSDirectory. This is the most
severe and probably challenging issue to solve.
There are multiple failures which I believe relate to this issue. "Access
to the path is denied." on index files, failing Asserts etc.

4. The fsync implementation (in FSDirectory) needs some love and testing.

5. The rest of the failing tests are probably isolated porting issues (Java
/ C# differences or bugs introduced while porting). I attached a screenshot
of one such error, thrown using Debug.Assert from the core while running
some of the tests.

Other items to tackle later:

1. CLS compliance. Maybe the biggest item there is the byte/sbyte thing we
discussed several times before.

2. Porting the contribs.

3. Cleaning up the API and XML comments

4. Fixing the license header in all source files

5. CI pipeline and SlowTest attribute to have some tests run only on
nightly builds or similar

Anyone up for some coding?

--

Itamar Syn-Hershko
http://code972.com | @synhershko <https://twitter.com/synhershko>
Freelance Developer & Consultant
Author of RavenDB in Action <http://manning.com/synhershko/>

Mime
  • Unnamed multipart/mixed (inline, None, 0 bytes)
View raw message