[ http://issues.apache.org/jira/browse/LUCENE-561?page=comments#action_12416738 ]
Christian Kohlschuetter commented on LUCENE-561: ------------------------------------------------ Chuck: Unfortunately, the NPE in seek/next can still be triggered. See [#LUCENE-398] for Testcase and a suggested patch. > ParallelReader fails on deletes and on seeks of previously unused fields > ------------------------------------------------------------------------ > > Key: LUCENE-561 > URL: http://issues.apache.org/jira/browse/LUCENE-561 > Project: Lucene - Java > Type: Bug > Components: Index > Versions: 2.0.0 > Environment: All > Reporter: Chuck Williams > Assignee: Yonik Seeley > Fix For: 2.0.0 > Attachments: ParallelReaderBugs.patch, ParallelReaderBugs.patch > > In using ParallelReader I've hit two bugs: > 1. ParallelReader.doDelete() and doUndeleteAll() call doDelete() and > doUndeleteAll() on the subreaders, but these methods do not set hasChanges. > Thus the changes are lost when the readers are closed. The fix is to call > deleteDocument() and undeleteAll() on the subreaders instead. > 2. ParallelReader discovers the fields in each subindex by using > IndexReader.getFieldNames() which only finds fields that have occurred on at > least one document. In general a parallel index is designed with assignments > of fields to sub-indexes and term seeks (including searches) may be done on > any of those fields, even if no documents in a particular state of the index > have yet had an assigned field. Seeks/searches on fields that have not yet > been indexed generated an NPE in ParallelReader's various inner class seek() > and next() methods because fieldToReader.get() returns null on the unseen > field. The fix is to extend the add() methods to supply the correct list of > fields for each subindex. > Patch that corrects both of these issues attached. -- 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]