Hi all,

I have a 4.0 Solr (sharded/cored) index.
I upgraded Solr to 4.2.1 and tried to load the existing index with it. I got 
the following exception:

May 21, 2013 12:03:42 PM org.apache.solr.common.SolrException log
SEVERE: null:org.apache.solr.common.SolrException: Unable to create core: 
other_2013-05-04
                at 
org.apache.solr.core.CoreContainer.recordAndThrow(CoreContainer.java:1672)
                at 
org.apache.solr.core.CoreContainer.create(CoreContainer.java:1057)
                at 
org.apache.solr.core.CoreContainer$3.call(CoreContainer.java:634)
                at 
org.apache.solr.core.CoreContainer$3.call(CoreContainer.java:629)
                at 
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:345)
                at java.util.concurrent.FutureTask.run(FutureTask.java:177)
                at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:482)
                at 
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:345)
                at java.util.concurrent.FutureTask.run(FutureTask.java:177)
                at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1121)
                at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
                at java.lang.Thread.run(Thread.java:779)
Caused by: org.apache.solr.common.SolrException: Error opening new searcher
                at org.apache.solr.core.SolrCore.<init>(SolrCore.java:822)
                at org.apache.solr.core.SolrCore.<init>(SolrCore.java:618)
                at 
org.apache.solr.core.CoreContainer.createFromLocal(CoreContainer.java:1021)
                at 
org.apache.solr.core.CoreContainer.create(CoreContainer.java:1051)
                ... 10 more
Caused by: org.apache.solr.common.SolrException: Error opening new searcher
                at 
org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:1435)
                at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1547)
                at org.apache.solr.core.SolrCore.<init>(SolrCore.java:797)
                ... 13 more
Caused by: org.apache.solr.common.SolrException: Error opening Reader
                at 
org.apache.solr.search.SolrIndexSearcher.getReader(SolrIndexSearcher.java:172)
                at 
org.apache.solr.search.SolrIndexSearcher.<init>(SolrIndexSearcher.java:183)
                at 
org.apache.solr.search.SolrIndexSearcher.<init>(SolrIndexSearcher.java:179)
                at 
org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:1411)
                ... 15 more
Caused by: org.apache.lucene.index.CorruptIndexException: codec mismatch: 
actual codec=Lucene40StoredFieldsIndex vs expected 
codec=Lucene41StoredFieldsIndex (resource: 
MMapIndexInput(path="/var/solr/multicore_solr/other_2013-05-04/data/index/_3gfk.fdx"))
                at 
org.apache.lucene.codecs.CodecUtil.checkHeaderNoMagic(CodecUtil.java:140)
                at 
org.apache.lucene.codecs.CodecUtil.checkHeader(CodecUtil.java:130)
                at 
org.apache.lucene.codecs.compressing.CompressingStoredFieldsReader.<init>(CompressingStoredFieldsReader.java:102)
                at 
org.apache.lucene.codecs.compressing.CompressingStoredFieldsFormat.fieldsReader(CompressingStoredFieldsFormat.java:113)
                at 
org.apache.lucene.index.SegmentCoreReaders.<init>(SegmentCoreReaders.java:147)
                at 
org.apache.lucene.index.SegmentReader.<init>(SegmentReader.java:56)
                at 
org.apache.lucene.index.StandardDirectoryReader$1.doBody(StandardDirectoryReader.java:62)
                at 
org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:783)
                at 
org.apache.lucene.index.StandardDirectoryReader.open(StandardDirectoryReader.java:52)
                at 
org.apache.lucene.index.DirectoryReader.open(DirectoryReader.java:88)
                at 
org.apache.solr.core.StandardIndexReaderFactory.newReader(StandardIndexReaderFactory.java:34)
                at 
org.apache.solr.search.SolrIndexSearcher.getReader(SolrIndexSearcher.java:169)
                ... 18 more

It seems the problem is with my stored fields. This is the configuration of all 
sored fields:
<field name="id" type="uuid" indexed="true" stored="true" required="true" 
multiValued="false" />
<field name="marker" type="string" indexed="false" stored="true"/>
Field "id" is my unique key.

So, I looked for a way to upgrade the version of the index.

I tried Lucene's  IndexUpgrader as described here: 
http://lucene.apache.org/core/4_2_1/core/org/apache/lucene/index/IndexUpgrader.html
I issued this command: java -cp lucene-core-4.2.1.jar 
org.apache.lucene.index.IndexUpgrader -verbose ./other_2013-05-04/data/index
I got similar exception:

Exception in thread "main" java.io.IOException: background merge hit exception: 
_3ea8(5.0):C170283/17098 _3g2k(5.0):C18785/1858 _3gfe(5.0):C1858/10 
_3gfj(5.0):C3 _3gfg(5.0):C3 _3gfi(5.0):C2 _3gfh(5.0):C1 _3gff(5.0):C1 
_3gfk(5.0):C1 into _3gfm [maxNumSegments=1]
        at org.apache.lucene.index.IndexWriter.forceMerge(IndexWriter.java:1674)
        at org.apache.lucene.index.IndexWriter.forceMerge(IndexWriter.java:1610)
        at org.apache.lucene.index.IndexUpgrader.upgrade(IndexUpgrader.java:161)
        at org.apache.lucene.index.IndexUpgrader.main(IndexUpgrader.java:109)
Caused by: org.apache.lucene.index.CorruptIndexException: codec mismatch: 
actual codec=Lucene40StoredFieldsIndex vs expected 
codec=Lucene41StoredFieldsIndex (resource: 
MMapIndexInput(path="/var/solr/multicore_solr/other_2013-05-04/data/index/_3ea8.fdx"))
        at 
org.apache.lucene.codecs.CodecUtil.checkHeaderNoMagic(CodecUtil.java:140)
        at org.apache.lucene.codecs.CodecUtil.checkHeader(CodecUtil.java:130)
        at 
org.apache.lucene.codecs.compressing.CompressingStoredFieldsReader.<init>(CompressingStoredFieldsReader.java:102)
        at 
org.apache.lucene.codecs.compressing.CompressingStoredFieldsFormat.fieldsReader(CompressingStoredFieldsFormat.java:113)
        at 
org.apache.lucene.index.SegmentCoreReaders.<init>(SegmentCoreReaders.java:147)
        at org.apache.lucene.index.SegmentReader.<init>(SegmentReader.java:56)
        at 
org.apache.lucene.index.ReadersAndLiveDocs.getMergeReader(ReadersAndLiveDocs.java:153)
        at 
org.apache.lucene.index.IndexWriter.mergeMiddle(IndexWriter.java:3630)
        at org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:3296)
        at 
org.apache.lucene.index.ConcurrentMergeScheduler.doMerge(ConcurrentMergeScheduler.java:401)
        at 
org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:478)

Am I doing something wrong? Am I missing something?
Is there a way to configure the stored fields to use Lucene40 index in Solr 
4.2.1 as well? If so, upgrade may be unnecessary.

Thanks.

Reply via email to