Hello :)

We have a customer who's system keeps crashing at certain queries. 
At default we use Mmap directory for search as it usually gives us the 
best performance. 
Although the heap usage seemed normal, we asked them to switch to 
NIOFSDirectory to make sure it's not a memory issue... 
The system stopped crashing, but now they see the following errors occur 
in some of the searches: 

java.io.IOException: Input/output error
      sun.nio.ch.FileDispatcher.pread0(Native Method)
      sun.nio.ch.FileDispatcher.pread(FileDispatcher.java:43)
      sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:207)
      sun.nio.ch.IOUtil.read(IOUtil.java:183)
      sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:642)
 
org.apache.lucene.store.NIOFSDirectory$NIOFSIndexInput.readInternal(NIOFSDirectory.java:162)
 
org.apache.lucene.store.BufferedIndexInput.readBytes(BufferedIndexInput.java:156)
 
org.apache.lucene.index.CompoundFileReader$CSIndexInput.readInternal(CompoundFileReader.java:275)
 
org.apache.lucene.store.BufferedIndexInput.refill(BufferedIndexInput.java:270)
 
org.apache.lucene.store.BufferedIndexInput.readByte(BufferedIndexInput.java:40)
      org.apache.lucene.store.DataInput.readVInt(DataInput.java:107)
 
org.apache.lucene.store.BufferedIndexInput.readVInt(BufferedIndexInput.java:217)
 org.apache.lucene.index.SegmentTermDocs.next(SegmentTermDocs.java:121)
 
org.apache.lucene.index.SegmentTermPositions.next(SegmentTermPositions.java:103)
      org.apache.lucene.search.spans.TermSpans.next(TermSpans.java:49)

AND - 


java.io.IOException: Stale NFS file handle
      sun.nio.ch.FileDispatcher.pread0(Native Method)
      sun.nio.ch.FileDispatcher.pread(FileDispatcher.java:43)
      sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:207)
      sun.nio.ch.IOUtil.read(IOUtil.java:183)
      sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:642)
 
org.apache.lucene.store.NIOFSDirectory$NIOFSIndexInput.readInternal(NIOFSDirectory.java:162)
 
org.apache.lucene.store.BufferedIndexInput.readBytes(BufferedIndexInput.java:156)
 
org.apache.lucene.index.CompoundFileReader$CSIndexInput.readInternal(CompoundFileReader.java:275)
 
org.apache.lucene.store.BufferedIndexInput.refill(BufferedIndexInput.java:270)
 
org.apache.lucene.store.BufferedIndexInput.readByte(BufferedIndexInput.java:40)
      org.apache.lucene.store.DataInput.readVInt(DataInput.java:107)
 
org.apache.lucene.store.BufferedIndexInput.readVInt(BufferedIndexInput.java:217)
      org.apache.lucene.index.TermBuffer.read(TermBuffer.java:64)
 org.apache.lucene.index.SegmentTermEnum.next(SegmentTermEnum.java:133)
 org.apache.lucene.index.SegmentTermEnum.scanTo(SegmentTermEnum.java:174)
 org.apache.lucene.index.TermInfosReader.get(TermInfosReader.java:236)
 org.apache.lucene.index.TermInfosReader.terms(TermInfosReader.java:304)
      org.apache.lucene.index.SegmentReader.terms(SegmentReader.java:473)
 
org.apache.lucene.index.DirectoryReader$MultiTermEnum.<init>(DirectoryReader.java:1086)
 org.apache.lucene.index.DirectoryReader.terms(DirectoryReader.java:698)
 
org.apache.lucene.search.TermRangeTermEnum.<init>(TermRangeTermEnum.java:93)
 org.apache.lucene.search.TermRangeQuery.getEnum(TermRangeQuery.java:135)


The customer is running on Linux 64, OS version: 2.6.18-371.8.1.el5
I saw in different forums that this might have to do with the lock 
factory, but we are using SimpleFSLockFactory....
Currently they are running on lucene 3.6.0 but previously they were on 
lucene 3.0.2/ lucene 3.0.3, so the collections they are searching might 
have been created with an older version. 

We have asked them to run checkIndex to rule out corruption, but we 
haven't heard back yet. 

Any idea what might be wrong here, or how can we help them? 

Thanks in advance !
Shlomit 

Reply via email to