lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christian Kohlschuetter (JIRA)" <j...@apache.org>
Subject [jira] Commented: (LUCENE-561) ParallelReader fails on deletes and on seeks of previously unused fields
Date Mon, 19 Jun 2006 10:38:30 GMT
    [ 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: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


Mime
View raw message