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