lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jason Rutherglen (JIRA)" <j...@apache.org>
Subject [jira] Commented: (LUCENE-1312) InstantiatedIndexReader does not implement getFieldNames properly
Date Wed, 25 Jun 2008 01:30:45 GMT

    [ https://issues.apache.org/jira/browse/LUCENE-1312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12607833#action_12607833
] 

Jason Rutherglen commented on LUCENE-1312:
------------------------------------------

In order to simulate a different IndexReader per update using InstantiatedIndexReader  I wrote
the following code.  There must be some flaws in it as it keeps on causing errors in SegmentMerger.
 I am overriding deleted docs and max doc.  Also the latest error, which I am sure is probably
somehow fixable.

{code}
public class OceanInstantiatedIndexReader extends InstantiatedIndexReader {
  private int maxDoc;
  private Set<Integer> deletedDocs;
  
  public OceanInstantiatedIndexReader(int maxDoc, InstantiatedIndex index, Set<Integer>
deletedDocs) {
    super(index);
    this.maxDoc = maxDoc;
    this.deletedDocs = deletedDocs;
  }
  
  public int maxDoc() {
    return maxDoc;
  }
  
  public int numDocs() {
    return maxDoc() - deletedDocs.size();
  }
  
  public boolean isDeleted(int n) {
    if (n >= maxDoc) return true;
    if (deletedDocs != null && deletedDocs.contains(n)) return true;
    return false;
  }
  
  public boolean hasDeletions() {
    return true;
  }
}
{code}

{noformat}
java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at org.apache.lucene.store.instantiated.InstantiatedIndexReader.norms(InstantiatedIndexReader.java:276)
at org.apache.lucene.index.SegmentMerger.mergeNorms(SegmentMerger.java:693)
at org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:136)
at org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:111)
at org.apache.lucene.index.IndexWriter.addIndexes(IndexWriter.java:3045)
{noformat}

> InstantiatedIndexReader does not implement getFieldNames properly
> -----------------------------------------------------------------
>
>                 Key: LUCENE-1312
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1312
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: contrib/*
>            Reporter: Jason Rutherglen
>            Assignee: Karl Wettin
>         Attachments: lucene-1312.patch, lucene-1312.patch, lucene-1312.patch, lucene-1312.patch,
lucene-1312.patch
>
>
> Causes error in org.apache.lucene.index.SegmentMerger.mergeFields

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
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