ParallelWriter companion to ParallelReader
------------------------------------------

         Key: LUCENE-600
         URL: http://issues.apache.org/jira/browse/LUCENE-600
     Project: Lucene - Java
        Type: Improvement

  Components: Index  
    Versions: 2.1    
    Reporter: Chuck Williams


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.



-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to