From 34c2c7638b13221d4e1a0c05f571a489ed13b85f Mon Sep 17 00:00:00 2001 From: Endre Zoltan Kovacs Date: Wed, 30 Jan 2019 16:25:07 +0100 Subject: [PATCH] NIFI-5983: handling recordReader parse problems in PutDatabaseRecord --- .../nifi/processors/standard/PutDatabaseRecord.java | 8 +++++++- .../nifi-record-serialization-service-api/pom.xml | 5 +++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutDatabaseRecord.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutDatabaseRecord.java index d79cf3c2126c..214607f82f79 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutDatabaseRecord.java +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutDatabaseRecord.java @@ -16,6 +16,7 @@ */ package org.apache.nifi.processors.standard; +import org.apache.avro.AvroRuntimeException; import com.github.benmanes.caffeine.cache.Cache; import com.github.benmanes.caffeine.cache.Caffeine; import org.apache.commons.lang3.StringUtils; @@ -54,6 +55,8 @@ import org.apache.nifi.serialization.record.RecordField; import org.apache.nifi.serialization.record.RecordSchema; +import com.google.common.base.Throwables; + import java.io.IOException; import java.io.InputStream; import java.sql.BatchUpdateException; @@ -473,8 +476,11 @@ public void onScheduled(final ProcessContext context) { try { if (s == null) { return ErrorTypes.PersistentFailure; + } else if (Throwables.getRootCause(s) instanceof IOException && (s instanceof AvroRuntimeException || s instanceof IllegalStateException) ) { + return ErrorTypes.InvalidInput; + } else { + throw s; } - throw s; } catch (IllegalArgumentException |MalformedRecordException diff --git a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-service-api/pom.xml b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-service-api/pom.xml index 1dfbe4212bf9..28ac62d90eac 100644 --- a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-service-api/pom.xml +++ b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-service-api/pom.xml @@ -32,5 +32,10 @@ org.apache.nifi nifi-record + + org.apache.avro + avro + 1.8.1 +