We're having an issue when we add or change a field in the db-data-config.xml 
and schema.xml files in solr.  Basically whenever I add something new to index 
I add it to the database, then the data config, then add the field to the 
schema to index, reload the core, and do a full import.  This has worked fine 
until we upgraded to an iteration of 4.0 (we are currently on 4.0 alpha).  Now 
sometimes when we go through this process solr throws errors about the field 
not being found.  The only way to fix this is to restart tomcat and everything 
immediately starts working fine again.

The interesting thing is that this is only a problem if the database is 
returning a value for that field and only in the documents that have a value.  
The field shows up in the schema browser in solr, it just has no data in it.  
If I completely remove it from the database but leave it in the schema and 
dataconfig files there is no issue.  Also of note, this is happening on 2 
different machines.

Here's the trace

SEVERE: Exception while solr commit.
java.lang.IllegalArgumentException: no such field test
        at 
org.apache.solr.core.DefaultCodecFactory$1.getPostingsFormatForField(DefaultCodecFactory.java:49)
        at 
org.apache.lucene.codecs.lucene40.Lucene40Codec$1.getPostingsFormatForField(Lucene40Codec.java:52)
        at 
org.apache.lucene.codecs.perfield.PerFieldPostingsFormat$FieldsWriter.addField(PerFieldPostingsFormat.java:94)
        at 
org.apache.lucene.index.FreqProxTermsWriterPerField.flush(FreqProxTermsWriterPerField.java:335)
        at 
org.apache.lucene.index.FreqProxTermsWriter.flush(FreqProxTermsWriter.java:85)
        at org.apache.lucene.index.TermsHash.flush(TermsHash.java:117)
        at org.apache.lucene.index.DocInverter.flush(DocInverter.java:53)
        at 
org.apache.lucene.index.DocFieldProcessor.flush(DocFieldProcessor.java:82)
        at 
org.apache.lucene.index.DocumentsWriterPerThread.flush(DocumentsWriterPerThread.java:480)
        at 
org.apache.lucene.index.DocumentsWriter.doFlush(DocumentsWriter.java:422)
        at 
org.apache.lucene.index.DocumentsWriter.flushAllThreads(DocumentsWriter.java:554)
        at 
org.apache.lucene.index.IndexWriter.prepareCommit(IndexWriter.java:2547)
        at 
org.apache.lucene.index.IndexWriter.commitInternal(IndexWriter.java:2683)
        at org.apache.lucene.index.IndexWriter.commit(IndexWriter.java:2663)
        at 
org.apache.solr.update.DirectUpdateHandler2.commit(DirectUpdateHandler2.java:414)
        at 
org.apache.solr.update.processor.RunUpdateProcessor.processCommit(RunUpdateProcessorFactory.java:82)
        at 
org.apache.solr.update.processor.UpdateRequestProcessor.processCommit(UpdateRequestProcessor.java:64)
        at 
org.apache.solr.update.processor.DistributedUpdateProcessor.processCommit(DistributedUpdateProcessor.java:919)
        at 
org.apache.solr.update.processor.LogUpdateProcessor.processCommit(LogUpdateProcessorFactory.java:154)
        at 
org.apache.solr.handler.dataimport.SolrWriter.commit(SolrWriter.java:107)
        at 
org.apache.solr.handler.dataimport.DocBuilder.finish(DocBuilder.java:304)
        at 
org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:256)
        at 
org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:333)
        at 
org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:399)
        at 
org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:380)

Reply via email to