NIFI-15001 - Fix PutElasticsearchRecord with recursive reads #10334
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
NIFI-15001 - Fix
PutElasticsearchRecord
with recursive readsWhen
PutElasticsearchRecord
processed FlowFiles with batch sizes smaller than the record count, it re-read the FlowFile to build error batches. With recursive reads disabled (the default), the secondsession.read()
triggeredIllegalStateException: FlowFile … already in use
, so entire FlowFiles were routed to failure.The change keeps processing single-pass: every record is cloned exactly once when read from the RecordReader. The mutated copy is used for the Elasticsearch
_bulk
request, while an untouched clone is retained for provenance and error routing. This eliminates the recursive read and keeps RecordPath mutations from leaking into error output.Tracking
Please complete the following tracking steps prior to pull request creation.
Issue Tracking
Pull Request Tracking
NIFI-00000
NIFI-00000
Pull Request Formatting
main
branchVerification
Please indicate the verification steps performed prior to pull request creation.
Build
./mvnw clean install -P contrib-check
Licensing
LICENSE
andNOTICE
filesDocumentation