You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Kotaro Terada (Jira)" <ji...@apache.org> on 2020/09/03 07:16:00 UTC

[jira] [Commented] (NIFI-7728) FetchS3Object gets stuck with Key cannot be empty

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

Kotaro Terada commented on NIFI-7728:
-------------------------------------

Hi,

We've been able to reproduce this issue, confirmed that other S3 processors (such as PutS3Object or DeleteS3Object ...) send such flowfiles to failure. Please let us work on it.

> 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
>            Priority: Major
>         Attachments: 2020-08-11_17-21-52.png, 2020-08-11_17-23-51.png
>
>
> 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)