[
https://issues.apache.org/jira/browse/NIFI-4142?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16089956#comment-16089956
]
ASF GitHub Bot commented on NIFI-4142:
--------------------------------------
Github user joewitt commented on a diff in the pull request:
https://github.com/apache/nifi/pull/2015#discussion_r127738912
--- Diff:
nifi-commons/nifi-record/src/main/java/org/apache/nifi/serialization/RecordReader.java
---
@@ -38,14 +38,35 @@
public interface RecordReader extends Closeable {
/**
- * Returns the next record in the stream or <code>null</code> if no
more records are available.
+ * Returns the next record in the stream or <code>null</code> if no
more records are available. Schema enforcement will be enabled.
*
* @return the next record in the stream or <code>null</code> if no
more records are available.
*
* @throws IOException if unable to read from the underlying data
* @throws MalformedRecordException if an unrecoverable failure occurs
when trying to parse a record
+ * @throws SchemaValidationException if a Record contains a field that
violates the schema and cannot be coerced into the appropriate field type.
*/
- Record nextRecord() throws IOException, MalformedRecordException;
+ default Record nextRecord() throws IOException,
MalformedRecordException {
--- End diff --
we should indicate whether the scheme enforcement strictness is 'lenient'
or 'strict'.
> Implement a ValidateRecord Processor
> ------------------------------------
>
> Key: NIFI-4142
> URL: https://issues.apache.org/jira/browse/NIFI-4142
> Project: Apache NiFi
> Issue Type: New Feature
> Components: Extensions
> Reporter: Mark Payne
> Assignee: Mark Payne
> Fix For: 1.4.0
>
>
> We need a processor that is capable of validating that all Records in a
> FlowFile adhere to the proper schema.
> The Processor should be configured with a Record Reader and should route each
> record to either 'valid' or 'invalid' based on whether or not the record
> adheres to the reader's schema. A record would be invalid in any of the
> following cases:
> - Missing field that is required according to the schema
> - Extra field that is not present in schema (it should be configurable
> whether or not this is a failure)
> - Field requires coercion and strict type checking enabled (this should also
> be configurable)
> - Field is invalid, such as the value "hello" when it should be an integer
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)