[ 
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)

Reply via email to