-
Notifications
You must be signed in to change notification settings - Fork 2.9k
NIFI-14110 Support to limit content size in PackageFlowFile #9595
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
nifi-commons/nifi-utils/src/main/java/org/apache/nifi/processor/util/FlowFileFilters.java
Show resolved
Hide resolved
|
I recommend modifying a MultiProcessorUseCase or creating another UseCase in order to make the documentation for combining the two Batch Size properties clear. It's very important to be clear that flowfiles will not be delayed in the input queue waiting for a batch size to be reached. It's also very important to support packaging exactly 1 flowfile. While this improvement appears to be worthwhile, we should be very careful with configuration creep on PackageFlowFile. It's only justification for existence is to be easier to use than MergeContent for a specific use case. Too many features would ruin that justification. |
|
Thank you for the useful feedback @mosermw. I've adjusted the documentation of the UseCases to clarify the batching behaviour of the processor.
Personally I do not intent to add other properties to the processor at the moment. |
mosermw
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I reviewed and tested this in various scenarios in running NiFi and just have a few minor comments.
nifi-commons/nifi-utils/src/main/java/org/apache/nifi/processor/util/FlowFileFilters.java
Show resolved
Hide resolved
nifi-commons/nifi-utils/src/test/java/org/apache/nifi/processor/util/FlowFileFiltersTest.java
Outdated
Show resolved
Hide resolved
...i-standard-processors/src/main/java/org/apache/nifi/processors/standard/PackageFlowFile.java
Outdated
Show resolved
Hide resolved
...i-standard-processors/src/main/java/org/apache/nifi/processors/standard/PackageFlowFile.java
Show resolved
Hide resolved
...i-standard-processors/src/main/java/org/apache/nifi/processors/standard/PackageFlowFile.java
Show resolved
Hide resolved
...i-standard-processors/src/main/java/org/apache/nifi/processors/standard/PackageFlowFile.java
Outdated
Show resolved
Hide resolved
908427e to
55e7e3f
Compare
|
Thank you for your review @mosermw. Apologies for the delayed response. I've now addressed the feedback. The pull request has been rebased onto the latest main commit, resolving all conflicts. I'd appreciate an review of the updated changes. |
Due to using a different API to retrieve the FlowFiles the behaviour when working with multiple queues is no longer unspecified. Enhance tests to ensure FlowFiles are rejected once size limit was reached Explain batching behaviour in UseCases
55e7e3f to
fdeee10
Compare
|
Sorry it took so long to review this @EndzeitBegins. I tested this again and the functionality and documentation looks good. Code looks good. |
Due to using a different API to retrieve the FlowFiles the behaviour when working with multiple queues is no longer unspecified. Enhance tests to ensure FlowFiles are rejected once size limit was reached Explain batching behaviour in UseCases Signed-off-by: Mike Moser <mosermw@apache.org> Closes apache#9595
Due to using a different API to retrieve the FlowFiles the behaviour when working with multiple queues is no longer unspecified.
I had an circular dependency problem when depending on
nifi-mockfromnifi-utils, which is why I use an anonymous implementation ofFlowFileinside the tests instead ofMockFlowFile.Summary
NIFI-14110
Tracking
Please complete the following tracking steps prior to pull request creation.
Issue Tracking
Pull Request Tracking
NIFI-00000NIFI-00000Pull Request Formatting
mainbranchVerification
Please indicate the verification steps performed prior to pull request creation.
Build
mvn clean install -P contrib-checkLicensing
LICENSEandNOTICEfilesDocumentation