Its rather strange stacktrace(at the bottom).
An entire 10000+ dataset finishes up only to end up crashing & burning
due to a log statement :)
Based on what I can tell from the stacktrace and the 4.x trunk source
code, it seems that the follwoign log statement dies:
//LogUpdateProcessorFactory.java:188
log.info( ""+toLog + " 0 " + (elapsed) );
Eventually at the strict cast:
//NamedList.java:127
return (String)nvPairs.get(idx << 1);
I was wondering what kind of mistaken data would I have ended up
getting misplaced into:
//LogUpdateProcessorFactory.java:76
private final NamedList<Object> toLog;
To cause the java.util.ArrayList cannot be cast to java.lang.String issue?
Could it be due to the multivalued fields that I'm trying to index?
Is this a bug or just a mistake in how I use DIH, please let me know
your thoughts!
SEVERE: Full Import failed:java.lang.ClassCastException:
java.util.ArrayList cannot be cast to java.lang.String
at org.apache.solr.common.util.NamedList.getName(NamedList.java:127)
at org.apache.solr.common.util.NamedList.toString(NamedList.java:263)
at java.lang.String.valueOf(String.java:2826)
at java.lang.StringBuilder.append(StringBuilder.java:115)
at
org.apache.solr.update.processor.LogUpdateProcessor.finish(LogUpdateProcessorFactory.java:188)
at
org.apache.solr.handler.dataimport.SolrWriter.close(SolrWriter.java:57)
at
org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:265)
at
org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:372)
at
org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:440)
at
org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:421)