Read past EOF caused in Lucene Directory when Lucene flushes but doesn't close the
segment
------------------------------------------------------------------------------------------
Key: ISPN-689
URL:
https://jira.jboss.org/browse/ISPN-689
Project: Infinispan
Issue Type: Bug
Components: Lucene Directory
Affects Versions: 4.2.0.ALPHA2, 4.1.0.Final
Reporter: Sanne Grinovero
Assignee: Sanne Grinovero
Fix For: 4.2.0.BETA1, 4.2.0.Final, 5.0.0.Final
While this is not the default access scenario performed by Lucene it's possible in
some branches to flush the segment and be able to read it before the close.
I could reproduce the following stacktrace in high load / huge sized index but not in a
unit test; disabling the batching started between .flush() and .close() seems to resolve
the issue; also this batch seems totally useless as I couldn't find any chance in
performance when disabling it.
java.io.IOException: Read past EOF: Chunk value could not be found for key
_ni.fdt|4|issues
at
org.infinispan.lucene.InfinispanIndexInput.setBufferToCurrentChunk(InfinispanIndexInput.java:138)
at org.infinispan.lucene.InfinispanIndexInput.nextChunk(InfinispanIndexInput.java:131)
at org.infinispan.lucene.InfinispanIndexInput.readBytes(InfinispanIndexInput.java:96)
at org.apache.lucene.store.IndexInput.readBytes(IndexInput.java:61)
at org.apache.lucene.index.CompoundFileWriter.copyFile(CompoundFileWriter.java:228)
at org.apache.lucene.index.CompoundFileWriter.close(CompoundFileWriter.java:184)
at org.apache.lucene.index.IndexWriter.flushDocStores(IndexWriter.java:2342)
at org.apache.lucene.index.IndexWriter.doFlushInternal(IndexWriter.java:4359)
at org.apache.lucene.index.IndexWriter.doFlush(IndexWriter.java:4264)
at org.apache.lucene.index.IndexWriter.flush(IndexWriter.java:4255)
at org.apache.lucene.index.IndexWriter.prepareCommit(IndexWriter.java:4133)
at org.apache.lucene.index.IndexWriter.commit(IndexWriter.java:4206)
at org.apache.lucene.index.IndexWriter.commit(IndexWriter.java:4179)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira