Uploaded image for project: 'Apache NiFi'
  1. Apache NiFi
  2. NIFI-6947

Add PutRecord processor to leverage RecordSinkService implementations

    XMLWordPrintableJSON

    Details

    • Type: New Feature
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.11.0
    • Component/s: Extensions
    • Labels:
      None

      Description

      The RecordSinkService interface was created as part of NIFI-6780 in order to decouple the generation of status records (via QueryNiFiReportingTask for example) from the transport/format of an external system. Implementations such as SiteToSiteReportingRecordSink, DatabaseRecordSink, and KafkaRecordSink are already in NiFi.

      This Jira proposes a generic PutRecord processor that consists of RecordReader and RecordSinkService controller services, for the purposes of sending the records of an incoming flow file to whatever RecordSinkService implementation is configured by the user. In general this might alleviate the need for "PutExternalSystemXRecord" processors such as PutDatabaseRecord, where a single processor type can be used to send records to any number of external systems for which a RecordSinkService has been implemented. It basically shifts the logic from the processor to the controller service, but if a RecordSinkServiceLookup is implemented, this could offer a more flexible approach to sending records to various systems with fewer components.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                mattyb149 Matt Burgess
                Reporter:
                mattyb149 Matt Burgess
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 1h
                  1h