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)