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: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org
|