NIFI-16204 Add KafkaProvenanceReportingTask - #11544
Conversation
exceptionfactory
left a comment
There was a problem hiding this comment.
Thanks for proposing this new feature @thomews.
Before providing evaluating the code itself, please review the pull request requirements and push an update to the branch with signed commits.
exceptionfactory
left a comment
There was a problem hiding this comment.
Thanks for making the initial updates @thomews.
On a general review, I'm not sure that this is an optimal candidate for inclusion in the project. The properties provide a large number of configuration options on one hand, which can be helpful, but also highlight the complex nature of the implementation. There are also a number of opinionated selections in the implementation, such as field names and JSON formatting. These may be optimal for a number of use cases, but they also highlight the challenge of supporting a generic capability.
There are other issues, like the use of the Jakarta JSON API, versus Jackson, and other more minor implementation concerns.
|
Thanks for the feedback @exceptionfactory. We have already addressed the JSON API concern and switched from Jakarta JSON to Jackson. Regarding the configuration complexity, one possible direction would be to move the Kafka connection and Record Writer configuration into a separate KafkaRecordSink Controller Service and have the Reporting Task consume a RecordSinkService. This would simplify the Reporting Task configuration, while also separating the provenance reporting concerns from the Kafka-specific configuration. The question would be whether the Reporting Task should become destination-agnostic, since any RecordSinkService could then be selected. Do you think this would be a better fit for the concerns you raised around configuration complexity? |
Summary
NIFI-16204
Tracking
Please complete the following tracking steps prior to pull request creation.
Issue Tracking
Pull Request Tracking
NIFI-00000NIFI-00000VerifiedstatusPull Request Formatting
mainbranchVerification
Please indicate the verification steps performed prior to pull request creation.
Build
./mvnw clean install -P contrib-checkLicensing
LICENSEandNOTICEfilesDocumentation