hi team, Good evening. We are planning to upgrade ...
# general
v
hi team, Good evening. We are planning to upgrade druid version from 23 to 29. So prod has 23 version where it is ignoring invalid rows even without providing option
"ignoreInvalidRows":true
in the json ingestion spec. And when trying to ingest data in lower env with druid v 29 it is giving
Max parse exceptions[0] exceeded.
Do we have any option to ignore invalid rows in v29, please help with the information. Thanks
l
ignoreInvalidRows
is deprecated. You can set ``maxParseExceptions` to Integer.MAX_VALUE to ignore the parse exceptions and get the expected behaviour. By default it is unlimited, so the submitted job is setting it 0 somehow.
v
Thank you for you response @Laksh Singla Will this skip the row just like
ignoreInvalidRows
or will stops processing the file when exception occurred and continue with other file.
k
It will skip the bad rows
v
after adding
maxParseExceptions
to Integer.MAX_VALUE it is still throwing below exeception
Unable to parse value[] for field[FIELD_NAME]
Copy code
exceptions: [Unable to parse value[] for field[FIELD_NAME]]
	at org.apache.druid.segment.incremental.IncrementalIndex.getCombinedParseException(IncrementalIndex.java:714) ~[druid-processing-29.0.1.jar:29.0.1]
	at org.apache.druid.segment.incremental.IncrementalIndex.add(IncrementalIndex.java:551) ~[druid-processing-29.0.1.jar:29.0.1]
	at org.apache.druid.segment.realtime.plumber.Sink.add(Sink.java:213) ~[druid-server-29.0.1.jar:29.0.1]
	at org.apache.druid.segment.realtime.appenderator.AppenderatorImpl.add(AppenderatorImpl.java:309) ~[druid-server-29.0.1.jar:29.0.1]
	at org.apache.druid.segment.realtime.appenderator.BaseAppenderatorDriver.append(BaseAppenderatorDriver.java:430) ~[druid-server-29.0.1.jar:29.0.1]
	at org.apache.druid.segment.realtime.appenderator.BatchAppenderatorDriver.add(BatchAppenderatorDriver.java:116) ~[druid-server-29.0.1.jar:29.0.1]
	at org.apache.druid.indexing.common.task.InputSourceProcessor.process(InputSourceProcessor.java:108) ~[druid-indexing-service-29.0.1.jar:29.0.1]
	at org.apache.druid.indexing.common.task.batch.parallel.PartialSegmentGenerateTask.generateSegments(PartialSegmentGenerateTask.java:207) ~[druid-indexing-service-29.0.1.jar:29.0.1]
	at org.apache.druid.indexing.common.task.batch.parallel.PartialSegmentGenerateTask.runTask(PartialSegmentGenerateTask.java:121) ~[druid-indexing-service-29.0.1.jar:29.0.1]
	at org.apache.druid.indexing.common.task.AbstractTask.run(AbstractTask.java:179) ~[druid-indexing-service-29.0.1.jar:29.0.1]
	at org.apache.druid.indexing.overlord.SingleTaskBackgroundRunner$SingleTaskBackgroundRunnerCallable.call(SingleTaskBackgroundRunner.java:478) ~[druid-indexing-service-29.0.1.jar:29.0.1]
	at org.apache.druid.indexing.overlord.SingleTaskBackgroundRunner$SingleTaskBackgroundRunnerCallable.call(SingleTaskBackgroundRunner.java:450) ~[druid-indexing-service-29.0.1.jar:29.0.1]
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:131) ~[guava-32.0.1-jre.jar:?]
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:75) ~[guava-32.0.1-jre.jar:?]
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:82) ~[guava-32.0.1-jre.jar:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?]
	at java.lang.Thread.run(Thread.java:834) ~[?:?]