On Fri, Oct 3, 2014 at 2:24 PM, Shawn Heisey <apa...@elyograg.org> wrote: > Can you give us the entire stacktrace, with complete details from any > "caused by" sections? Also, is this 4.8.0 or 4.8.1? >
Thanks Shawn, this is SOLR 4.8.1 and here is the full traceback from the log: 95191 [Thread-21] INFO org.apache.solr.update.processor.LogUpdateProcessor – [products] webapp=/products path=/dataimport-from-denorm params={id=2148732&optimize=false&clean=false&indent=true&commit=true&verbose=false&command=full-import&debug=false&wt=json} status=0 QTime=32 {} 0 32 95199 [Thread-21] ERROR org.apache.solr.handler.dataimport.DataImporter – Full Import failed:java.lang.RuntimeException: java.lang.RuntimeException: org.apache.solr.handler.dataimport.DataImportHandlerException: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:278) at org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:411) at org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:483) at org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:464) Caused by: java.lang.RuntimeException: org.apache.solr.handler.dataimport.DataImportHandlerException: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:418) at org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:331) at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:239) ... 3 more Caused by: org.apache.solr.handler.dataimport.DataImportHandlerException: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long at org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow(DataImportHandlerException.java:63) at org.apache.solr.handler.dataimport.EntityProcessorWrapper.nextRow(EntityProcessorWrapper.java:246) at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:477) at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:503) at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:503) at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:503) at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:416) ... 5 more Caused by: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long at java.lang.Long.compareTo(Long.java:50) at java.util.TreeMap.getEntry(TreeMap.java:346) at java.util.TreeMap.get(TreeMap.java:273) at org.apache.solr.handler.dataimport.SortedMapBackedCache.iterator(SortedMapBackedCache.java:147) at org.apache.solr.handler.dataimport.DIHCacheSupport.getIdCacheData(DIHCacheSupport.java:179) at org.apache.solr.handler.dataimport.DIHCacheSupport.getCacheData(DIHCacheSupport.java:145) at org.apache.solr.handler.dataimport.EntityProcessorBase.getNext(EntityProcessorBase.java:129) at org.apache.solr.handler.dataimport.SqlEntityProcessor.nextRow(SqlEntityProcessor.java:75) at org.apache.solr.handler.dataimport.EntityProcessorWrapper.nextRow(EntityProcessorWrapper.java:243) ... 10 more 95199 [Thread-21] INFO org.apache.solr.update.UpdateHandler – start rollback{} I've tracked it down to a single entity now that selects some content out of the database and then looks up other fields using that data from sub-entities that have SortedMapBackedCache caching in use, but I'm still not sure how to fix it. Eg, the original entity selects out "country_id", which is then used by this entity: <entity dataSource="products" name="country_lookup" query=" SELECT lk_country.id AS xid, IF(LENGTH(english), CAST(english AS CHAR), description) AS country FROM lk_country INNER JOIN nl_strings ON lk_country.description_sid=nl_strings.id" cacheKey="xid" cacheLookup="product.country_id" cacheImpl="SortedMapBackedCache"> <field column="country" name="country"/> </entity> I tried converting the selected data to SIGNED INTEGER, eg "CONVERT(country_id, SIGNED INTEGER) AS country_id", but this did not have the desired effect. The source database is mysql, the source column for "country_id" is "`country_id` smallint(6) NOT NULL default '0'". Again, I'm not 100% sure that it is even the "country" field that causes this, there are several SortedMapBackedCache sub-entities (but they are all analogous to this one). Thanks in advance Tom