Greetings.
We are seeing index corruption on one of our index. The index is 30GB with 169 fields, created using Lucene 5.2.1 and lucene 5.0 codec, no deletes and is optimized. We see an " Invalid vLong detected (negative values disallowed)" while checking the field posting. However the checksum checks on the index are not failing. If there was some data corruption on the physical disk, wouldn't the checksum be different (one of the disk and one compute while reading)? Could there be any possibility of a bug in the BlockTreeTermsWriter while encoding/writing the block term information. Exception stack trace from CheckIndex tool, Exception in thread "main" java.lang.RuntimeException: Invalid vLong detected (negative values disallowed) at org.apache.lucene.store.ByteArrayDataInput.readVLong(ByteArrayDataInput.java:153) at org.apache.lucene.codecs.blocktree.SegmentTermsEnumFrame.decodeMetaData(SegmentTermsEnumFrame.java:464) at org.apache.lucene.codecs.blocktree.SegmentTermsEnum.docFreq(SegmentTermsEnum.java:983) at org.apache.lucene.index.CheckIndex.checkFields(CheckIndex.java:1269) at org.apache.lucene.index.CheckIndex.testPostings(CheckIndex.java:1716) Unfortunately I am not able to reproduce this on a smaller scale and have seen it couple of other times as well. Let me know if you need more data. Java version : java version - java version "1.7.0_04" Java(TM) SE Runtime Environment (build 1.7.0_04-b20) Java HotSpot(TM) 64-Bit Server VM (build 23.0-b21, mixed mode) Thanks, Kannan.