Koji Kawamura created NIFI-4004:
-----------------------------------

             Summary: Refactor RecordReaderFactory and SchemaAccessStrategy to 
be used without incoming FlowFile
                 Key: NIFI-4004
                 URL: https://issues.apache.org/jira/browse/NIFI-4004
             Project: Apache NiFi
          Issue Type: Improvement
          Components: Extensions
    Affects Versions: 1.2.0
            Reporter: Koji Kawamura


Current RecordReaderFactory and SchemaAccessStrategy implementation assumes 
there's always an incoming FlowFile available, and use it to resolve Record 
Schema.

That is fine for components those convert or update incoming FlowFiles, however 
there are other components those does not have any incoming FlowFiles, for 
example, ConsumeKafkaRecord_0_10. Typically, ones fetches data from external 
system do not have incoming FlowFile. And current API doesn't fit well with 
these as it requires a FlowFile.

In fact, [ConsumeKafkaRecord creates a temporal 
FlowFile|https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-0-10-processors/src/main/java/org/apache/nifi/processors/kafka/pubsub/ConsumerLease.java#L426]
 only to get RecordSchema. This should be avoided as we expect more components 
start using Record reader mechanism.

This JIRA proposes refactoring current API to allow accessing RecordReaders 
without needing an incoming FlowFile.
Additionally, since there's Schema Access Strategy that requires incoming 
FlowFile containing attribute values to access schema registry, it'd be useful 
if we could tell user when such RecordReader is specified that it can't be used.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to