[ 
https://issues.apache.org/jira/browse/NIFI-7728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17192043#comment-17192043
 ] 

Shogo Matsuda commented on NIFI-7728:
-------------------------------------

I have created [PR#4515|https://github.com/apache/nifi/pull/4515] to fix this 
issue.

I added Empty check instead of catching IllegalArgumentException which is 
raised by AWS Client.

> FetchS3Object gets stuck with Key cannot be empty
> -------------------------------------------------
>
>                 Key: NIFI-7728
>                 URL: https://issues.apache.org/jira/browse/NIFI-7728
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: Core Framework
>    Affects Versions: 1.11.4
>            Reporter: Gordeev Artem
>            Assignee: Kotaro Terada
>            Priority: Major
>         Attachments: 2020-08-11_17-21-52.png, 2020-08-11_17-23-51.png
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> When setting property *Object Key* of *FetchS3Object* in flow file attribute 
> expression language and it evaluates as empty string (or null) processor 
> throws *IllegalArgumentException: Key cannot be empty*. FlowFiles gets stuck 
> and penalized infinitely.
>  
> FlowFiles must transfer into *failure* relation in that case.
> !2020-08-11_17-21-52.png|width=1467,height=488!
> !2020-08-11_17-23-51.png|width=569,height=399!
>  
>  
>  
> {noformat}
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at org.apache.nifi.engine.FlowEngine$2.run(FlowEngine.java:110)
> at 
> org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:213)
> at 
> org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1176)
> at 
> org.apache.nifi.processors.aws.s3.FetchS3Object.onTrigger(FetchS3Object.java:159)
> at 
> com.amazonaws.services.s3.AmazonS3Client.getObject(AmazonS3Client.java:1436)
> at 
> com.amazonaws.util.ValidationUtils.assertStringNotEmpty(ValidationUtils.java:89)
> java.lang.IllegalArgumentException: Key cannot be empty
> apache-nifi-1 log: 2020-08-11 13:24:26,943 ERROR [Timer-Driven Process 
> Thread-10] o.a.nifi.processors.aws.s3.FetchS3Object 
> FetchS3Object[id=50445e3e-d1a8-1269-0000-0000227b631b] 
> FetchS3Object[id=50445e3e-d1a8-1269-0000-0000227b631b] failed to process 
> session due to java.l{noformat}
>  
> Maybe should add _*| IllegalArgumentException*_ at line 
> [https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/s3/FetchS3Object.java#L209]
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to