Excessive ERROR logging on malformed CSV import data

XMLWordPrintable

    • Type: Improvement
    • Resolution: Fixed
    • Priority: Minor
    • Component/s: Datum Import
    • None

      If the JSON data in a datum import is malformed, too many ERROR logs are generated, like:

      com.fasterxml.jackson.core.JsonParseException: Unexpected character ('i' (code 105)): was expecting double-quote to start field name at [Source: (String)"{irradiance:0}"; line: 1, column: 3]     at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1840)     at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:712)     at com.fasterxml.jackson.core.base.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:637)     at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._handleOddName(ReaderBasedJsonParser.java:1782)     at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextFieldName(ReaderBasedJsonParser.java:933)     at com.fasterxml.jackson.databind.deser.std.MapDeserializer._readAndBindStringKeyMap(MapDeserializer.java:500)     at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:364)     at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:29)     at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4202)     at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3205)     at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3188)     at net.solarnetwork.util.JsonUtils.getStringMap(JsonUtils.java:186)     at net.solarnetwork.central.datum.imp.standard.BaseCsvIterator.parseNumberMap(BaseCsvIterator.java:214)     at net.solarnetwork.central.datum.imp.standard.BasicCsvDatumImportInputFormatService$CsvImportContext$CsvIterator.parseRow(BasicCsvDatumImportInputFormatService.java:121)    at net.solarnetwork.central.datum.imp.standard.BasicCsvDatumImportInputFormatService$CsvImportContext$CsvIterator.parseRow(BasicCsvDatumImportInputFormatService.java:107)    at net.solarnetwork.central.datum.imp.standard.BaseCsvIterator.getNext(BaseCsvIterator.java:343)     at net.solarnetwork.central.datum.imp.standard.BaseCsvIterator.hasNext(BaseCsvIterator.java:355)     at net.solarnetwork.central.datum.imp.biz.dao.DaoDatumImportBiz$DatumImportPreview.call(DaoDatumImportBiz.java:510)     at net.solarnetwork.central.datum.imp.biz.dao.DaoDatumImportBiz$DatumImportPreview.call(DaoDatumImportBiz.java:475)     at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)     at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)     at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)     at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)     at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

      These should be logged at WARN at most, without any stacktrace.

            Assignee:
            Matt Magoffin
            Reporter:
            Matt Magoffin
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: