Indeed DirectDocValuesFormat had a back-compat break between 4.x and
5.x ... this is expected/allowed (it is an experimental format).

You should be able to do something like this to more forwards:

  * In 4.x, open a new IndexWriter, using the default Codec (which is
back-compat)

  * Use addIndexes to add in your indices that use DirectDocValuesFormat

  * Upgrade to 5.x

  * Open a new IndexWriter, with your Codec that uses DirectDocValuesFormat

  * Use addIndexes to add the index

Mike McCandless

http://blog.mikemccandless.com


On Tue, Jun 16, 2015 at 4:33 AM, Sven Teichmann <s.teichm...@s4ip.de> wrote:
> Today I tried to upgrade a Lucene 4.10 index to 5.2 using the IndexUpgrader.
> This throws the following exception:
>
> Exception in thread "Lucene Merge Thread #0"
> org.apache.lucene.index.MergePolicy$MergeException:
> org.apache.lucene.index.IndexFormatTooOldException: Format version is
> not supported (resource
> BufferedChecksumIndexInput(MMapIndexInput(path="/data/title_lu5_en_201506/vol2/_0_Direct_0.dvdm"))):
> 2 (needs to be between 3 and 3). This version of Lucene only supports
> indexes created with release 4.0 and later.
>         at
> org.apache.lucene.index.ConcurrentMergeScheduler.handleMergeException(ConcurrentMergeScheduler.java:673)
>         at
> org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:641)
> Caused by: org.apache.lucene.index.IndexFormatTooOldException: Format
> version is not supported (resource
> BufferedChecksumIndexInput(MMapIndexInput(path="/data/title_lu5_en_201506/vol2/_0_Direct_0.dvdm"))):
> 2 (needs to be between 3 and 3). This version of Lucene only supports
> indexes created with release 4.0 and later.
>         at
> org.apache.lucene.codecs.CodecUtil.checkHeaderNoMagic(CodecUtil.java:214)
>         at org.apache.lucene.codecs.CodecUtil.checkHeader(CodecUtil.java:199)
>         at 
> org.apache.lucene.codecs.CodecUtil.checkIndexHeader(CodecUtil.java:256)
>         at
> org.apache.lucene.codecs.memory.DirectDocValuesProducer.<init>(DirectDocValuesProducer.java:126)
>         at
> org.apache.lucene.codecs.memory.DirectDocValuesFormat.fieldsProducer(DirectDocValuesFormat.java:76)
>         at
> org.apache.lucene.codecs.perfield.PerFieldDocValuesFormat$FieldsReader.<init>(PerFieldDocValuesFormat.java:268)
>         at
> org.apache.lucene.codecs.perfield.PerFieldDocValuesFormat.fieldsProducer(PerFieldDocValuesFormat.java:358)
>         at
> org.apache.lucene.index.SegmentDocValues.newDocValuesProducer(SegmentDocValues.java:51)
>         at
> org.apache.lucene.index.SegmentDocValues.getDocValuesProducer(SegmentDocValues.java:67)
>         at
> org.apache.lucene.index.SegmentReader.initDocValuesProducer(SegmentReader.java:141)
>         at org.apache.lucene.index.SegmentReader.<init>(SegmentReader.java:81)
>         at
> org.apache.lucene.index.ReadersAndUpdates.getReader(ReadersAndUpdates.java:132)
>         at
> org.apache.lucene.index.ReadersAndUpdates.getReaderForMerge(ReadersAndUpdates.java:604)
>         at 
> org.apache.lucene.index.IndexWriter.mergeMiddle(IndexWriter.java:3893)
>         at org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:3543)
>         at
> org.apache.lucene.index.ConcurrentMergeScheduler.doMerge(ConcurrentMergeScheduler.java:581)
>         at
> org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:619)
>
>
> We use DirectDocValuesFormat for two fields and I think that this is the
> problem.
>
> Any ideas how to upgrade the index to 5.2 anyway?
>
> Thanks for your help!
>
> Sven
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
> For additional commands, e-mail: java-user-h...@lucene.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org

Reply via email to