[ 
https://issues.apache.org/jira/browse/LUCENE-1262?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Trejkaz updated LUCENE-1262:
----------------------------

    Affects Version/s:     (was: 2.2)
                       2.1

Okay I'll eat my words now, it is indeed 2.1 as the version doesn't have 
openInput(String,int) in it.

Anyway an update: I've managed to reproduce it on any text index by simulating 
random network outage.  I'm keeping a flag which I set to true.  The trick is 
that the wrapping IndexInput implementation *randomly* throws IOException if 
the flag is true -- if it always throws IOException the problem doesn't occur.  
If it randomly throws it then it occurs occasionally, and it always seems to be 
for larger queries (I'm using MatchAllDocsQuery now.)

I'll see if I can tweak the code to make it more likely to happen and then 
start working up to each version of Lucene to see if it stops happening 
somewhere.


> NullPointerException from FieldsReader after problem reading the index
> ----------------------------------------------------------------------
>
>                 Key: LUCENE-1262
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1262
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Index
>    Affects Versions: 2.1
>            Reporter: Trejkaz
>
> There is a situation where there is an IOException reading from Hits, and 
> then the next time you get a NullPointerException instead of an IOException.
> Example stack traces:
> java.io.IOException: The specified network name is no longer available
>       at java.io.RandomAccessFile.readBytes(Native Method)
>       at java.io.RandomAccessFile.read(RandomAccessFile.java:322)
>       at 
> org.apache.lucene.store.FSIndexInput.readInternal(FSDirectory.java:536)
>       at 
> org.apache.lucene.store.BufferedIndexInput.readBytes(BufferedIndexInput.java:74)
>       at 
> org.apache.lucene.index.CompoundFileReader$CSIndexInput.readInternal(CompoundFileReader.java:220)
>       at 
> org.apache.lucene.store.BufferedIndexInput.refill(BufferedIndexInput.java:93)
>       at 
> org.apache.lucene.store.BufferedIndexInput.readByte(BufferedIndexInput.java:34)
>       at org.apache.lucene.store.IndexInput.readVInt(IndexInput.java:57)
>       at org.apache.lucene.index.FieldsReader.doc(FieldsReader.java:88)
>       at 
> org.apache.lucene.index.SegmentReader.document(SegmentReader.java:344)
>       at org.apache.lucene.index.IndexReader.document(IndexReader.java:368)
>       at org.apache.lucene.search.IndexSearcher.doc(IndexSearcher.java:84)
>       at org.apache.lucene.search.Hits.doc(Hits.java:104)
> That error is fine.  The problem is the next call to doc generates:
> java.lang.NullPointerException
>       at 
> org.apache.lucene.index.FieldsReader.getIndexType(FieldsReader.java:280)
>       at org.apache.lucene.index.FieldsReader.addField(FieldsReader.java:216)
>       at org.apache.lucene.index.FieldsReader.doc(FieldsReader.java:101)
>       at 
> org.apache.lucene.index.SegmentReader.document(SegmentReader.java:344)
>       at org.apache.lucene.index.IndexReader.document(IndexReader.java:368)
>       at org.apache.lucene.search.IndexSearcher.doc(IndexSearcher.java:84)
>       at org.apache.lucene.search.Hits.doc(Hits.java:104)
> Presumably FieldsReader is caching partially-initialised data somewhere.  I 
> would normally expect the exact same IOException to be thrown for subsequent 
> calls to the method.

-- 
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to