lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chuck Williams <>
Subject Re: Java 1.5 was [jira] Updated: (LUCENE-600) ParallelWriter companion to ParallelReader
Date Tue, 13 Jun 2006 18:38:50 GMT
I think the last discussion ended with the main counter-argument being
lack of support by gjc.  Current top of GJC News:

> *June 6, 2006* RMS approved the plan to use the Eclipse compiler as
> the new gcj front end. Work is being done on the |gcj-eclipse| branch;
> it can already build libgcj. This project will allow us to ship a 1.5
> compiler in the relatively near future. The old |gcjx| branch and
> project is now dead.

In addition to performance, productivity and functionality benefits, my
main argument for 1.5 is that it is used by the vast majority of lucene
community members.  Everything I write is in 1.5 and I don't have time
to backport.  I have a significant body of code from which to extract
and contribute patches that others would likely find useful.  How many
others are in a similar position?

On the side, not leaving valued community members behind is important.

I think the pmc / committers just need to make a decision which will
impact one group or the other.


Grant Ingersoll wrote on 06/13/2006 03:35 AM:
> Well, we have our first Java 1.5 patch...  Now that we have had a week
> or two to digest the comments, do we want to reopen the discussion?
> Chuck Williams (JIRA) wrote:
>>      [ ]
>> Chuck Williams updated LUCENE-600:
>> ----------------------------------
>>     Attachment: ParallelWriter.patch
>> Patch to create and integrate ParallelWriter, Writable and
>> TestParallelWriter -- also modifies build to use java 1.5.
>>> ParallelWriter companion to ParallelReader
>>> ------------------------------------------
>>>          Key: LUCENE-600
>>>          URL:
>>>      Project: Lucene - Java
>>>         Type: Improvement
>>>   Components: Index
>>>     Versions: 2.1
>>>     Reporter: Chuck Williams
>>>  Attachments: ParallelWriter.patch
>>> A new class ParallelWriter is provided that serves as a companion to
>>> ParallelReader.  ParallelWriter meets all of the doc-id
>>> synchronization requirements of ParallelReader, subject to:
>>>     1.  ParallelWriter.addDocument() is synchronized, which might
>>> have an adverse effect on performance.  The writes to the
>>> sub-indexes are, however, done in parallel.
>>>     2.  The application must ensure that the ParallelReader is never
>>> reopened inside ParallelWriter.addDocument(), else it might find the
>>> sub-indexes out of sync.
>>>     3.  The application must deal with recovery from
>>> ParallelWriter.addDocument() exceptions.  Recovery must restore the
>>> synchronization of doc-ids, e.g. by deleting any trailing
>>> document(s) in one sub-index that were not successfully added to all
>>> sub-indexes, and then optimizing all sub-indexes.
>>> A new interface, Writable, is provided to abstract IndexWriter and
>>> ParallelWriter.  This is in the same spirit as the existing
>>> Searchable and Fieldable classes.
>>> This implementation uses java 1.5.  The patch applies against
>>> today's svn head.  All tests pass, including the new
>>> TestParallelWriter.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message