Hi,
I feel like I'm mostly lurking in a highly unproductive way; time to
change that!
I would like to spend more time with the code, but do not know where to
start and what to focus on. I'm proficient in C# and everything related,
but the inner workings of the lucene core is shrouded in mystery. I
guess that places me in the contrib/analyzers/documentation area.
So, since I'm in need of some guidance;
1) What should I focus on?
2) Should I fork Itamar's bransch and send pull-requests to it?
// Simon
On 08/08/14 05:34, Itamar Syn-Hershko wrote:
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 <http://code972.com/> | @synhershko
<https://twitter.com/synhershko>
Freelance Developer & Consultant
Author of RavenDB in Action <http://manning.com/synhershko/>