This is an automated email from the ASF dual-hosted git repository.

exceptionfactory pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/main by this push:
     new 4d32a455e69 NIFI-14472 Fixed potential NullPointerException in 
PutKinesisFirehose (#11211)
4d32a455e69 is described below

commit 4d32a455e694fbca8fc2a3373e144c9d21f4ec7b
Author: Rakesh Kumar Singh <[email protected]>
AuthorDate: Tue May 19 01:55:12 2026 +0530

    NIFI-14472 Fixed potential NullPointerException in PutKinesisFirehose 
(#11211)
    
    - Collapsed two-step computeIfAbsent/get into a single chained call in 
PutKinesisFirehose to eliminate the redundant map lookup.
    
    Signed-off-by: David Handermann <[email protected]>
---
 .../nifi/processors/aws/kinesis/firehose/PutKinesisFirehose.java   | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git 
a/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/kinesis/firehose/PutKinesisFirehose.java
 
b/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/kinesis/firehose/PutKinesisFirehose.java
index 25d6e027c49..fa2fa1396f9 100644
--- 
a/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/kinesis/firehose/PutKinesisFirehose.java
+++ 
b/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/kinesis/firehose/PutKinesisFirehose.java
@@ -134,8 +134,11 @@ public class PutKinesisFirehose extends 
AbstractAwsSyncProcessor<FirehoseClient,
             for (final FlowFile flowFile : flowFiles) {
                 final String firehoseStreamName = 
context.getProperty(KINESIS_FIREHOSE_DELIVERY_STREAM_NAME).evaluateAttributeExpressions(flowFile).getValue();
 
-                recordHash.computeIfAbsent(firehoseStreamName, k -> new 
ArrayList<>());
-                session.read(flowFile, in -> 
recordHash.get(firehoseStreamName).add(Record.builder().data(SdkBytes.fromInputStream(in)).build()));
+                session.read(flowFile, in ->
+                        recordHash
+                                .computeIfAbsent(firehoseStreamName, k -> new 
ArrayList<>())
+                                
.add(Record.builder().data(SdkBytes.fromInputStream(in)).build())
+                );
 
                 final List<FlowFile> flowFilesForStream = 
hashFlowFiles.computeIfAbsent(firehoseStreamName, k -> new ArrayList<>());
                 flowFilesForStream.add(flowFile);

Reply via email to